Facebook PHP SDK永久登录

时间:2013-05-25 10:46:53

标签: php facebook sdk

我制作了这个剧本。 它完美无缺,并将照片发布到我的脸书粉丝页面。 但是一小时后,登录令牌无效。如何永久登录我的FB Fanpage。 有什么想法吗?

<?php
require_once('facebook.php');
$facebook = new Facebook(array(
    'appId'  => 'XXXXXXXXXXXXX',
    'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
    'fileUpload' => true
));
$access_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$facebook->setAccessToken($access_token);
$facebook->setExtendedAccessToken(); 
$params = array(
    'access_token' => $access_token
);
// The id of the fanpage
$fanpage = 'XXXXXXXXXXXXXX';
// Get the page access token
$accounts_list = $facebook->api('/me/accounts');
foreach($accounts_list['data'] as $account){
if($account['id'] == $fanpage){
    $fanpage_token = $account['access_token'];
    echo "<p>Page -- Access Token:<br>$fanpage_token</p>";
}
}
$args = array(
          'source' => '@'.realpath('img/17226_014.jpg'),
          'message' => 'php sdk test',
          'access_token' => $fanpage_token
         );
$post_url = '/'.$fb_page_id.'/photos';
$photo = $facebook->api($post_url, 'post', $args ); 
if( is_array( $photo ) && ! empty( $photo['id'] ) ) {
echo 'Photo uploaded. Check it on Graph API Explorer. ID: ' . $photo['id'];

}    ?&GT;

1 个答案:

答案 0 :(得分:1)

您需要使用

获取新的扩展访问令牌
<?php
    $new_access_token = $facebook->getAccessToken();
?>

拨打$ facebook-&gt; setExtendedAccessToken();

当然,您需要使用该访问令牌进行下一次API调用。