2010-11-19 13 views
0

J'ai maintenant réussi à obtenir un statut lorsque l'utilisateur clique sur un lien. Je voudrais maintenant qu'un statut soit affiché quand ils se connectent d'abord avec Facebook et acceptent les autorisations.Afficher l'état de la première connexion de l'utilisateur avec Facebook

Aidez s'il vous plaît! J'utilise ce code pour le bouton de connexion:

<fb:login-button ></fb:login-button> 

Soyez spécifique avec moi Je suis nouveau sur Facebook Connect.

Répondre

1

Puisque vous réussi à authentifier un utilisateur et post d'un lien, alors les choses seront faciles, juste de l'appeler événement auth.login votre méthode d'affichage, quelque chose comme ceci ferait:

window.fbAsyncInit = function() { 
    FB.init({appId: '<?php echo $this->facebook->getAppId(); ?>', status: true, cookie: true, 
     xfbml: true}); 

    FB.Event.subscribe('auth.login', function() { 
     postStatus(); 
    }); 
}; 
(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); 
}()); 

function postStatus(){ 
    var body = 'Reading Connect JS documentation'; 
    FB.api('/me/feed', 'post', { message: body }, function(response) { 
     if (!response || response.error) { 
      alert('Error occured'); 
     } else { 
      alert('Post ID: ' + response.id); 
     } 
    }); 

} 

Résultat:
alt text

EDIT:
Assurez-vous également que vous disposez des permissions dans votre cas publish_stream:

<fb:login-button perms="read_stream,publish_stream"></fb:login-button> 
0

il suffit de modifier ce code

<div id="fb-root"></div> 
<script type="text/javascript"> 
var uid; 
window.fbAsyncInit = function() { 
    FB.init({appId: 'APP_ID', status: true, cookie: true, xfbml: false}); 
}; 
(function() { 
    var e = document.createElement('script'); 
    e.type = 'text/javascript'; 
    e.src = document.location.protocol + 
     '//connect.facebook.net/en_US/all.js'; 
    e.async = true; 
    document.getElementById('fb-root').appendChild(e); 
}()); 
window.fbAsyncInit = function() { 
    FB.init({appId: 'APP_ID', status: true, cookie: true, xfbml: true}); 

     /* All the events registered */ 
     FB.Event.subscribe('auth.login', function(response) { 
      // do something with response 
      login(); 
     }); 
     FB.Event.subscribe('auth.logout', function(response) { 
      // do something with response 
      logout(); 
     }); 

     FB.getLoginStatus(function(response) { 
      if (response.session) { 
       // logged in and connected user, someone you know 
       login(); 
      } 
     }); 
    }; 
    function graphStreamPublish(){ 
      var body = document.getElementById("txtTextToPublish").value; 
      FB.api('/me/feed', 'post', { message: body }, function(response) { 
       if (!response || response.error) { 
        alert('Error occured'); 
       } else { 
        alert('Post ID: ' + response.id); 
       } 
      }); 
    } 
    function fqlQuery(){ 
     FB.api('/me', function(response) { 
       var query = FB.Data.query('select name,email,hometown_location, sex, pic_square from user where uid={0}', response.id); 
       query.wait(function(rows) { 
       uid = rows[0].uid; 
       document.getElementById('name').innerHTML = 
        'Your name: ' + rows[0].name + "<br />" + 
        'Your email: ' + rows[0].email + "<br />" + 
        'Your hometown_location: ' + rows[0].hometown_location + "<br />" + 
        'Your sex: ' + rows[0].sex + "<br />" + 
        'Your uid: ' + rows[0].uid + "<br />" + 
        '<img src="' + rows[0].pic_square + '" alt="" />' + "<br />" 
        '<fb:multi-friend-selector actiontext="Select the friends you want to invite. (All of them.)" rows="3"/>'; 
       }); 
     }); 
    } 
    function getFriends(){ 
     var theword = '/me/friends'; 
     var params = new Array(uid); 
     FB.api(theword,params, function(response) { 
      var divInfo = document.getElementById("divInfo"); 
      var friends = response.data; 
      divInfo.innerHTML += '<h1 id="header">Friends</h1><ul id="list">'; 
      for (var i = 0; i < friends.length; i++) { 
      divInfo.innerHTML += friends[i].id+" "+friends[i].name+"<img src=https://graph.facebook.com/"+friends[i].id+"/picture/>"; 
      // divInfo.innerHTML+= '<fb:name useyou=false uid=100001248074891 firstnameonly=true></fb:name>';//'<fb:name useyou=false uid='+friends[i].id+' firstnameonly=true></fb:name>'; 

      } 
      }); 
     } 
    function share(){ 
     var share = { 
      method: 'stream.share', 
      u: document.getElementById('txtShare').value 
     }; 

     FB.ui(share, function(response) { console.log(response); }); 
    }    
</script> 
<fb:login-button 
autologoutlink="true" 
perms="email,user_birthday,status_update,publish_stream"></fb:login-button> 
+0

ne pas seulement copier/coller des codes ... essayer de fournir une réponse utile – ifaour