Facebook messenger复选框插件无法呈现

时间:2017-06-13 11:41:01

标签: javascript facebook facebook-graph-api checkbox

我正在尝试在我的aspx页面中实现新的Facebook Checkbox插件,但我无法在屏幕上显示它。此错误发生在客户端,但Frame被隐藏。

错误:

拒绝在框架中显示“https://www.facebook.com/v2.9/plugins/messenger_checkbox.php?allow_login=true&app_id= ******* ....”因为祖先违反了以下内容安全政策指令:“frame-ancestors https://www.facebook.com

到目前为止我做了什么:

 <script>
        window.fbAsyncInit = function () {
            FB.init({
                appId: '---MSGAPPID---',
                xfbml: true,
                version: 'v2.9'
            });

        };

        (function (d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) { return; }
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_US/sdk.js";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk')
        );
    </script>

 <div class="fb-messenger-checkbox"
        origin="---Orgin url ------"
        page_id="--Pagelivefacebookid--"
        messenger_app_id="--Mssgappid--"
        user_ref="randomnumber"
        prechecked="true"
        allow_login="true"
        size="large">
    </div>

此外,我还白色列出了域名,但遗憾的是无法在我的页面上看到它。建议摆脱这个错误的最佳答案

https://developers.facebook.com/docs/messenger-platform/messenger-profile/domain-whitelisting

2 个答案:

答案 0 :(得分:1)

我修复了错误以使其工作:

  1. 确保页面已在“应用程序设置”下的&#34; Messenger设置&#34;

  2. 下订阅
  3. 确保&#34;起源&#34;是您尝试呈现此页面的网址,而不是粉丝页面的网址。我觉得有点傻,但我确实犯了这个错误。

  4. 将您的域列入白名单以确保您没有覆盖它。并获取当前白名单列表,以确保拼写正确,并且没有遗漏&#34; www&#34;。

答案 1 :(得分:0)

您必须在fb页面设置的Messenger平台中将白名单域授予

page setting