永不过期的Facebook页面访问令牌

6

我一直在寻找一种方法来创建一个永不过期的FaceBook页面访问令牌。我看到了提供AppID | AppSecret代替令牌的选项,但这需要您提交应用程序进行批准,而Facebook似乎不理解其他应用程序使用令牌的概念。无论如何,查看下面的答案,了解我是如何找到这样做的。


1
所以我改了一下让你满意。另外,根据实际的Facebook访问令牌工具,你关于无法获得永不过期的令牌是错误的。请看我的回答中的第9点 - 我没有屏幕截图。在打开的访问令牌调试器中,点击页面底部的“延长访问令牌”按钮。应该会显示一个新的访问令牌,并且其上方的文本应该说它永远不会过期。 - George M Ceaser Jr
不,这篇文章不是关于那个的 - 它是关于一个永不过期的页面访问令牌。请看我在下面发布的来自Facebook访问令牌工具的截图,显示使用此方法生成的我的令牌永不过期。 - George M Ceaser Jr
我无法确定FaceBook产品是否存在漏洞。我只能说它目前正在运行,并将继续测试60天。在60天后,我会更新帖子以查看其是否过期。 - George M Ceaser Jr
2
这是一个关于真实世界问题的合法开发者问题。有些公司想要提取他们的页面信息数据,使用定时脚本和非过期令牌加载到数据仓库中。对于这个问题,已经有一些发布的解决方法,比如https://www.rocketmarketinginc.com/blog/get-never-expiring-facebook-page-access-token/#updated2018 和 https://medium.com/@Jenananthan/how-to-create-non-expiry-facebook-page-token-6505c642d0b1。对于这些解决方法是否存在漏洞进行吹毛求疵并不具有建设性。 - Braintapper
2
只是提醒一下 - 距离我创建这个令牌已经快三个月了,它仍然有效。在90天过期后,我将积极观察和测试它,以确定它是否真的是一个永不过期的令牌。 - George M Ceaser Jr
显示剩余6条评论
2个回答

17

在拼凑了许多不同的解决方案后,我做了这个,它似乎有效。 我假设你只想要一个令牌用于单个页面,并且你已经设置好了Facebook应用程序页面。

  1. 通过浏览器导航到该页面,单击页面左侧菜单列表中的“关于”链接,然后向下滚动到关于信息底部,您将看到页面ID显示。

  2. 导航至Facebook Graph API Explorer

  3. 删除资源管理器此行中API版本(在本例中为v3.2)之后的所有内容
    enter image description here

并用123456789?fields=access_token替换它,其中123456789是您的页面ID。

enter image description here

4. 点击刚刚输入文本所在行右侧的提交按钮。 5. 您将在屏幕底部的响应中收到一个类似于以下内容的令牌: { "access_token": "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", "id": "1755746091324056" } 其中 TTTTTTTT 是您的访问令牌。 6. 从响应中仅复制令牌(不包含引号),并将其粘贴到页面顶部替换先前存在的访问令牌的访问令牌字段中。

enter image description here

  1. 将新的访问令牌粘贴后,点击访问令牌左侧的蓝色信息图标。

  2. 在访问令牌信息对话框中,点击对话框右下角的“在访问令牌工具中打开”按钮。

enter image description here

在打开的访问令牌调试器中,点击页面底部的“扩展访问令牌”按钮。新的访问令牌将显示,并且其上方的文本应指出该令牌永不过期。{{Access Token Debugger}} {{Extend Access Token}}

enter image description here

我希望这可以帮到你。

附言:当我将使用此方法生成的令牌粘贴到Facebook的访问令牌工具中时,我看到的是这样的内容。它表示该令牌永远不会过期。

enter image description here


1
Facebook表示您的应用程序需要具有商业权限...这是我不确定在应用程序级别理解的要求。我生成的令牌仅在两个月内有效。 - AsTeR
6
我已经完成了所有的操作,但它显示会在两个月后过期!@AsTeR,你找到解决办法了吗? - Daniele B
2
这似乎不再起作用了。由于某种原因,Facebook撤销了我所有的登录会话,这也使我的“永不过期”的令牌失效。我尝试创建一个新的,但我一直得到2个月的限制。 - Chad Cache
3
我只能将令牌延长三个月,不能再延长了。 - Orun
3
这些步骤似乎不再起作用,但是我通过遵循此页面上的说明成功了 https://medium.com/@blienart/get-a-permanent-facebook-page-access-token-a96470dc03ca - Visualise
显示剩余17条评论

0
前往您的商务设置页面,您可以从应用程序中找到它:

Meta Developers My Apps

创建一个具有管理员角色的新系统用户:

Fb business create system user

点击添加资产,并在页面和您的应用程序上为系统用户提供完全控制权限。

System user assets

点击生成新的令牌,然后选择“永不”,确保设置所需的权限。

generate token

使用该令牌,使用以下URL生成您的页面访问令牌,无需过期日期:
https://graph.facebook.com/{PAGE-ID}?fields=access_token&access_token={TOKEN}

Meta developers debugger

经过很多搜索,那个方法对我起作用了。

非常感谢!这解决了我的问题。我只需要为我的情况添加更多权限,但问题已经解决了。 - undefined

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