页面的Facebook访问令牌


115

我有一个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作为回报...


要获取事件,我现在执行此操作(access_token大量过期):1-从Graph Explorer获取令牌2-将其粘贴到下面的代码中:var authToken = 'THE_CODE_I_GOT'; var feedQuery = 'graph.facebook.com/MY_PAGE_ID/feed'; var feedURL = feedQuery +'?access_token='+ authToken +'&callback=?'; $.getJSON(feedURL,function(data){ var d = data.data; for(i = 0; i <d.length; i ++){d [i] .message?$(“#list”)。append('<li>'+ d [i] .message +'</ li>'):''; //还有很多其他东西,你知道了}});`
退役

Answers:


269
  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

1
这样,我就可以仅使用其中一个页面的页面令牌来调用我所有页面上的连接。这不是错吗?有没有一种方法可以为仅在特定页面上无法在其他页面上使用的令牌获取令牌?
andresp 2012年

112
我已经爬过山,在大海里游泳,只是为了寻找答案。谢谢。
IMB 2012年

15
此过程不再起作用,因为无论出于何种原因注销时生成的访问令牌都会过期。
康尼比尔

1
@coneybeare,请参阅此文档,了解如何扩展页面访问令牌
ifaour 2013年

1
我不断得到空洞的结果。如果它是一个应用程序页面,会有所不同吗?
2014年


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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.