0

我正在使用以下代码段来请求授权用户的好友列表:

System.out.println("AT: " + facebook.getAccessToken());
String response = facebook.request("me/friends?fields=first_name,last_name,id,gender");

我得到的回应:

{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}

我正在打印访问令牌,这给了我一个有效的令牌。此外,getAccessExpires()返回未来的时间。当我请求"me/friends"没有任何参数的 url 时,我得到了预期的(但数据较少)朋友列表而没有错误。

我该如何解决这个问题?

4

1 回答 1

1

String response = facebook.request("me/friends?fields=first_name,last_name,id,gender");

那是不正确的使用方式facebook.request。我假设您没有使用 beta Android SDK,因此正确的方法是执行以下操作:

Facebook facebook = new Facebook(YOUR_APP_ID);
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
Bundle params = new Bundle();
params.put("fields", "first_name, last_name, id, gender");
mAsyncRunner.request("me/friends", params, new RequestListener() {
    // get response here
    ....
});

希望这可以帮助。

于 2012-12-02T08:46:31.203 回答