我想使用脸谱获取用户登录我的应用的所有照片。 我得到200错误代码
Bundle bundle = new Bundle();
bundle.putString("fields", "user_photos");
String id = com.facebook.Profile.getCurrentProfile().getId();
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/" + id + "/photos",
bundle,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
try {
JSONArray jsonPhotos = response.getJSONObject().getJSONArray("data");
Log.d("", "onCompleted: ");
} catch (JSONException e) {
e.printStackTrace();
}
}
}
).executeAsync();
响应
{Response: responseCode: 200, graphObject: {"data":[]}, error: null}
答案 0 :(得分:1)
HTTP 200表示您的请求正常。
您需要https://graph.facebook.com/[uid]/albums?access_token=[AUTH_TOKEN]来获取用户所有相册的JSON数组。
你将从这里得到三件重要的东西 - 专辑ID,名字 - 专辑名称和类型 - 专辑类型。
所需的权限是user_photos
个人资料照片位于"个人资料照片"专辑。要获取个人资料相册,您需要查看相册数组,遍历JSON结果集,直到您获得名为=个人资料图片和类型=个人资料的相册。获取此对象的ID。这是个人资料图片专辑。
现在您可以访问它,就像访问任何其他相册一样。也就是说,https://graph.facebook.com/[ALBUM_ID]/photos?access_token=[AUTH_TOKEN]这将列出用户上传的所有个人资料图片。
答案 1 :(得分:0)
您是否检查过用户是否允许您提供照片?