Facebook 页面访问令牌

问题描述 投票:0回答:4

我有一个 Facebook 页面,我想从中获取一些东西。首先是提要,据我所知,它们是公开的(不需要 access_token)。但我也想获取事件......并且它们不是公开的并且需要 access_token。

我不希望用户登录 Facebook 或类似的东西。我只想从这个唯一的页面推送所有可以的数据。这就是为什么我已经放弃了我在这里找到的许多示例以及 https://developers.facebook.com/blog/post/500/ 上的示例,因为他们希望用户登录或需要一些我不感兴趣的用户操作.

我想要的是我的 Facebook 应用程序拥有完全的授权和 access_token 来推送我拥有的这个 Facebook 页面(管理员)的数据。这可能吗?我已经尝试了很多方法,但似乎没有任何效果。

我尝试点击此:https://www.facebook.com/dialog/oauth?client_id=150635421702954&redirect_uri=http://MY_URL/&scope=manage_pages&response_type=token&fields=access_token - 将 MY_URL 更改为我的网站并请求授权编辑我拥有的每个页面。即使不是我想要的,我点击了但没有 access_token 作为回报......

facebook facebook-graph-api oauth access-token facebook-page
4个回答
273
投票
  1. 转到Graph API Explorer
  2. 从下拉菜单中选择您的应用程序
  3. 单击“获取访问令牌”
  4. 选择
    manage_pages
    权限(您可能也需要
    user_events
    权限,不确定)
  5. 现在访问
    me/accounts
    连接并复制页面的
    access_token
  6. 点击您页面的 ID
  7. 将页面的
    access_token
    添加到 GET 字段
  8. 拨打您想要的连接(例如:
    PAGE_ID/events

16
投票

如果您想授予 Facebook 应用程序对页面的永久访问权限(即使您/应用程序所有者已注销),请参阅此处:

http://developers.facebook.com/docs/opengraph/using-app-tokens/

“应用程序访问令牌不会过期,除非您通过应用程序设置刷新应用程序密钥。”


5
投票

这方面的文档非常好,即使不是有点难找到。

Facebook Graph API - 页面令牌

初始化节点的fbgraph后,您可以运行:

var facebookAccountID = yourAccountIdHere 

graph
.setOptions(options)
.get(facebookAccountId + "/accounts", function(err, res) {
  console.log(res); 
});

并接收带有您想要获取的令牌的 JSON 响应,位于:

res.data[0].access_token

0
投票

我尝试从 Graph API Explorer 检索页面访问令牌,但没有选择页面的选项。

原来我不是该页面的管理员。我是 Facebook 应用程序的管理员,该应用程序可以访问 Facebook 页面,使我也能够访问该页面。这造成了混乱和混乱。

© www.soinside.com 2019 - 2024. All rights reserved.