如何在Android中的Facebook查询请求中使用数组参数。

时间:2011-07-30 04:27:16

标签: java android facebook-fql

目前我正在使用Android的Bundle创建Facebook查询语言请求

Bundle params = new Bundle();
params.putString("method", "fql.query");
params.putString("query", "SELECT * FROM * WHERE source_id = *");
mAsyncRunner.request(params, new ExampleRequestListener());

从PHP示例中我看到作为查询参数发送的用户ID数组,但是如何在此捆绑包中添加数组以从Java为Android应用程序发出请求?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我很确定您发送给FQL的查询与您使用Bundle,Android和Java这一事实几乎没有关系 - FQL查询本身就会发生这种情况。

多个UID上的FQL查询的规范示例似乎是这样的:

$fql = "SELECT name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())";

或者来自fql multiquery文档:

"query1":"SELECT uid, rsvp_status FROM event_member WHERE eid=12345678"
"query2":"SELECT name, url, pic FROM profile WHERE id IN (SELECT uid FROM #query1)"

因此,对于您的情况,我会使用查询修改该行。我也注意到你有

SELECT * FROM * 

在那一行。你确定你不想选择一张桌子吗? 例如:

params.putString("query", "SELECT * FROM user WHERE uid in [YOUR SOURCE LIST]);