我想通过给定用户的Facebook ID获得其公开照片。该用户先前已在我的Android应用中注册。我正在尝试使用我的访问令牌(在我在应用程序中的登录名给出)来执行此操作,但这给我一个权限错误。你有什么建议吗?
Bundle parameters = new Bundle();
parameters.putString("fields","user_photos");
GraphRequest request = new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/" + "USER_ID" + "/photos",
parameters,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
//Response of photos
}
}
);
答案 0 :(得分:0)
user_photos
是权限,而不是字段。您必须获得user_photos
权限来授权用户才能获取他的照片。您可能没有这样做,这就是为什么您遇到权限错误的原因。不过最好知道确切的错误消息。
无论如何,这应该是正确的:
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,link");
GraphRequest request = new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/photos",
parameters,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
//Response of photos
}
}
);
使用/me
代替用户ID,无论如何访问令牌都绑定到一个特定用户。
API参考中说明了可以使用的字段:https://developers.facebook.com/docs/graph-api/reference/v3.0/photo
答案 1 :(得分:-1)
尝试将“字段” 键替换为“范围” 。
parameters.putString("scope","user_photos");
此外,最新的Facebook隐私权政策更新可能就是这种情况。 我自己也遇到了类似的问题。