iframe app JavaScript SDK发布对话框错误(代码102)

时间:2012-03-02 16:10:05

标签: javascript facebook facebook-javascript-sdk

我通过javascript SDK发布对话框有问题。它有时会起作用,有时候不行。

它抛出了这个错误:

  

API错误代码:102 API错误说明:会话密钥无效或无   更长的有效错误消息:必须使用会话密钥

调用iframe对话框

我的代码:

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

我必须做些什么来确保对话框具有会话密钥。

1 个答案:

答案 0 :(得分:2)

对我来说也是如此,为其他遇到此事的人澄清:

<script>
  window.fbAsyncInit = function() {
    FB.init({
        appId  : '{{facebook_app_id}}',
        app_token : '<%=@access_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>