2012-03-01 80 views
0

我面对错误此查询400错误的请求::FQL查询错误

string str=ds.Table[0].Rows[0].ItemArray.toString(); 


fbfr =string.Format("/fql?q=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 +friend+ WHERE+ uid1={0})" ,str); 
    string ser = api.Get(fbfr, true); 

它能够访问uidDataset ds,但无法运行查询。 请给出你的意见。

+0

其中之一,你有很多裸露的空间。 '+ IN +'应该只是'+ IN +'等等 - 这使得查询字符串被错误编码,并且很可能被拒绝。 – 2012-03-01 17:28:34

+0

删除空格,但仍然没有成功Marc – 2012-03-01 17:38:28

+0

什么是'uid1 = {0}'?尝试为当前用户使用'uid1 = me()' – DMCS 2012-03-01 18:00:06

回答

1

我正在为此查询中的其他用户在数据集中提取数据。我检查了我()正在工作..但我不必使用

你不能得到“朋友的朋友”。 API严格禁止。你只能得到当前用户的朋友。即使400错误是由其他内容引起的,您也只能获得当前用户的朋友。

+0

是的,我收到登录我网站的人的朋友的数据。 – 2012-03-01 18:09:26

+0

不,你不能得到用户朋友的朋友。 '(SELECT + uid2 + FROM + friend + WHERE + uid1 = {0})'不能在{0}参数是朋友ID的情况下工作。它必须是应用程序用户的ID。简写为'(SELECT + uid2 + FROM + friend + WHERE + uid1 = me())'。 – DMCS 2012-03-01 18:12:57

+0

但是我如何获取用户的朋友信息?在我的网站中对其功能重要的信息 – 2012-03-02 02:13:44