Facebook PHP SDK 应用上传照片到页面

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

}

非常感谢您的帮助。


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

其中yourPersonalAccessToken是:

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

您必须授予graph api manage_pages权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接