我试图让我的朋友使用我正在使用的相同应用程序,我写了以下代码:
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
Log.d("-@-", "graph response " + response.getJSONObject());
}
}
).executeAsync();
它在logcat中给出了以下错误:
09-14 21:05:10.096: W/FacebookSDK.Request(12520): starting with Graph API v2.4, GET requests for //me/friends should contain an explicit "fields" parameter.
日志中的输出也是:
09-14 21:05:10.706: D/-@-(12520): graph response {"summary":{"total_count":776},"data":[]}
请帮忙吗?
答案 0 :(得分:2)
尝试:
private void getUserFriendsFacebookIds() {
GraphRequest request = new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
Log.d("-@-", "graph response " + response.getJSONObject());
if (response.getError() != null) {
Log.e(TAG, "User data error: " + response.getError(), response.getError().getException());
} else {
setUserFriends(response.getRawResponse());
}
}
}
);
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name");
request.setParameters(parameters);
request.executeAsync();
}
private void setUserFriends(String json) {
FacebookFriendsInfo ff = new Gson().fromJson(json, FacebookFriendsInfo.class);
Log.i(TAG, "User friends: " + ff);
...
}
要解析响应,请尝试使用GSON库。
public class FacebookFriendsInfo {
public List<Friend> data = new ArrayList<Friend>();
public String getIds() {
StringBuilder sb = new StringBuilder();
for (Friend f : data) {
sb.append(String.format("%d,", f.id));
}
return sb.toString();
}
@Override
public String toString() {
return "FacebookFriendsInfo{" +
"data=" + data +
'}';
}
public class Friend {
public long id;
public String name;
@Override
public String toString() {
return "Friend{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
}
答案 1 :(得分:0)
尝试使用此API调用:me/friends?fields=name
请参阅v2.4的更改日志中的“声明字段”:https://developers.facebook.com/docs/apps/changelog#v2_4