通过http协议访问时,Facebook apprequests被阻止

时间:2013-07-24 00:07:47

标签: facebook facebook-javascript-sdk facebook-app-requests

这是错误:

  

阻止原始“https://www.facebook.com”的框架访问原点为“http://www.mysite.com”的框架。请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配。

在我的网站上显示对话框,我可以选择人,但是当我点击发送请求时,没有任何反应。请求永远不会被发送。相反,我再次收到相同的错误。

我从错误中理解的是,代码正在访问不同的协议http vs https

那我怎么强迫Facebook只去http?我试过http://connect.facebook.net/en_US/all.js但没有帮助。

<div id='fb-root'></div>
<a href='#' onclick='FacebookInviteFriends()'>invite friends</a>
<script src='http://connect.facebook.net/en_US/all.js'></script>

<script>
window.fbAsyncInit = function() {
    FB.init({appId: "APP ID", status: true, cookie: true, xfbml: true});
};

function FacebookInviteFriends(){
    FB.ui({
        method  : 'apprequests',
        title   : 'Title',
        message : 'my message'
    }, requestCallback);
}

function requestCallback(response){
    if(response && response.request) {
         console.log(response);
    } else {
     // No requests sent, you can do what you want (like...nothing, and stay on the page).
    }
}
</script>

1 个答案:

答案 0 :(得分:0)

确保在fb.ui

中明确指定display: 'popup'