我正在使用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 之类的内容吗?
答案 0 :(得分:4)
你得到的是uid。您的朋友在“我的查询”中会得到相同的ID。