Php Facebook-通过Cronjob获取用户访问令牌

Php Facebook-通过Cronjob获取用户访问令牌,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,是否可以通过cronjob为用户获取有效的访问令牌? 我想创建一个应用程序,每天晚上解析来自用户的所有帖子,并检查是否有一些特殊字符 使用应用程序访问键,我只能从用户处访问公共帖子。。使用用户访问令牌,我还可以访问私人帖子 但是用户访问令牌过期 是否可以使用cronjob刷新用户令牌?这意味着cronjob可能需要刷新100个用户访问令牌,我没有让用户du打开授权对话框,因为它是通过cronjob在服务器上调用的 我在facebook api中使用php不,这是不可能的,它甚至在官方帖子中明确表

是否可以通过cronjob为用户获取有效的访问令牌? 我想创建一个应用程序,每天晚上解析来自用户的所有帖子,并检查是否有一些特殊字符

使用应用程序访问键,我只能从用户处访问公共帖子。。使用用户访问令牌,我还可以访问私人帖子

但是用户访问令牌过期

是否可以使用cronjob刷新用户令牌?这意味着cronjob可能需要刷新100个用户访问令牌,我没有让用户du打开授权对话框,因为它是通过cronjob在服务器上调用的


我在facebook api中使用php不,这是不可能的,它甚至在官方帖子中明确表示:

用户必须先访问您的应用程序,然后才能获取 能够使服务器端OAuth 再打一次。应用程序将无法设置后台/cron作业 尝试自动延长过期时间,因为 “授权码”是短期的,将过期

也就是说,当您从流中获得访问令牌时,您获得的令牌应该持续一个月,如果您将其持久化,那么您就可以在该月使用它


该月结束后,如果用户没有重新使用您的应用程序,则访问令牌将过期,您必须将该用户转交给该用户。

如果您使用facebook jdk,您可以使用:
$token=$facebook->getAccessToken()
然后,将
$token
保存到数据库中供cronjob使用

    $args = array(
                 'access_token'  => $page_info['access_token'], //Offline Access Token From Database
                 'message'       => $_POST['description'],
                 'link'          =>$_POST['link'],
                 'picture'       =>$_POST['image'],
                 'name'          =>$_POST['title']
                 );
    $post_id = $facebook->api("/$page_id/feed","post",$args);
with
$page\u id
是扇页的id或

$post_id = $facebook->api("/me/feed","post",$args);

谢谢,这很有帮助。你知道我要做什么才能得到一个月有效的访问令牌吗?我只需要使用服务器端身份验证还是需要处理其他事情?正如我在回答中给你的链接中所说:“如果access_令牌是从服务器端OAuth调用生成的,那么生成的access_令牌将有更长的过期时间”,这样就足够了,您还可以使用客户端身份验证,然后使用该链接中讨论的新端点,以扩展访问令牌。在我看来,只使用服务器端流更容易。这种解决方案的问题是,一旦令牌过期,除非人工干预以替换令牌,否则您的作业将失败。