Facebook UID en cours avec FQL
-
19-09-2019 - |
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
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ï /