在没有登录弹出窗口的情况下获取Facebook用户访问令牌

时间:2014-05-15 07:30:44

标签: c# .net facebook facebook-graph-api

我正在使用Facebook SDK for .Net来获取Facebook页面的帖子,喜欢和评论。这项工作非常出色。

然而,当我尝试将帖子发布到页面时 - 它在oauth 2500异常时失败。

经过一些研究后,我了解到我需要通过登录弹出确认我是该页面上的管理员来获得扩展权限(" publish_stream")。

那很好。

但是,我正在使用自动发布帖子和图片的服务。

我使用的服务是使用C#在VS2013中开发的。

有没有办法让用户访问令牌在没有登录弹出窗口的情况下在页面上发布帖子。

还有其他文章提到使用网络浏览器控件登录和拦截导航事件。

其他提及使用HttpWebRequest。

这些帖子相当陈旧 - 我想知道是否有不同的技术。

1 个答案:

答案 0 :(得分:1)

您可以使用页面访问令牌发布到页面,如此处的文档中所述:https://developers.facebook.com/docs/graph-api/reference/v2.0/page/feed/#publish

  

可以使用具有publish_actions权限的页面访问令牌   代表该页面发布新帖子。

您可以通过发出

来获取页面访问令牌
GET /me/accounts

拥有publish_actions权限(请参阅此处的文档:https://developers.facebook.com/docs/facebook-login/access-tokens/)。然后,将短期令牌换成长寿令牌:

GET /oauth/access_token?  
    grant_type=fb_exchange_token&           
    client_id={app-id}&
    client_secret={app-secret}&
    fb_exchange_token={short-lived-token} 

如此处所述:https://developers.facebook.com/docs/facebook-login/access-tokens/#extending