我真的无法理解为什么在某些 Facebook 对象上(更具体地说:用户帖子),当使用应用程序通过 OAuth 获取的 access_token 时,Graph API 返回 false,而不是使用用户 access_token。
我这里有一个例子: https://graph.facebook.com/10150158049595775?access_token=XXXXXXXXXX
此帖子是公开的,我与该用户没有共同朋友。
如果您尝试使用通过通常的 Facebook OAuth 方案获得的令牌来访问上面的 url,服务器将返回“false”。
如果您使用用户访问令牌,例如 FB 通过访问本页中的示例为您提供的令牌 http://developers.facebook.com/docs/reference/api/,Graph API 会正确为您提供用户的帖子详细信息。
我相信这不是需要扩展权限的问题,首先是因为上面的帖子是公开的,其次是因为为了测试,我尝试通过询问所有用户权限来使我的应用程序生成令牌(是的,在开发人员身上找到的所有权限) .facebook.com/docs/authentication/permissions/),答案始终是“假”。
我假设这篇文章是“Facebook上的所有人都可以看到”,这可能是Facebook接受用户
access_token
(即以用户身份查看帖子)而不接受申请的原因access_token
。
另请注意,这无需
access_token
即可工作(如果您在前面添加所有者 ID):
https://graph.facebook.com/752020774_10150158049595775
我猜测这被视为“公开访问”