我正在使用Facebook C#API创建一个应用程序.
我想阅读这面墙上的数据,但是当我调用API并且基本上点击此URL:https://graph.facebook.com/123176767150时,我收到此错误:
{
"error": {
"type": "OAuthException",
"message": "An access token is required to request this resource."
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我需要身份验证才能获取我可以看到的公共数据而无需登录Facebook帐户?
BeR*_*ive 10
因为Facebook并不介意您作为用户看到此信息,但不希望应用程序能够收集数据.显然,使用图形api将每个人的姓名从他们的帖子中删除到组墙(假设)比手动执行它要快得多.没有access_token的唯一公开可用信息是基本用户信息(这仅适用于用户而不是任何其他对象).为了达到你想要的效果,你必须获得一个access_token.
这与用户在登录Facebook时可以看到任何人的朋友这一事实相同,但作为一个应用程序,您只能看到授权用户的朋友.
但是,您可以通过以下方法进行身份验证,以便能够访问非用户特定的私人信息,从而对您的应用程序进行身份验证:
发出GET请求:
https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET
Run Code Online (Sandbox Code Playgroud)Facebook回归:
access_token=SOME_TOKEN
Run Code Online (Sandbox Code Playgroud)使用此令牌作为访问令牌,它应该允许您访问该组.我用我的应用程序对此进行了测试,可以确认它是否有效.
您可以通过请求申请隔离墙信息:
https://graph.facebook.com/123176767150/feed?access_token=SOME_TOKEN
Run Code Online (Sandbox Code Playgroud)请参阅此处的Authenticating as an Application部分
| 归档时间: |
|
| 查看次数: |
2165 次 |
| 最近记录: |