4

我正在搜索所有可能的主题,但现在解决方案对我有用。

有我的代码,它适用于除 Chrome 之外的所有浏览器。只是有窗口 An error occurred. Please try again later.

它与 FB 文档中的代码相同。

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>

<script>
  FB.init({
    appId  : {$appId},
    frictionlessRequests: true
  });

  function sendRequestViaMultiFriendSelector() {
    FB.ui({ method: 'apprequests',
      message: '{_"FACEBOOK_INVITE_WINDOW_MESSAGE"}'
    }, requestCallback);
  }

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

<a onclick="sendRequestViaMultiFriendSelector(); return false;">
4

3 回答 3

2

这可能是因为您的应用程序仍处于沙盒模式。

于 2012-09-18T18:31:04.110 回答
1

您必须指定对话框的显示选项('popup, 'iframe'...)

例如:

FB.init({
  appId  : {$appId},
  frictionlessRequests: true,
  display: 'popup'
});
于 2012-12-19T15:33:58.793 回答
0

您没有说明您的应用程序是否在 Facebook 上。这很重要的原因是因为canvas_url您的应用程序设置的参数。如果您apps.facebook.com/app_namespace,那么您已经填写了此字段。然而,有些项目根本不在 Facebook 本身上运行。在这种情况下,人们并不真正“需要”填写此参数。但是,应用程序请求必须正常工作。

当用户对应用程序请求进行操作(IE 接受它)时,他们将被重定向到该应用程序的画布 url。不指定画布 url 会使请求无效。这也可能是错误的原因。

尝试设置您的画布网址。你甚至可以让它重定向到你正确的 URL,它不需要“做”任何其他事情。

于 2012-09-23T17:42:22.740 回答