3

Facebook の Graph API を使用して、iFrame アプリからフォーム経由で写真をアップロードしています。

echo '<form enctype="multipart/form-data" action="'
.$graph_url .' "method="POST">';
echo 'Please choose a photo: ';
echo '<input name="source" type="file"><br/><br/>';
echo 'Say something about this photo: ';
echo '<input name="message" 
  type="text" value=""><br/><br/>';
echo '<input type="submit" value="Upload"/><br/>';
echo '</form>';

$graph_url は、このフォームの前に次のように定義されています。

$graph_url= "https://graph.facebook.com/me/photos?"
    . "access_token=" .$access_token;

これは機能しており、アプリで写真をユーザー プロファイルにアップロードできますが、写真がアップロードされると、iFrame のコンテンツがグラフからの「応答」に置き換えられます。

例:

  {
   "id": "1001207389476"
  }

これが表示されるのを避け、代わりに、おそらく新しくアップロードされた画像へのリンクも表示する成功画面を表示したいと思います。

誰も私がこれを行う方法を知っていますか? 私はこれをしようとして、過去3日間髪を引っ張ってきました!

参考までに、コードを入手したチュートリアルを次に示します: https://developers.facebook.com/blog/post/498/およびhttp://thinkdiff.net/facebook/graph-api-iframe-base-facebook-アプリケーション開発-php-sdk-3-0/

乾杯。

4

3 に答える 3

0

私が考えることができる1つの解決策は、trycatchブロックを使用して写真アップロードコードをキャッチできることです。例外が発生せず、アップロードされたpicIDを取得した場合。写真IDを表示する代わりに、「写真のアップロードに成功しました」と印刷できます。

写真のリンクを取得します。あなたはあなたの写真IDを使用する必要があります。あなたはgraph.facebook.com/your-pic-id(おそらくいくつかのaccess_tokenで)を試すことができ、その中に、この写真のリンクを得ることができます。

写真のグラフAPIを参照してください:https://developers.facebook.com/docs/reference/api/photo/

それが役に立てば幸い。

于 2011-09-04T16:55:24.923 に答える
0

onsubmit 属性を form タグに追加します。さらに、メッセージの表示や成功画面の表示など、すべて JavaScript で実行できます。

于 2011-09-04T18:27:52.803 に答える
0

$graph_url でリダイレクト URI を定義してみましたか? Facebook が期待しているパラメーターの正確な名前はわかりませんが、redirect_uri だと思います。

Edit_: より明確にするために、Facebook は Graph URL でそのパラメーターを探し、リクエストが完了するとその URI にリダイレクトします。したがって、 http://yourdomain.com/yourapp/upload_finished.phpを定義できます。アップロードされた写真の ID もこの URI に渡すかどうかは 100% わかりませんが、そうである必要があります。

于 2011-09-04T17:45:17.673 に答える