Pregunta

¿Cómo puedo obtener mi UID actual con FQL .. Quiero salvar el tráfico y las solicitudes con la obtención del los amigos de un usuario con fql.multiquery

"consulta1": GET NECESITA MI IDUSUARIO "Query2": "SELECT uid, nombre, apellido DE usuario en que uid (SELECCIONAR uid2 DE amigo DONDE uid1 = MyUserID) orden por FIRST_NAME"

debe devolver mis amigos! hacer que los usuarios con friends.get y luego users.getInfo necesita 2 solicitudes y no es óptima ...

Gracias

¿Fue útil?

Solución

Su primera consulta debe ser totalmente innecesaria, ya que Facebook siempre proporciona la uid a una aplicación a través del parámetro fb_sig_user (POST o GET). No estoy seguro de qué tipo de consulta FQL se puede utilizar para obtener una uid basado en algún otro tipo de información. No hay una mesa sessions o cualquier cosa disponible para FQL (tablas disponibles se enumeran aquí ) .

Para múltiples consultas Sin embargo, estoy bastante seguro de que esta página describe exactamente lo que tiene que hacer, pero voy a tirar un poco de código juntos en la forma en que lo haría.

Si se trata de una aplicación PHP, y yo quería hacer este lado del servidor, me gustaría crear un par de cadenas con formato JSON y enviarlos como una consulta de la siguiente manera:

$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']);

Esto debería producir un volcado de los resultados de la consulta.

Asumiendo que tiene su uid corriente disponible a partir del parámetro fb_sig_user (que debe), entonces su problema debe ser resuelto por algo como esto:

$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);

Nota: : Es posible que desee tener una mirada cuidadosa a algunas de las consultas que está tratando de hacer. Muchas tablas, como friend, sólo se pueden utilizar si usted está tratando con un usuario que ha iniciado sesión en.

Otros consejos

El me() función devuelve su identificador de usuario en FQL.

Para obtener la lista de tus amigos, puede utilizar:

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

Puede encontrar la documentación de esta aquí: http://developers.facebook.com/ docs / referencia / FQL /

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top