Fql мультизапрос выполняется в графическом обозревателе, но не в c # .net - PullRequest
2 голосов
/ 02 марта 2012

У меня есть следующий запрос Fql:

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)"}

Это прекрасно работает в графическом обозревателе, однако не работает в c #; Я получаю сообщение Http Badrequest

Мой запрос выглядит следующим образом:

"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)'}";

Пожалуйста, помогите.

1 Ответ

2 голосов
/ 05 марта 2012
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)"
);

Соглашение об именах начинается с индекса 0, а не индекса 1, как в других языках.Приведенный выше код работает, я запустил его в C #, и результаты хорошие.

...