如何通过代码获取页面访问令牌?

11
我需要为我拥有的网页生成一个页面访问令牌,这个令牌将被网页用来发布到其Facebook页面中。具体步骤如下:
1. 进入Graph API Explorer。 2. 从下拉菜单中选择我的应用程序。 3. 点击“获取访问令牌”。 4. 选择正确的权限(manage_pages/user_events)。 要获取 Page Access Token ,我必须在Graph API Explorer中运行 me/accounts 。这将显示我获得的所有页面,并为每个页面提供一个新的页面访问令牌(短期有效(约60分钟))。
这个 Page Access Token 可以很好地在我的C#代码中使用,以发布到feed中。
问题是,当另一个用户使用我的网页发布文章时,我需要生成一个新的 Page Access Token (在代码中),然后使用它将用户发布的内容发布到网站的Facebook feed中。问题是,我显然不能在那里授予发布,那么我该如何处理?
我显然不能运行me/accounts命令来获取此处的页面访问令牌
我已经查看了扩展访问令牌,但这将持续60天,然后会出现与上述相同的问题。

为什么不能使用/me/accounts? - andyrandy
我怀疑运行/me/accounts/时,它会根据“我”到Facebook获取数据。因此,如果另一个用户在另一台计算机上发布网站上的内容,它将要求该人的帐户而不是我的(管理员)帐户,并且它将找不到任何访问令牌。此外,它将要求其他用户登录Facebook,这不是我想要的。我只想让我的网页发布到网页的Facebook动态,而不涉及触发我网页上的操作(发布论坛帖子)的用户。 - Banshee
好的,现在我明白了。所以你想要存储页面令牌并将其用于每个其他用户? - andyrandy
2个回答

14
您需要的是扩展页面令牌:

扩展页面令牌永久有效,因此您不需要一直生成新的。

来源(包括有关所有令牌的信息):http://www.devils-heaven.com/facebook-access-tokens/


如何使用/me/accounts命令运行扩展用户令牌? - Banshee
2
/me/accounts?access_token=xxxx - andyrandy
我看到了关于新版Facebook API的一些内容?这在新版本中仍然有效吗? - Banshee
1
是的,那部分没有改变:https://developers.facebook.com/docs/apps/changelog - andyrandy
太好了!我花了3天时间才找到一个回答这个问题的人。谢谢你。 - MagicLAMP
很棒的解决方案。我仍然对Facebook缺乏文档感到非常惊讶。永远不可能找到所需的信息。 - Federico Schiocchet

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接