0

アクセス トークン、album_id または user_id と URL で写真をアップロードしようとしましたが、エラーが発生しました:

「(#324) アップロードファイルが必要」「OAuthException」

トークンを確認しましたが、有効です。ファイルからのアップロードも機能しますが、URL からのアップロードは機能しません。Facebook は「url」パラメータを認識したくないようです。これは奇妙です。先日、これをテストしたときにうまくいったことを誓うからです。

他の誰かがこの問題を抱えていますか?

私のコード:

$graph_url = "https://graph.facebook.com/ALBUM_ID/photos?access_token=TOKEN";
$postdata = http_build_query( array('message' => 'hello', 'url' => IMAGE_URL);
$opts = array('http' => array(
'method' => 'POST',
'header' =>
'Content-type: application/x-www-form-urlencoded',
'content' => $postdata));
$context  = stream_context_create($opts);
$result = json_decode(file_get_contents($graph_url, false, $context));

私も確認しました.FBのグラフAPIエクスプローラーでは動作しますが、RESTクライアントツールを使用しても動作しません.

更新: http_build_query 内の配列の順序を切り替えて、URL が最初になるように (または「メッセージ」パラメーターを削除して)、機能するようにしました。2 番目の要素は常に無視されます。

誰かが私が間違っていることを見ることができますか? この場合、2 番目のパラメーターが無視されるのはなぜですか? アップロードは「機能」しますが、画像の説明もロードできるように「メッセージ」パラメーターを機能させたいと思います。

4

1 に答える 1

0

URL 経由で画像をアップロードする場合は、 Content-type application/x-www-form-urlencoded を使用してはなりませ。これは、パラメーターのみを使用して、サーバーから実行される実際のファイルのアップロード用です。source

于 2012-10-08T11:37:10.340 に答える