Facebook graph api 如何以编程方式获取FB令牌,以便通过脚本运行Graph API请求?

Facebook graph api 如何以编程方式获取FB令牌,以便通过脚本运行Graph API请求?,facebook-graph-api,cron,server-side,access-token,Facebook Graph Api,Cron,Server Side,Access Token,事实: 我正在举办一个FB竞赛,用户只需喜欢一个特定的帖子就可以进入一张图 我可以在Graph API Explorer中调用$postid/likes,同时使用Graph API Explorer生成的令牌并接收正确的信息。这是一个简单的结果,用户id/名称对就是生成随机赢家所需的全部 我正在运行一个每日cron,它收集所有新的帖子,并将它们放入一个数据库中,这样我就可以跟踪进入者的数量,并轻松地从池中选出一个获胜者。如果我从上面的Graph API Explorer调用中复制令牌并将其插入脚

事实:

我正在举办一个FB竞赛,用户只需喜欢一个特定的帖子就可以进入一张图

我可以在Graph API Explorer中调用
$postid/likes
,同时使用Graph API Explorer生成的令牌并接收正确的信息。这是一个简单的结果,用户id/名称对就是生成随机赢家所需的全部

我正在运行一个每日cron,它收集所有新的帖子,并将它们放入一个数据库中,这样我就可以跟踪进入者的数量,并轻松地从池中选出一个获胜者。如果我从上面的Graph API Explorer调用中复制令牌并将其插入脚本中,那么脚本可以工作,并获得预期的数据

问题:


既然上面的脚本在我从Graph API资源管理器中复制出活动的临时令牌时起作用,那么我是否应该能够以编程方式执行此操作?当我的日常cron运行(没有用户交互)以获取新的、有效的、未过期的令牌时,我不知道应该如何进行身份验证。由于这是一个从服务器上运行的cron,我显然无法通过用户对话框进行身份验证。

您可以创建一个应用程序,然后进行验证。授予应用程序的访问令牌不会过期,因此您可以将其编码到cron作业中

小心踩这个。看起来你的比赛违反了Facebook:

您不得以用户喜欢墙贴为条件进行注册或输入


我已经尝试作为我的应用进行身份验证,但是当我进行相同的API调用时,我得到的令牌返回一个空数据数组。它似乎与我正在使用的Graph API Explorer令牌没有相同的权限,但我不知道在哪里更改这些,甚至不知道我是否需要这样做。你指出的促销指南是对的,我没有仔细阅读。这使我目前的实验停止了,然而,我仍然想知道为什么我的方法在API调用中失败了。谢谢可能不会。你必须明确地请求许可。另一种可能是喜欢这些帖子的人有自己的隐私设置,这样他们的活动就不会被应用程序返回。