2012-03-02 84 views
1

我有通过JavaScript SDK发布对话框的问题。它有时工作,有时不。Iframe应用程序JavaScript SDK发布对话框错误(代码102)

它抛出这个错误:

API Error Code: 102 API Error Description: Session key invalid or no longer valid Error Message: Iframe dialogs must be called with a session key

我的代码:

<script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
     appId  : 'CENSORED', // App ID 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     xfbml  : true // parse XFBML 
     }); 

     // wait a moment before showing dialog. 
     setTimeout("showbox()", 2 * 1000); 
    }; 

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

and 

    <script> 
    function showbox() 
    {       
      FB.ui(
      { 
      display: 'iframe', 
      method: 'feed', 
      name: 'ASD ASD ASD:', 
      link: 'https://apps.facebook.com/XXX/', 
      picture: 'https://skvelazabava.eu/XXX/yy.jpg', 
      caption: 'Největší alkoholici mezi tvými přáteli jsou:', 
      description: ' ', 
      properties: [{text:"XXX", href:"https://apps.facebook.com/XXX/"}, 
         {text:"YYY", href:"https://apps.facebook.com/XXX/"} ], 
      redirect_uri: 'https://url.eu/' 
      }); 
    }      
    </script> 

我有什么做的,以确保对话将有会话密钥。

回答

2

这也是对我的情况,澄清别人谁遇到这样的:

<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId : '{{facebook_app_id}}', 
     app_token : '<%[email protected]_token%>', 
     status  : true, 
     }); 

    FB.getLoginStatus(function(response) { 
     console.log(response); 

     FB.ui({ 
     method: 'apprequests', 
     message: 'Have you heard about Rell?', 
     data: 'invite-to-rell-42', 
     display: 'iframe', 
     filters: [{name: 'Daaku', user_ids: ['1677846385']}, 'app_non_users', {name: 'Games People', user_ids: [703, 6203644]}] 
     }); 

    }); 


    }; 

    // 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

我只是添加检查是否FB在itialized和成功记录。

相关问题