1

以下のjs関数を呼び出して、アプリで生成されたリクエストをユーザー(すでにアプリを承認済み)に送信しています

   function send_app_request(){
     FB.api( "/" + '<TO-USER-ID>' + "/apprequests", "POST", {
       message: "Custom Request for you!",
       title: "Sample title",
       access_token: "<MY-APP-ACCESS-TOKEN>"
      }, function(response) {
      alert(response.toSource());
      console.log(response);
     });
   }

スクリプトは正常に機能しており、ユーザーがキャンバスの右上隅にあるアプリアイコン(赤い通知付き)をクリックすると、アプリのインデックスページ(apps.facebook.com/MY-APP)にリダイレクトされます。 )、これも問題ありません。私の質問は、ユーザーが代わりに希望のアプリurl(例:apps.facebook.com/MY-APP/show-article/?article_id=5)にリダイレクトされるように、FB.api呼び出しにどのパラメーターを追加する必要があるかです。インデックスURL。

4

1 に答える 1

2

リクエストは常にユーザーをアプリケーションキャンバスに誘導します。

引用リクエストのドキュメント

リクエストを受け入れると、リクエストを送信したアプリのCanvasページのURLにユーザーが移動するため、リクエストはCanvasアプリでのみ使用できます。Webサイトでは使用できません。

考えられる解決策は、Requestプロパティ内に目的のURLを追加し、dataユーザーがURL引数を渡してCanvas URLに到達したらrequests_ids、それらのリクエストを読み取り、プロパティに基づいてdataユーザーをリダイレクトする場所を決定することです。

data
オプションで、追跡のために渡すことができる追加データ。これは、作成されたリクエストオブジェクトの一部として保存されます。最大長は255文字です。

更新:
アプリケーション/ユーザーリクエストで割り当てられたもの を取得するにはdata、GraphAPIからフェッチします。

https://graph.facebook.com/<REQUEST_OBJECT_ID>_<USER_ID>?access_token=APP_ACCESS_TOKEN
于 2012-04-30T12:00:37.717 に答える