Question

Comment puis-je obtenir mon UID en cours avec FQL .. Je veux sauver le trafic et les demandes avec l'obtention des amis d'un utilisateur avec fql.multiquery

"query1": BESOIN GET MY USERID "Query2": "SELECT uid, prenom, nom FROM utilisateur où uid IN (SELECT UID2 d'un ami OU UID1 = myuserid) par ordre prenom"

devrait retourner mes amis! obtenir les utilisateurs avec friends.get et besoins users.getInfo 2 demandes et n'est pas optimale ...

Merci

Était-ce utile?

La solution

Votre première requête doit être tout à fait inutile, comme Facebook fournit toujours le uid à une application via le paramètre fb_sig_user (POST ou GET). Je ne sais pas quel genre de requête FQL vous pouvez utiliser pour obtenir un uid basé sur une autre forme d'information. Il n'y a pas de tableau sessions ou quoi que ce soit à la disposition FQL (tables disponibles sont répertoriés ) .

Pour multi-requêtes cependant, je suis assez certain que cette page décrit exactement ce que vous devez faire, mais je vais jeter un code ensemble de la manière que je le ferais.

Si c'était une application PHP, et je voulais le faire côté serveur, je voudrais créer deux chaînes au format JSON et les envoyer comme une requête comme suit:

$fql= '{
 "userinfo":"SELECT uid FROM user_standard_info WHERE first_name=\'zombat\'",
 "friends":"SELECT uid2 FROM friend WHERE uid1 IN (SELECT uid FROM #userinfo)}"
}';
$res = $facebook->api_client->fql_multiquery($fql);

print_r($res['userinfo']);
print_r($res['friends']);

Cela devrait produire une décharge de résultats de la requête.

En supposant que vous avez votre uid courant disponible à partir du paramètre fb_sig_user (que vous devriez), votre problème devrait être résolu par quelque chose comme ceci:

$fql= '{
 "friends":"SELECT uid2 FROM friend WHERE uid1='.$your_uid.',"
 "friendinfo":"SELECT * FROM standard_user_info WHERE uid IN (SELECT uid2 FROM #friends)"
}';
$res = $facebook->api_client->fql_multiquery($fql);

Remarque : Vous voudrez peut-être avoir un regard attentif à certaines des questions que vous essayez de faire. De nombreuses tables, comme friend, ne peuvent être utilisés si vous avez affaire à un utilisateur connecté.

Autres conseils

La fonction retourne me() votre ID utilisateur dans FQL.

Pour obtenir la liste de vos amis, vous pouvez utiliser:

SELECT uid, first_name, last_name
FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

Vous trouverez la documentation de ce ici: http://developers.facebook.com/ docs / reference / fqï /

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top