1

我正在使用 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。随着下一个代码被剪断,我想得到我朋友的 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" ...} ...]

响应的明显区别在于id=1234我的查询和uid=5678朋友的查询。如果我使用RestFBFqlUser中描述的自定义类,我可以获得uid。现在我不确定uid。我真的得到了相同的id(与我的朋友在 me-Query 中得到的相同)还是得到了Facebook: FQL-user中描述的third_party_id之类的东西?

4

1 回答 1

4

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

于 2011-07-19T13:26:18.613 回答