3

我正在尝试创建一个将图像上传到页面的 Facebook 应用程序。我可以设法将照片上传到用户的相册,但不能上传到页面。

这是我的代码:

require_once('php-sdk/facebook.php');

 $config = array(
  'appId' => 'XXXXXXXX',
  'secret' => 'YYYYYYYYYYYYYYYY',
  'fileUpload' => true,
 );

$facebook = new Facebook($config);
$user_id = $facebook->getUser();    

$photo = $_POST['image'];
$message = "Lorem ipsum";

echo $user_id;

  if ($user_id) {
       $ret_obj = $facebook->api('/XXXXXXXXXX/photos', 'POST', array(
        'access_token'  => $access_token,
                    'source' => '@' . $photo,
                    'message' => $message
                                    )
                                  );

} catch(FacebookApiException $e) {

    $login_url = $facebook->getLoginUrl( array(
                   'scope' => 'user_photos,publish_stream,photo_upload'
                   )); 
         echo 'Please <a href="' . $login_url . '">login.</a>';
    print_r($e);
            error_log($e->getType());
            error_log($e->getMessage());
  }   
  echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>';
 } else {

  $login_url = $facebook->getLoginUrl( array( 'scope' =>user_photos,publish_stream,photo_upload,manage_pages' ) );
     echo 'Please <a href="' . $login_url . '">login.</a>';

}

任何帮助将非常感激。

4

1 回答 1

1

当你这样做时:

$facebook->api('/XXXXXXXXXX/photos', 'POST', array(

... XXXXXXXXXX 是您的 appId 还是 albumId?您必须调用您的相册 ID

还要确保您使用的是正确的 $access_token。确保查看:

https://graph.facebook.com/yourPageID?fields=access_token&access_token=YourPersonalAccessToken

你的PersonalAccessToken 是:

此页面的页面管理员access_token;当前用户必须是该页面的管理员;仅在通过fieldsURL 参数特别请求时返回。

您必须授予图形 apimanage_pages权限。

于 2012-07-04T11:04:12.407 回答