0

我正在编写一个使用基本请求对话框的 Facebook 画布应用程序。当我从 index.php 调用它时,该对话框工作正常,但是当我从任何其他文件调用相同的代码时,我得到错误 191。(在我的例子中,代码在 file2.php 中,它是从 index.php 中的表单调用的,并且位于同一目录中)。该错误仅出现在 Chrome 中,而不出现在一切正常的 Firefox 或 IE 中。

用户没有看到请求对话框,而是得到:“API 错误代码:191 API 错误描述:指定的 URL 不属于应用程序错误消息:redirect_uri 不属于应用程序。”

我的配置如下(请注意“https:”和“//”之间没有空格):

应用程序域:herokuapp.com

托管网址:https://mybrokenapp.herokuapp.com/

网站网址:https://mybrokenapp.herokuapp.com/

画布页面:http://apps.facebook.com/mybrokenapp

画布网址:http://mybrokenapp.herokuapp.com/

安全画布 URL:https://mybrokenapp.herokuapp.com/

页面标签 URL:http://mybrokenapp.herokuapp.com/

安全页面标签 URL:https://mybrokenapp.herokuapp.com/

调用对话框的代码:

      FB.ui({method: 'apprequests',
         to: 'nnnnnnnnn',
             message : 'My message',
     show_error: true
            },
            function (response){
              if (typeof response == 'undefined')
        alert('Request failed');
      else if (response == null)
        alert('Request canceled');
      else
                alert('The response was' + response);
            }
           );

谁能告诉我如何让它工作?

4

1 回答 1

0

刚刚在我的应用程序中也遇到了这个问题。

转到 Facebook 建议添加的 Channel.html,然后将 javascript 更改为:

<script src="https://connect.facebook.net/en_US/all.js#xfbml=1" type="text/javascript"></script>

如果您还没有添加 channel.html,您也可以在头部添加该行。

Chrome 对 HTTPS 的要求比其他浏览器严格得多。

于 2013-04-22T18:54:29.013 回答