Facebook aktuelle UID mit FQL
-
19-09-2019 - |
Frage
Wie kann ich meine aktuelle UID mit FQL bekommen .. Ich möchte mit dem Erhalten der die Freunde eines User-Traffic und Anfragen speichern mit fql.multiquery
"query1": GET NEED MY USERID "Query2": "SELECT uid, vorname, nachname FROM Benutzer WHERE uid IN (SELECT UID2 FROM Freund WHERE UID1 = myuserid), um von first_name"
sollte meine Freunde wiederkommen! bekommen Anwender mit friends.get und users.getInfo muss dann 2-Anforderungen und ist nicht optimal ...
Danke
Lösung
Ihre erste Abfrage sollte völlig unnötig sein, da Facebook liefert immer die uid
zu einer Anwendung über den fb_sig_user
Parameter (POST oder GET). Ich bin sicher nicht, welche Art von FQL Abfrage können Sie eine uid
basierend auf einer anderen Form von Informationen zu erhalten, verwenden. Es gibt keinen sessions
Tisch oder irgendetwas zur Verfügung FQL (verfügbare Tabellen aufgelistet hier ) .
Für Multi-Abfragen aber ich bin ziemlich sicher, dass dieser Seite beschreibt genau das, was Sie tun müssen, aber ich werde einige Codes zusammen in der Art und Weise werfen, dass ich es tun würde.
Wenn es sich um eine PHP-Anwendung, und ich wollte diese Server-Seite tun, würde ich ein paar JSON-Format Strings erstellen und sie als eine Abfrage senden, wie folgt:
$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']);
Dies sollte einen Dump Ihrer Abfrage-Ergebnisse erzeugen.
Angenommen, Sie Ihren aktuellen uid
vom fb_sig_user
Parameter zur Verfügung haben (die Sie sollen), dann ist dein Problem, indem sie so etwas wie diese gelöst werden soll:
$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);
Hinweis : Sie können einen sorgfältigen Blick auf einige der Fragen haben wollen Sie versuchen zu tun. Viele Tische, wie friend
können nur verwendet werden, wenn man es zu tun mit einem angemeldeten Benutzer.
Andere Tipps
Die Funktion me()
kehrt Ihre Benutzer-ID in FQL.
Um die Liste Ihrer Freunde zu erhalten, können Sie verwenden:
SELECT uid, first_name, last_name
FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
Sie können die Dokumentation dieser finden Sie hier: http://developers.facebook.com/ docs / reference / FQL /