0

首先,对不起我的英语不好。

我有一个安装在多个粉丝页面上的应用程序。

我想要这个应用程序中的应用请求对话框。当用户单击邀请按钮时,他会看到一个邀请朋友的请求对话框,但通知重定向到画布页面而不是粉丝页面上的应用程序。

我使用这段代码:

<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>

我究竟做错了什么?画布页面的配置?重定向乌里?

谢谢!

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 回答