異なるページにユニークな写真を投稿するバッチ リクエストを作成しようとしています。
そのために、バッチ ポスト リクエストを使用してプロセスを最適化したいと考えています。
私のコード:
$facebook = new Facebook(array('appId' => myappId, secret => mysecret, 'cookie' => true, 'fileUpload' => true, 'domain' => $_SERVER['SERVER_NAME']));
$request[0] = array(
'relative_url' => 'facebookPageId1/photos'
'method' => 'post'
'body' => 'access_token=page_access_token_1&message=my_message&attached_files=' . basename($picture));
$request[1] = array(
'relative_url' =>'facebookPageId2/photos'
'method' => 'post'
'body' => 'access_token=page_access_token_2&message=my_message&attached_files=' . basename($picture));
$file[basename($picture)] = '@' . realpath($picture);
$batch = json_encode(array_values(requests));
$params = array('batch' => $batch);
$params = array_merge($params, $file);
$facebook->api('/', 'POST', $params)
このコードを実行すると、2 つのリクエストに対して次の出力が得られました。
'{"error":{"message":"(#324) Requires upload file","type":"OAuthException","code":324}}'
だから問題は何ですか ?
Facebook オブジェクトでfileUploadを trueに設定し、URL「 pageId/photos 」に従来のリクエストで写真を投稿しようとしましたが、完全に機能しました。しかし、バッチ リクエストをウィッチすると、常に同じエラーが発生します。
ご協力いただきありがとうございます。
編集:わかりました、私は間違いを犯しました、私の要求は間違っていました:
$request[0] = array(
'relative_url' => 'facebookPageId1/photos',
'method' => 'post',
'body' => 'access_token=page_access_token_1&message=my_message',
'attached_files' => basename($picture)
);
$request[1] = array(
'relative_url' =>'facebookPageId2/photos',
'method' => 'post',
'body' => 'access_token=page_access_token_2&message=my_message',
'attached_files' => basename($picture)
);
しかし、今では次のエラーが発生しました:
{"error":{"message":"File picturename.jpg has not been attached","type":"GraphBatchException"}}