Facebook FQL:朋友们

时间:2011-07-04 21:13:53

标签: java facebook-graph-api facebook-fql restfb

我正在使用restfb 1.6.5(1.6.4中的相同问题)并且在获取朋友的uid方面遇到了问题。这工作正常(我查询):

User fbUserMe = fbClient.fetchObject("me", com.restfb.types.User.class);
logger.debug(fbUserMe.getId());

响应正文包含以下内容:{"id":"1234","name":"ME" ...}fbUserMe.getId()返回我的uid。随着下一个代码被剪切,我想得到我朋友的朋友(朋友 - 查询):

StringBuffer sb = new StringBuffer();
sb.append("SELECT uid, first_name, last_name FROM user");
sb.append(" WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())");

List<User> users = fbClient.executeQuery(sb.toString(), User.class);
for(User fbUser : users)
{
  logger.debug(fbUser.getId());
}

但是这总是输出null,尽管响应正文包含:[{"uid":5678,"first_name":"Peter" ...} ...]

对于me-query,响应的明显差异为id=1234,对于friends-query,响应的uid=5678。如果我使用RestFB中描述的自定义类FqlUser,我就可以获得 uid 。现在我不确定 uid 。我是否真的得到相同的 id (我的朋友会在我的查询中得到同样的信息)或者我得到Facebook: FQL-user中描述的 third_party_id 之类的内容吗?

1 个答案:

答案 0 :(得分:4)

你得到的是uid。您的朋友在“我的查询”中会得到相同的ID。