1) Facebook のアプリ固有のアルバムに写真をアップロードし、2) その写真をユーザーのタイムラインで大きなアイテム/画像 (サムネイルではなく) として共有する Web アプリを作成しています。これは User Generated Photo のオプション パラメータを介して実行できることはわかっていますが、Web アプリでこれを実現する他の方法はありますか?
2 に答える
Web アプリがユーザー生成写真を使用して Open Graph アクションを公開することを妨げるものは何もありません。それは簡単なプロセスです:
- サイトで Facebook 認証をセットアップします。最も簡単なオプションは、getLoginStatusで Javascript SDK を使用することです。必ず
publish_actions
ユーザーに許可を求めてください。 - Open Graph アクションとOG オブジェクト タイプを作成する
- ユーザーが適切なアクションを実行したら、次の形式の API 呼び出しを行います (ユーザー アクセス トークンで署名され、POST されます)。
https://graph.facebook.com/me/YOUR_APP_NAMESPACE:YOUR_APP_ACTION? YOUR_OBJECT_TYPE=YOUR_OBJECT_URL& image[0][url]=YOUR_PHOTO_URL& image[0][user_generated]=true
ステップ 1 は最も難しい部分であり、Open Graph アクション ルートをたどっていなければ、いずれにせよそれを行う必要があります。
例として、Instagram はtook
アクションa photo
として、またオブジェクトとして使用しています。それらのオブジェクトの URL は、Instagram Web サイトの個々の写真ページです。したがって、API POST 呼び出しは次のようになります。
https://graph.facebook.com/me/instagram:took?
photo=http://instagram.com/p/ABCD1234/&
image[0][url]=http://distilleryimage.instagram.com/somerandomstring.jpg&
image[0][user_generated]=true
User Generated Photosのドキュメントに記載されているように、これはユーザーのタイムラインとフィードに大きな全幅の写真として表示されます。
これらすべての API 呼び出しを Web アプリから実行する最も簡単な方法は、Javascript SDKとFB.api 関数を使用することです。その場合、サーバー側のコードを使用する必要はまったくありません!
写真のキャプションにこのコードを入力するだけです
"@@[0:[124024574287414:1:写真]] を @[124024574287414:0] と撮りました"
(二重引用符なし) クリックして instagram の Web サイトにアクセスできます。独自のカスタム コードです。1 週間かけて作成しました :(