私は運がなくてもどこでも検索し、セッション中に写真をFacebookにアップロードする例がたくさんあります(つまり、ユーザは物理的にコンピュータに座っていますウェブページにアクセスする)。私はサンプルを試して、彼らは動作します。オフラインで写真をウェブサーバから写真でアップロードする
私は私の現在のアプリは、ユーザーがオフラインアップデートを承認し、私はなどaccess_tokenは、USER_IDを保存し、私は正常に投稿することができます
同じ問題で、昨年からこの未回答の質問を気づきましたユーザーがオフラインになっているときの壁。私は本当にユーザーの壁に写真を投稿する作業をするのに苦労しています。 Facebook documentationを読んで、私はmultipart/form-dataを使って写真をアップロードすることしかできないと思っています!
ユーザーが自分のコンピュータにいないと動作しません。サーバーのディレクトリに保存されている写真をアップロードできますか?
ここまでは私のコードです。これは、access_codeがすでに付与されていて、事前に保存されているので、facebookセッションを使用しないことを覚えておいてください。私が言及したように、ユーザーの壁に投稿することは、すでにこのアプローチで機能しています。
$filename= "@/myphotodir/filename.jpg");
$url = "https://graph.facebook.com/".$uid."/photos"; //$uid is fb user id
$ch = curl_init($url);
$attachment = array('access_token' => $access_token,
'app_id' => $app_id,
'name' => "A photo from me...",
'fileUpload' => true,
'message' => "my message",
'image' => $filename,
);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result= curl_exec($ch);
curl_close ($ch);
編集:$結果が偽に戻ってきます...忘れてしまったことを追加してください。
ご協力いただければ幸いです。 多くのありがとう、 ディーン
私はこれを前に試してもうまくいかなかった。しかし、私が何かを見逃してしまった場合や、Facebook SDKがForm Post Dataを期待している場合(つまり、あなたのマシンに座ってフォームを介してファイルをアップロードすることを期待している)オフラインアップロードモードでは、フォーム投稿データはありません。 SDKからの正確なエラーメッセージは次のとおりです。 ----> "致命的なエラー:Uncaught CurlException:26:行629の/home/myforev3/public_html/library/facebook.phpに投げられたフォームポストデータの作成に失敗しました。" – Dean
同じことをしたいです。 @Dean、あなたは解決策を見つけましたか?もしそうなら、私に知らせてください。前もって感謝します –