2013-05-25 168 views
0

我已经制作了这个脚本。 它完美的工作,并发布到我的Facebook粉丝页面的照片。 但一小时后,登录标记无效。我怎样才能永久登录我的FB Fanpage? 任何想法?Facebook PHP SDK永久登录

<?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']; 

} >

+0

阅读此:https://developers.facebook.com/roadmap/offline-access-removal/ – CBroe

回答

1

你需要得到新的推广的访问令牌与

<?php 
    $new_access_token = $facebook->getAccessToken(); 
?> 

你叫facebook- $> setExtendedAccessToken()后?;

当然,您需要为您的下一个API调用使用该访问令牌。