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

War es hilfreich?

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 /

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top