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

yourPersonalAccessToken は次のとおりです。

このページのページ管理者access_token。現在のユーザーは、このページの管理者でなければなりません。fieldsURL パラメーターを介して具体的に要求された場合にのみ返されます。

グラフ API のmanage_pagesアクセス許可を付与する必要があります。

于 2012-07-04T11:04:12.407 に答える