2 votes

Fql multiquery s'exécute dans graph explorer mais pas dans c# .net

J'ai la requête Fql suivante :

https://graph.facebook.com/fql?q={"query1":"SELECT  uid2  FROM  friend  WHERE  uid1=me()","query2":"SELECT uid ,  name ,  pic_square , affiliations , birthday_date , sex , relationship_status , hometown_location , current_location , education_history , work_history , contact_email  FROM  user  WHERE (sex='male') AND uid  IN  (SELECT  uid2  FROM #query1)"}

Cela fonctionne bien dans l'explorateur de graphiques, mais pas en c# ; j'obtiens une erreur Http Badrequest.

Ma question est la suivante :

"fql?q={'query1':'SELECT+uid2+FROM+friend+WHERE+uid1=me()','query2':'SELECT+uid,name,pic_square,affiliations,birthday_date,sex,relationship_status,hometown_location,current_location,education_history,work_history,contact_email+FROM+user+WHERE+(sex='male')+AND+uid+IN+(SELECT+uid2+FROM+#query1)'}";

Aidez-moi, s'il vous plaît.

2voto

DMCS Points 25136
var fb = new Facebook.FacebookClient(token);
dynamic result = fb.Query(
    "SELECT uid2 FROM friend WHERE uid1=me()",
    "SELECT uid, name, pic_square, affiliations, birthday_date, sex, relationship_status, hometown_location, current_location, education_history, work_history, contact_email" + 
    " FROM user WHERE (sex='male') AND uid IN (SELECT uid2 FROM #query0)"
);

La convention d'appellation commence par l'indice 0 et non par l'indice 1 comme dans les autres langues. Le code ci-dessus fonctionne, je l'ai exécuté en C# et les résultats sont bons.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X