red*_*nce 113 facebook facebook-graph-api facebook-access-token
我知道有很多关于Facebook访问令及其引起的悲痛的问题,但尽管进行了大量实验并阅读了许多令人沮丧的模糊博客文章(FB等),我仍然在努力为我的需求做出明确的回答.到目前为止,让我简洁地分解我的过程:
而这就是我被困的地方.我的60天密钥适用于我的服务器从页面中提取所需的信息,但据我所知,没有办法以编程方式扩展该60天密钥.我也不知道如何生成新的短期密钥,而无需手动访问Facebook Graph API Explorer并创建一个.
由于我的服务器向Facebook API发出请求而不是基于用户的系统(我可以轻松地请求用户再次授权Facebook应用程序),这会创建一个非常笨重的系统.由于Facebook已offline_access被弃用,是否真的没有永久的方法让我的服务器从我自己的页面提取信息?我是否真的需要手动创建一个新密钥并每60天手动更新一次我的服务器?
还是有什么我想念的?
更新:
之前在此处找到的分步指南已经迁移到自己的答案中.
red*_*nce 183
这些是以前在问题中的步骤 - 他们已经迁移到这个答案.
发现可以生成一个未过期的Facebook页面访问令牌(在@Igy的帮助下),这里有一个明确的,逐步的信息给所有看起来相同的人:
manage_pages权限https://graph.facebook.com/oauth/access_token?client_id=<your FB App ID >&client_secret=<your FB App secret>&grant_type=fb_exchange_token&fb_exchange_token=<your short-lived access token>https://graph.facebook.com/me/accounts?access_token=<your long-lived access token>access_token你要从中提取信息的页面Expires: Never!应该这样做.您现在应该拥有一个不会过期的Facebook页面访问令牌,除非:
其中任何一个都会导致访问令牌失效.
如果您要获取(#100) Tried accessing nonexisting field (accounts) on node type (Page),请转到访问令牌调试器,复制值User ID,并使用它来替换步骤9中URL的"我"部分.
Igy*_*Igy 15
这在Offline Access弃用文档中介绍
使用页面管理员的60天令牌来检索页面访问令牌(通过/PAGE_ID?fields=access_token或/me/accounts) - 页面访问令牌将没有到期时间
我最近试图实现类似的东西(与本主题中描述的用例类似),但我想确保尊重 Facebook 的当前政策,所以我做了一些研究,在这里我将分享我的发现。
因此,正如我已经说过的,我的用例与此处描述的用例非常相似;那是:
在我看来,这是一个合法的用例,但我不确定如何以符合 Facebook 政策的方式实施它。
我按照已接受的答案的步骤进行操作并且它起作用了,只是事情似乎发生了变化:现在,即使生成的页面令牌没有过期,也会access to data在大约 60 天后过期。如果您按照该过程并检查FB 令牌调试器工具中的页面令牌,您也会看到这一点。
此外,生成的页面令牌与用户帐户绑定的事实也是不幸的,因为如果用户更新他/她的密码,那么页面令牌也会失效。
经过几个小时的研究,我偶然发现了以下 Facebook 文档文章:直接业务的业务登录。
事实证明,现在可以按照上述文章中描述的步骤生成与任何特定 Facebook 用户帐户无关且不会过期的页面令牌(除非 FB 应用程序被删除或底层应用程序令牌被删除了,你知道...)
所以这里是步骤和最重要的部分:
manage_pages和publish_pages。
GET /<PAGE_ID>?fields=access_token&access_token=<SYSTEM_USER_ACCESS_TOKEN>
Run Code Online (Sandbox Code Playgroud)
该令牌永远不会过期,也不会绑定到特定的 Facebook 用户,所以这正是我们所需要的!
最后一部分是确保您的 Facebook 应用获得 Facebook 的批准。这实际上是最重要的部分,因为如果人们看不到我们的帖子,整个过程就毫无价值。
我想确定我可以依靠上述程序为我的客户构建一些东西,而 Facebook 最终不会拒绝它,所以,事先(即在开始处理我客户的项目之前),我经历了整个过程创建页面、应用程序、商务经理帐户等。我验证了我的业务。我提交了我的应用程序以供审核。在我的请求中,我对我的用例非常具体,并强调该应用程序是为了“自用”(即该组织正在为自己开发应用程序,而不是为其他 Facebook 用户开发)。我在不到 24 小时内就获得了批准。
关于应用审查过程的其他一些注意事项:
curl实用程序在终端中进行了手动操作(生成页面令牌并向 Facebook 页面发布帖子)。我还展示了我如何使用 Business Manager 将系统用户链接到页面并生成令牌,等等。我希望这些信息对有类似用例的人有用。
| 归档时间: |
|
| 查看次数: |
43767 次 |
| 最近记录: |