0

私は通常、以下のコードを使用して壁に写真を投稿します

$attachments = array( 
            'message' => $mess,
             'access_token' => $access_token
          );
$facebook->setFileUploadSupport(true);
$attachments['image'] ='@'.realpath($filename);
$photoz = $facebook->api('/'.$aid.'/photos', 'POST', $attachments);

私はGoogleアプリエンジンを使用しているため、上記は機能しないため、以下の方法に従いました

  $filename ="prof.jpg";
  $im ='@'.realpath($filename);
   $post = "https://graph.facebook.com/".$aid."/photos?access_token=".$access_token."&message=hellohi&source=".$im."&method=POST";
 $upload = fetch_url($post);
    echo $upload;

しかし、エラー #324) Requires upload file","type":"OAuthException","code":32 が表示された場合

理由は何ですか?どこが間違っているのですか?

ps - $im は、@/base/data/home/apps/s~myphotoapp/1.362007154292719350/prof.jpg を返します。

4

1 に答える 1

1

しかし、エラーが発生した場合#324)アップロードファイルが必要です "、" type ":" OAuthException "、" code ":32

理由はわかりますか?

シンプル:実際には、HTTPアップロードとしてファイルをアップロードしていません。

データは–と呼ばれる形式でエンコードするmultipart/form-data必要がありますが、パラメータをURLに入れるだけですが、これは別のことです。

multipart/form-dataしたがって、 Google App Engineが提供する手法の範囲内でデータを送信する方法について、調査を行ってください。

または…画像がHTTP経由で公開されている場合はsource、パラメータをと呼ばれるパラメータに切り替えることもできます。このパラメータurlでは、画像を取得できるHTTPURLを指定します。

于 2012-09-25T15:25:02.783 に答える