0

我想创建一个非常基本的 C# 应用程序,它可以获取 Facebook 用户配置文件的公开可用信息。我已经阅读了几页 Graph API,但有一个问题。在这里,您可以看到一个包含各种公开信息的用户配置文件:

http://tr-tr.facebook.com/people/A-Altan-Yurt/100002356385895

但是,我无法通过此链接使用 Graph API 获取所有这些信息:

https://graph.facebook.com/100002356385895

我尝试抓取页面,但返回的文档不包含任何有用的信息。由于所有这些信息都是公开的,我认为不应该对它们进行访问限制。我在这里做错了什么?

4

1 回答 1

1

是的,即使是公共可访问的数据也不能只在 facebook 界面之外获取。

为了获取数据,您需要一个有效的访问令牌,例如,如果您尝试使用同一用户提要的 url,您将获得:

{
   "error": {
      "message": "An access token is required to request this resource.",
      "type": "OAuthException",
      "code": 104
   }
}

您可以使用 Graph API Explorer尝试相同的 url ,在您授权此应用程序后,它将具有访问令牌,您将获得该用户的公共提要。

那里使用的访问令牌(在 API Explorer 中)是一个应用访问令牌,这可能是最容易获得的令牌,这是关于Authenticating as an App的文档。获得访问令牌后,您就可以开始查询图形 api 并获取公共数据。

您可以使用其他访问令牌类型(例如用户令牌)来执行此操作。


编辑

即使事情对 facebook 上的用户是公开的,它们对应用程序也不公开,您需要请求正确的权限,比如说教育 (user_education_history)。

您可以在User 对象的文档中准确查看每个字段所需的权限,在字段表中,第 3 列标题为Permissions,您将看到每个字段所需的权限。

于 2012-04-15T20:37:51.147 回答