-2

我尝试用预先指定的收件人这种方式来弹出对话框:在弹出的打开我有错误Facebook发送请求返回错误

FB.init({ 
    appId  : 'MYAPPID', 
    status  : true, 
    cookie  : true, 
    xfbml  : true, 
    frictionlessRequests: true 
}); 

function sendRequestToRecipients() 
{ 
    FB.ui({method: 'apprequests', 
     message: 'You have just received a PP request.', 
     to: '100000526845569' 
    }, requestCallback); 
} 

sendRequestToRecipineds(); 

An error occurred. Please try later

当我看

https://www.facebook.com/dialog/apprequests?message=You%20have%20just%20received%20a%20PP%20request.&to=100000526845569&api_key=&app_id=&locale=en_US&sdk=joey&display=popup&frictionless=false&next=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D18%23cb%3Df23f09878cdaf1e%26origin%3Dhttp%253A%252F%252Fmyhost.com%252Ff1868d80900b7a%26domain%3Dmyhost.com%26relation%3Dopener%26frame%3Df27cb35acbd146c%26result%3D%2522xxRESULTTOKENxx%2522

我觉得有些信息未发送::我看到下面的弹出窗口的URL请求 api_key, app_id

怎么回事?有任何想法吗?

使用Facebook登录完美。多人选择器也是。


<script> 
window.fbAsyncInit = function() { 
// init the FB JS SDK 
FB.init({ 
    appId  : 'MYAPPID', // App ID from the App Dashboard 
    channelUrl : '//mydomain.com/channel.html', // Channel File for x-domain communication 
    status  : true, // check the login status upon init? 
    cookie  : true, // set sessions cookies to allow your server to access the session? 
    xfbml  : true, // parse XFBML tags on this page? 
    frictionlessRequests: true 
}); 


}; 

// Load the SDK's source Asynchronously 

(function(d, debug){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js"; 
    ref.parentNode.insertBefore(js, ref); 
}(document, /*debug*/ false)); 

function sendRequestToRecipients() { 

    FB.ui({method: 'apprequests', 
     message: 'You have just received a PP request.', 
     to: '100000143396036' 
    }, requestCallback); 
    } 

    function sendRequestViaMultiFriendSelector() { 
    FB.ui({method: 'apprequests', 
     message: 'My Great Request' 
    }, requestCallback); 
    } 

    function requestCallback(response) { 
    // Handle callback here 
    } 

</script> 

这是它在这里

回答

1

如何做出尝试载入JavaScript SDK异步调用FB.init()之前(如果你还没有)这样的:

<script> 

    window.fbAsyncInit = function() 
    { 
    FB.init({ 
     appId  : APP_ID, 
     status  : true, 
     cookie  : true, 
     xfbml  : true, 
     frictionlessRequests: true 
    }); 
    //Additional Code here 
    };   

// Load the SDK Asynchronously 
(function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
    } 
(document)); 

</script> 
+0

是的,恐怕正是如何它在我的脚本来完成。该问题被隐藏在其他地方.. :( –

+0

我想你打电话'之前FB.init'功能上面的脚本加载SDK js。 – Sahal

1

固定。

奇怪,但ASYNC SDK的存在弄糟了这一切。

谢谢