0

まず、英語が下手でごめんなさい。

複数のファンページにインストールされているアプリがあります。

このアプリでapprequestダイアログが欲しいです。ユーザーが招待ボタンをクリックすると、友達を招待するためのapprequestダイアログが表示されますが、通知はファンページのアプリではなくキャンバスページにリダイレクトされます。

私はこのコードを使用します:

<head>
    <title>Request Example</title>
  </head>

  <body>
    <div id="fb-root"></div>
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <p>
    <input type="button"
      onclick="sendRequestViaMultiFriendSelector(); return false;"
      value="Send Request to Many Users with MFS"
    />
    </p>
    <script>
      FB.init({
        appId  : '123456789',
        status : true,
        cookie : true,
        oauth: true
      });

      function sendRequestViaMultiFriendSelector() {
        FB.ui({method: 'apprequests',
          message: 'Example message',
          show_error: true,
          redirect_uri: 'https://www.facebook.com/pages/PAGE_ID?sk=APP_ID'
        }, requestCallback);
      }

      function requestCallback(response) {
        // Handle callback here
      }
    </script>

  </body>

私は何が間違っているのですか?キャンバスページの構成?URIをリダイレクトしますか?

ありがとう!

4

1 に答える 1

1

何も悪いことはしていません。リクエストは、受け入れられると常にキャンバスURLに「配信」されます。アプリがリダイレクト先のページを決定するために使用できるリクエストに、いくつかのデータを含める必要があります。

dataこれを行う最も簡単な方法は、[リクエスト]ダイアログのパラメーターを使用することです。

したがって、リクエスト送信コードでは、次のようになります。

function sendRequestViaMultiFriendSelector() {
        FB.ui({method: 'apprequests',
          message: 'Example message',
          show_error: true,
          data: "PAGE_ID_OR_SOME_OTHER_DATA_HERE",
          redirect_uri: 'https://www.facebook.com/pages/PAGE_ID?sk=APP_ID'
        }, requestCallback);
      }

次に、アプリのキャンバスで受け入れられたリクエストを処理するときdataに、リクエストオブジェクトのパラメーターを確認し(GETリクエストが/REQUEST_ID_HEREそれを返します)、それに基づいてリダイレクト先のページを決定します

于 2012-06-22T08:20:29.537 に答える