我想问一下我使用Facebook Graph API遇到的问题。 我已成功连接到Facebook,将用户ID和用户access_code存储到我的数据库中
现在,在查看我正在构建的网站时,它正在使用我的数据库中存储的access_token
,但是没有显示我的Facebook状态....因为“会话已过期”.... / p>
无论如何我可以重新生成access_token吗?
由于
示例:
$status = 'https://graph.facebook.com/'.$userId.'/statuses?limit='.10.'&access_token='.$app_token;
答案 0 :(得分:1)
用户访问令牌仅持续1-2个小时。有一种技术可以获得60天的令牌供您使用。这里解释:http://dominicminicoopers.blogspot.com/2012/03/facebook-access-tokens-and-offline.html请记住在短期访问令牌到期之前获取此扩展访问令牌。您必须传入有效的工作用户访问令牌才能传递给它。这是服务器端,而不是客户端,因为你必须使用你的应用秘密。
https://graph.facebook.com/oauth/access_token?
client_id=[APP_ID]&
client_secret=[APP_SECRET]&
grant_type=fb_exchange_token&
fb_exchange_token=[EXISTING_NON-EXPIRED_USER_ACCESS_TOKEN]
提醒用户时,请记住要求user_status
权限。请参阅:http://developers.facebook.com/docs/authentication/permissions/#user_friends_perms
答案 1 :(得分:0)
您无法重新生成它,但是您可以通过让用户再次执行oauth进程来获取新的令牌,它将返回一个新令牌 - https://developers.facebook.com/docs/authentication/
答案 2 :(得分:0)
您可以尝试获取长期存在的令牌。即使用户没有进入,也可以访问状态。 见here