【问题标题】:Chrome browser: Facebook API Error Code: 191 when invoking Requests dialogChrome 浏览器:Facebook API 错误代码:调用请求对话框时出现 191
【发布时间】:2013-01-10 01:01:39
【问题描述】:

我正在编写一个使用基本请求对话框的 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/

页面标签网址: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);
            }
           );

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

【问题讨论】:

    标签: javascript google-chrome heroku apprequests facebook-app-requests


    【解决方案1】:

    我的应用也出现了这个问题。

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

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

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

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

    【讨论】:

    • 感谢您的回答。我已按照建议更改了我的 channel.html,但没有帮助 - 我遇到了同样的错误。顺便说一句,你和我一样只在 Chrome 中遇到过这个问题吗?
    • 在您的帮助下,我终于让它工作了。事实证明,在我的情况下,更改我的 channel.html 是不够的——我的其他 .php 文件中有几行“
    猜你喜欢
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 2017-01-16
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多