0

这让我完全发疯了。我已经设置了一个 FB 应用程序并通过访问:https ://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET 来检索访问令牌。

现在我想从这个 URL 获取一个(公开可用的)提要:https ://graph.facebook.com/PAGE_OR_USER_ID/feed?access_token=ACCESS_TOKEN

当我使用我自己的用户 ID 尝试它时它工作正常,甚至当我尝试另一个随机页面时它工作正常,但是当我输入我需要它使用的 PAGE_ID 时它不起作用。

这里有些例子:

这很好用(我的一个朋友的 Facebook 页面): https ://graph.facebook.com/tatchit/feed?access_token=213451182120494|JgAwuCE74lh51t1pKMuRM2mz3GU&limit=10&offset=0

这也很好用(我自己的 Facebook ID): https ://graph.facebook.com/al.dev.7/feed?access_token=213451182120494|JgAwuCE74lh51t1pKMuRM2mz3GU&limit=10&offset=0

这不起作用(客户的 Facebook 页面): https ://graph.facebook.com/142616539131188/feed?access_token=213451182120494|JgAwuCE74lh51t1pKMuRM2mz3GU&limit=10&offset=0

我没有收到任何错误,但结果为空。

如果我尝试使用 Graph API Explorer,它也可以正常工作: https ://developers.facebook.com/tools/explorer/?method=GET&path=142616539131188%2Ffeed

但如果我输入自己的访问令牌,则不会。据我了解,您在 API Explorer 中获得的访问令牌是临时的,所以我不想使用它。

怎么会这样?

还。多年来,我一直在努力理解整个访问令牌、客户端 ID、应用 ID 业务 - 是否有一个很好的教程来解释所有这些内容?我从来没有做过没有问题的工作。

谢谢

4

2 回答 2

1

您正在使用应用程序访问令牌而不是用户访问令牌。您正在查看的某些页面可能设置了国家或年龄限制,因此无法使用应用令牌。

请参阅:http: //developers.facebook.com/docs/concepts/login/access-tokens-and-types/

于 2012-11-14T10:36:18.450 回答
1

您应该对上述所有查询使用用户访问令牌。当您想要执行诸如检查应用程序洞察力之类的操作时,将使用应用程序访问令牌。

当页面有年龄限制什么的时候,app token 将无法通过,但是由于用户已经是页面的成员,您可以使用 user access token 来获取数据。

添加:引用文档,

Note that the **app access token** is for publishing purposes permitted by the publish_actions and publish_stream permissions. You will be **unable to retrieve information** about the status update post with the given ID using the app access token. Instead, you should use a **user access token** for such purposes.

应用程序访问令牌的其他功能 可以使用应用程序访问令牌从 Facebook 检索一组有限的信息。

    Basic Profile Info of a User (ID, Name, Username, Gender)
    A User’s Friends and their IDs
    Permissions granted by the User to your App

阅读:https ://developers.facebook.com/docs/opengraph/using-app-tokens/

因此,您应该使用 user_access 令牌进行查询以访问您正在查找的所有信息,而不是使用应用程序 access_token。

于 2012-11-14T10:43:05.097 回答