0

ユーザーの壁に画像をアップロードして投稿する FB アプリを作成していますが、この時点で立ち往生しています。サーバーが小さすぎるため、FB ステージング サーバーに画像をアップロードしたいと考えています。このコードで画像を投稿しようとすると

FB.api('/me/staging_resources?access_token='+access_token, 'post', {file: file_uri}, function(response) {
        if (!response) {
       alert('Error occurred.');
     } else if (response.error) {
       console.log('Error: ' + response.error.message);
     } else {
       console.log('File uri is ' + response.uri );
       file_uri = response.uri;
     }
    });

ここで、file_uri は画像への https アドレスを含む変数であり、常にエラーが発生します"(#100) Invalid file. Expected file of one of the following types: image/jpg, image/jpeg, image/gif, image/png"。Graph API Explorer からもテストしましたが、同じエラーが発生しました。画像を生成するファイルにURLを配置し、画像、http、https、他のサイトからの画像に直接URLを配置するために、すべてを試しました...常に同じです。誰かが私に何か助けてくれますか?

前もって感謝します、ニコラ

編集 - 解決策

ジェイソンのおかげで、私は画像を取得することに成功しました。誰かがこの問題に遭遇した場合、解決策はhttps://graph.facebook.com/me/staging_resources、画像のURLとアクセストークンで呼び出す別のcurlファイルを作成し、jsファイルで簡単な呼び出しを行うことです

$.get('/curl.php?url='+image_url+'&access_token='+access_token,function(response){
        console.log(response);
});
4

1 に答える 1

0

ドキュメントによると、ファイル パラメータは実際にはファイル データである必要があります ( enctype='multipart/form-data'HTTP POST のように)。例として、curl による投稿を示します。

curl -X POST \
  https://graph.facebook.com/me/staging_resources \
  -F "file=@images/prawn-curry-1.jpg" \
  -F "access_token=$USER_ACCESS_TOKEN"

ファイルに解決されるURIを取ることはできません(フェッチを実行する必要があります)

于 2013-08-09T22:45:27.493 に答える