2

OAuthExceptionの取得中にエラーが発生しました:(#100)画像のURLが正しくフォーマットされていません

非常に奇妙な問題が発生しました。グラフAPIを使用してページアルバムに写真をアップロードできますが、グラフAPIを使用して写真を投稿しようとすると、機能しません。

メッセージや壁へのリンクを投稿すると、投稿されることに注意してください。問題は写真だけにあります。

ここに両方の​​コードスニペットを入れています:

1、これは私がページアルバムに写真をアップロードしようとしているときです(作業中):

$facebook->setFileUploadSupport("http://apps.facebook.com/pagecron");
$x=realpath($_FILES['source']['tmp_name']);
$parameters = array('message' => $_POST['message'],'source' =>'@' . $x );
$parameters['access_token'] = $_SESSION['active']['access_token'];
$check=$facebook->api('/'.$_SESSION['active']['id'].'/photos/','POST',$parameters);

2、これは私が壁に写真を投稿しようとしているときです(機能していません):

$img = realpath($y);
$facebook->setFileUploadSupport("http://apps.facebook.com/pagecron");
$x=realpath($_FILES['source']['tmp_name']);
$parameters = array('message' => $_POST['message'],'picture' =>'@' . $x );
$parameters['access_token'] = $_SESSION['active']['access_token'];
$check=$facebook->api('/'.$_SESSION['active']['id'].'/feed/','POST',$parameters);
4

2 に答える 2

2

Ist Thing:にPOSTする必要があります/TIMELINE_PHOTOS_ALBUM_ID/photos

2nd Thing:そのような名前のアルバムはないかもしれないので、作成しないでください(チェック後)。

方法

 $albums =$facebook->api('pageid/albums',GET,array('access_token'=>'access_token');      
 foreach($albums['data'] as $album)
 {
   if($album['name'] == 'TIMELINE_PHOTOS')
   {
      $uid = $album['id'];
   }
 }
if(isset($uid) && $uid !=0)
{
  //mean album is there so use that uid to post your photo
}
else 
{
    //create your album with that name and use its id
}
于 2013-01-14T11:50:18.647 に答える
1

ユーザーの壁に写真を投稿したい場合は、投稿する必要があるPOSTよう/TIMELINE_PHOTOS_ALBUM_ID/photosです。

これを実現するためのショートカットはここにはないようです。の結果を検索して、「TimelinePhotos」という名前のアルバム/USER_ID/albumsを見つける必要があります(またはFQLを使用して取得します)。album_id

ドキュメントによると、アルバムには200枚の写真の制限があります。ユーザーが「タイムライン写真」アルバムに200枚以上の写真を持っている場合、どうなるかわかりません。これを調べる友達が見つかりませんでした。

于 2013-01-13T16:42:54.160 に答える