我想在facebook上使用php SDK发布自动像RSS涂鸦这样做我有这个脚本,每个东西都很好并且正常工作但我面临的一个问题是我的脚本
$facebook = new Facebook(array(
'appId' => 'appId',
'secret' => 'secret',
'fileUpload' => true
));
$facebook->setExtendedAccessToken();
$access_token = $_SESSION["fb_".$fb_appId."_access_token"];
$facebook->setAccessToken($access_token);
$accessToken = $facebook->getAccessToken();
$user_id = $facebook->getUser();
$fbuser = $user_id;
echo $accessToken ;
这个脚本使用accessToken并将其存储到mysql中,所以我可以使用它60天.. 我只为自己使用这个应用程序,所以我使用的是mysql而不是RSS,所以在FB上发布辩证,因为它在我的网站上发布...
问题:
每当我想获得accessToken时,我必须手动登录facebook(可以自动完成以获得令牌)吗?
我可以使用SDK中的登录详细信息自动登录并获取accessToken吗?如果是这样的话?
我希望每60天获得一次accessToken以使其正常工作。
所以请帮忙
答案 0 :(得分:1)
您似乎对access token有很多疑惑。
请记住关于user access token
-
短期令牌只能在用户与您的应用程序进行交互时获取(更具体地说,当用户登录/授权您的应用时)
有效期:最多2小时
长期令牌只能 与短期令牌交换。使用以下请求:
GET /oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={short-lived-token}
有效期:60天
所以,很明显,如果你想刷新登录生存的令牌(在它到期之前),你将需要一个短期令牌,你可以通过将该人送回使用的登录流程来获得通过您的应用程序(不是真正重新授权,而只是获取新令牌)
您可以在开发者网站here上阅读有关过期和扩展标记的详情。
修改强>
如果您只想发布到粉丝页面,可以使用page_access_token
。可以通过一次性过程获得永不过期的粉丝页面令牌;并且您可以使用它在您的页面上执行操作。
请参阅本讨论的接受答案:What are the Steps to getting a Long Lasting Token For Posting To a Facebook Fan Page from a Server