2010-04-30 5 views
1

J'essaie d'obtenir mon statut de facebook en utilisant l'API javascript. J'ai le code suivant:facebook javascript api

<div id="fb-root"></div> 
<div id="data"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script type="text/javascript"> 

(function(){ 
    FB.init({ 
     appId : 'SOME ID', 
     status : true, // check login status 
     cookie : true, // enable cookies to allow the server to access the session 
     xfbml : true // parse XFBML 
    }); 
}); 
getData(); 


function getData(){ 
    var query = FB.Data.query('SELECT message FROM status WHERE uid=12345 LIMIT 10'); 


    query.wait(function(rows) { 
     for(i=0;i<rows.length;i++){ 
      document.getElementById('data').innerHTML += 'Your status is ' + rows[i].message + '<br />'; 
     } 
    }); 
} 

</script> 

Quand j'essaye d'obtenir mon nom cela fonctionne très bien mais le statut ne fonctionne pas. Quelqu'un peut-il me dire ce que je fais de mal parce que la documentation est horrible. Et oui j'ai remplacé l'uid par un faux et oui j'ai mis dans mon id d'application parce que comme je l'ai dit quand j'essaye d'obtenir mon nom cela fonctionne bien. Toute aide est appréciée.

+0

"Ne fonctionne pas" comme quoi? Erreur Javascript/API? Que voyez-vous dans Firebug: La requête est-elle réellement faite? Si oui, que contient la réponse? – Matt

Répondre

1

vous avez besoin de l'autorisation étendue "read_stream" pour l'utilisateur. Voir ici: http://developers.facebook.com/docs/authentication/permissions

read_stream - Fournit un accès à tous les messages dans le Nouvelles de l'utilisateur Flux et permet à votre application d'effectuer recherches contre Nouvelles de l'utilisateur Flux

demander des autorisations, voir ici : http://developers.facebook.com/docs/authentication/ en particulier la partie sur la demande de permissions supplémentaires:

Dans les exemples ci-dessus, l'OAuthLe processusrenvoie l'ID utilisateur de l'utilisateur Facebook actif , avec lequel vous pouvez récupérer toutes les parties publiques du profil via l'API graphique. Comme mentionné ci-dessus , si vous avez besoin d'aller chercher données privées dans le profil ou si vous souhaitez demander l'autorisation de publier à Facebook pour le compte d'un utilisateur, vous devrez englobaient autorisations.

Pour demander des autorisations via OAuth, utilisez l'argument de la portée de votre demande d'autorisation et comprennent une liste séparée par des virgules de toutes les autorisations que vous souhaitez recevoir. Pour exemple, cette demande d'autorisation demande l'accès aux photos des utilisateurs et vidéos et demande l'autorisation de publier le flux de l'utilisateur sur leur nom:

https://graph.facebook.com/oauth/authorize?client_id=...&redirect_uri=http://www.example.com/callback&scope=user_photos,user_videos,stream_publish 

Pour englobaient supplémentaires autorisations, vous pouvez rediriger vers le même URL d'autorisation avec toutes les autorisations que vous souhaitez demander. Nous exclut automatiquement les autorisations votre application déjà a pour l'utilisateur actuel et affiche une boîte de dialogue demandant uniquement les autorisations qui n'ont pas déjà été accordées .

+0

que se passe-t-il si je veux juste afficher mes flux de nouvelles sur mon site? Un peu retardé, vous pouvez obtenir toutes les informations que vous voulez sur un utilisateur, mais ne peux pas tirer des messages qui sont publics lol. – ngreenwood6

+0

les publications ne sont pas publiques. Par définition, seuls votre nom et votre photo de profil sont publics et peuvent être récupérés sans un jeton d'accès.Tout le reste nécessite un jeton d'accès et une autorisation spécifique pour extraire cette information. Essentiellement, vous devez autoriser votre site Web à savoir qu'il est autorisé à extraire vos données. Il n'y a pas d'autre moyen pour Facebook de savoir que vous êtes vous. –