Php Facebook-通过Cronjob获取用户访问令牌
是否可以通过cronjob为用户获取有效的访问令牌? 我想创建一个应用程序,每天晚上解析来自用户的所有帖子,并检查是否有一些特殊字符 使用应用程序访问键,我只能从用户处访问公共帖子。。使用用户访问令牌,我还可以访问私人帖子 但是用户访问令牌过期 是否可以使用cronjob刷新用户令牌?这意味着cronjob可能需要刷新100个用户访问令牌,我没有让用户du打开授权对话框,因为它是通过cronjob在服务器上调用的Php Facebook-通过Cronjob获取用户访问令牌,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,是否可以通过cronjob为用户获取有效的访问令牌? 我想创建一个应用程序,每天晚上解析来自用户的所有帖子,并检查是否有一些特殊字符 使用应用程序访问键,我只能从用户处访问公共帖子。。使用用户访问令牌,我还可以访问私人帖子 但是用户访问令牌过期 是否可以使用cronjob刷新用户令牌?这意味着cronjob可能需要刷新100个用户访问令牌,我没有让用户du打开授权对话框,因为它是通过cronjob在服务器上调用的 我在facebook api中使用php不,这是不可能的,它甚至在官方帖子中明确表
我在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_令牌将有更长的过期时间”,这样就足够了,您还可以使用客户端身份验证,然后使用该链接中讨论的新端点,以扩展访问令牌。在我看来,只使用服务器端流更容易。这种解决方案的问题是,一旦令牌过期,除非人工干预以替换令牌,否则您的作业将失败。