javascript - Facebook API - 访问 token 适用于某些请求

标签 javascript facebook-graph-api

这让我彻底发疯了。我已经设置了一个 FB 应用程序并通过访问检索访问 token :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 时,它不起作用。

以下是一些示例:

这很好用(我 friend 的 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

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

怎么会这样?

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

谢谢

最佳答案

您应该对上述所有查询使用用户访问 token 。当您想要执行诸如检查应用程序见解之类的操作时,请使用应用程序访问 token 。

当页面有年龄限制等时,应用 token 将无法通过,但由于用户已经是该页面的成员,因此您可以使用用户访问 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.

应用访问 token 的其他功能 使用应用程序访问 token 可以从 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 token 进行查询以访问您正在查找的所有信息,而不是使用应用程序 access_token。

关于javascript - Facebook API - 访问 token 适用于某些请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13376466/

相关文章:

javascript - ion-content 的滚动问题

javascript - DOM level 2 相对于 DOM level 0 的优势是什么?

java - Android 获取 facebook 电子邮件地址

php - 使用 PHP 的 Facebook 封面照片 API

javascript - 如何检测文本区域中的自动换行

javascript - 如何在索引不连续的数组中同时按索引删除多个元素?

java - 使用复杂对象作为参数从 Java 中调用 JavaScript 函数

ios - FBSDKProfilePictureView 的上下文 0x0 无效

ios - "fb:explicitly_shared"和 "no_feed_story"参数有什么区别?

facebook - 如何修复 Facebook 共享对话框中的 "requires valid redirect URI"?