2011-05-12 5 views
2

Je ne peux pas obtenir ce travail. J'essaye de montrer quelque chose like this (voir l'image d'image de la section "envoyer à beaucoup"). Je reçois le message "Une erreur est survenue. Veuillez réessayer plus tard".Facebook iframe popup

Le code:

window.fbAsyncInit = function() { 
    FB.ui({title: 'title', display: 'iframe', 
     method: 'apprequests', message: 'check this out.' 
    }); 
} 

Edit1: La fenêtre pop-up montre, mais à l'intérieur il n'y a pas de liste d'amis, mais le message ci-dessus.

Edit2: Et bien sûr mes demandes d'autorisations app pour la liste d'amis de l'utilisateur lors du premier lancement.

+0

Avez-vous essayé de supprimer'Affichage: « iframe''? Je pense que tu n'en as pas besoin. – MatejB

+0

Eh bien, je veux que le pop-up à afficher dans iframe, donc je réellement besoin :) – marek

Répondre

0

J'ai testé votre code et je reçois la charge de dialogue avec tous les utilisateurs.

je suggère de vérifier votre code d'application pour vous assurer qu'il est correct.

Ci-dessous le code que je utilise:

  //run the script code to get the facebook javascript sdk 
      (function(){ 
       var e = document.createElement('script'); 
       e.async = true; 
       e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
       document.getElementById('fb-root').appendChild(e); 
      }()); 

      //run when sychronisation of facebook javascript sdk is finished 
      window.fbAsyncInit = function(){ 
       //initialise the application 
       FB.init({appId: '<?=APPLICATION_ID?>', status: true, cookie: true, xfbml: true, oauth: true}); 
       FB.ui({title: 'title', display: 'iframe', method: 'apprequests', message: 'check this out.' 
        }); 
      }; 
+0

Ce fut probablement la question de certains facebook (ce qui arrive trop souvent) - en ce moment, je ne me souviens pas de ce que je fais pour prendre soin de ce problème , mais je suis sûr que mon identifiant d'application était correct. Je vous remercie de toute façon. – marek

0

Vous devez utiliser la fonction getLoginStatus, pour être sûr que la fonction FB.init a fini de charger.

Je viens de résoudre même problème de cette façon:

Notez que j'utilise jQuery

<script type="text/javascript"> 
     $(document).ready(function() { 
      FB.init({ appId: 'APP_ID', status: true, cookie: true, xfbml: true, oauth: true }); 
      FB.getLoginStatus(function (response) { 
       FB.ui({ title: 'Invite friends', display: 'iframe', method: 'apprequests', message: 'check this out.' }); 
      }); 
     }); 
    </script> 
<div id="fb-root"></div>