私は restfb 1.6.5 (1.6.4 と同じ問題) を使用していますが、友達の uid を取得するのに問題があります。これはうまくいきます(me-query):
User fbUserMe = fbClient.fetchObject("me", com.restfb.types.User.class);
logger.debug(fbUserMe.getId());
応答本文には次のようなものが含まれています:{"id":"1234","name":"ME" ...}
そしてfbUserMe.getId()
、私の uid を返します。次のコードを切り取って、友達の uid を取得したい (friends-query):
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
、me-query とuid=5678
friends-query です。RestFBFqlUser
で説明されているようなカスタム クラスを使用すると、 uidを取得できます。今、私はuidが不明です。私は本当に同じ同じIDを取得しますか (私の友人が me-Query で取得するのと同じです)、それともFacebook: FQL-userで説明されているthird_party_idのようなものを取得しますか?