我有一个 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 作为回报......
manage_pages
权限(您可能也需要 user_events
权限,不确定)me/accounts
连接并复制页面的 access_token
access_token
添加到 GET 字段PAGE_ID/events
)如果您想授予 Facebook 应用程序对页面的永久访问权限(即使您/应用程序所有者已注销),请参阅此处:
http://developers.facebook.com/docs/opengraph/using-app-tokens/
“应用程序访问令牌不会过期,除非您通过应用程序设置刷新应用程序密钥。”
这方面的文档非常好,即使不是有点难找到。
初始化节点的fbgraph后,您可以运行:
var facebookAccountID = yourAccountIdHere
graph
.setOptions(options)
.get(facebookAccountId + "/accounts", function(err, res) {
console.log(res);
});
并接收带有您想要获取的令牌的 JSON 响应,位于:
res.data[0].access_token
我尝试从 Graph API Explorer 检索页面访问令牌,但没有选择页面的选项。
原来我不是该页面的管理员。我是 Facebook 应用程序的管理员,该应用程序可以访问 Facebook 页面,使我也能够访问该页面。这造成了混乱和混乱。