1

私は 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=5678friends-query です。RestFBFqlUserで説明されているようなカスタム クラスを使用すると、 uidを取得できます。今、私はuidが不明です。私は本当に同じ同じIDを取得しますか (私の友人が me-Query で取得するのと同じです)、それともFacebook: FQL-userで説明されているthird_party_idのようなものを取得しますか?

4

1 に答える 1

4

You're getting the uid. The same id your friend would get in a "me query".

于 2011-07-19T13:26:18.613 に答える