如何在C#中使用Facebook SDK合并两个查询?

时间:2011-12-29 12:06:18

标签: facebook-c#-sdk fql.multiquery

我使用的是Facebook C#SDK,但没有一个重载方法可以将两个查询作为参数传递。如何合并两个查询?

我的查询是这样的,我有两个查询,一个是检索名称,第二个是检索消息,所以我想向我的应用程序显示名称和消息,但是FQL不支持加入,所以我怎么能这样做,例如。< / p>

var Query1 = fbApp.Query("SELECT uid, name, pic_square FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())");

var newsFeed = fbApp.Query("SELECT post_id, actor_id, target_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0");

我如何获得结果名称 - &gt;信息。 谢谢你.. !!

1 个答案:

答案 0 :(得分:0)

我在我的应用程序中使用multiquery。你要做的是将一个string []数组传递给.Query()命令。

"SELECT uid, page_id, type  FROM page_admin WHERE uid = " + id

"SELECT uid, read_stream, status_update, photo_upload, publish_stream, offline_access FROM permissions WHERE uid IN (SELECT page_id FROM #query0)"

您无法命名查询,它们是通过C#API预先命名的。注意它是#query0,#query1等......

当您获得数据时,我的解析方法如下:

var pageAdmins = multiqueryResults[0].fql_result_set;
var permissions = multiqueryResults[1].fql_result_set;