Facebook messenger复选框插件无法呈现

Ram*_*ala 5 javascript checkbox facebook facebook-graph-api

我正在尝试在我的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>
Run Code Online (Sandbox Code Playgroud)

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

https://developers.facebook.com/docs/messenger-platform/messenger-profile/domain-whitelisting
Run Code Online (Sandbox Code Playgroud)

小智 1

我修复了使其正常工作的错误:

  1. 确保该页面已在“应用程序设置”下的“Messenger 设置”下订阅

  2. 确保“origin”是您尝试呈现此内容的页面的 URL,而不是粉丝页面的 URL。我觉得自己有点傻,但我确实犯了这个错误。

  3. 将您的域列入白名单,以确保您没有覆盖它。并获取当前白名单域的列表,以确保其拼写正确并且没有丢失“www”。