android - facebook登录集成Android中的错误
问题描述
我已经完成了 https://developers.facebook.com/docs/facebook-login/android%20中所述的所有步骤, 我也得到了响应,但是当我尝试将个人资料图像显示到图像视图时,我得到了一个像这样的错误
GraphResponse:{HttpStatus:400,errorCode:100,subErrorCode:33,errorType:GraphMethodException,errorMessage:不支持的获取请求。ID 为“3282910721234”的对象不存在,由于缺少权限而无法加载,或者不支持此操作。请阅读https://developers.facebook.com/docs/graph-api}上的 Graph API 文档
有人可以帮我吗?
我写的代码
loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setPermissions(Arrays.asList(EMAIL,"public_profile,user_gender"));
// If you are using in a fragment, call loginButton.setFragment(this);
// Callback registration
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d("InLogin","Successful Login");
//Picasso.get().load("https://graph.facebook.com/" + loginResult.getAccessToken().getUserId()+ "/picture?type=large").into(image);
// App code
}
@Override
public void onCancel() {
// App code
Log.d("InLogin","Successful Logout");
}
@Override
public void onError(FacebookException exception) {
// App code
Log.d("InLogin", "Error Occurred");
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
GraphRequest gr = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
if(object != null)
Log.d("Response",object.toString());
try {
name.setText( object.getString("first_name") + object.getString("last_name") );
Log.d("profile",object.getString("id"));
String userId = object.getString("id");
Picasso.get().load("https://graph.facebook.com/" + userId+ "/picture?type=large").into(image);
Log.d("profile1",object.getString("id"));
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle bd=new Bundle();
bd.putString("fields","id,first_name,last_name,email,gender");
gr.setParameters(bd);
gr.executeAsync();
}
我希望我的个人资料图片应与名称输出一起出现:
解决方案
推荐阅读
- xss - 这是一个有效的 XSS 过滤器吗?
- python - 如何在 BoxLayout 中显示简单列表和带有字典的列表
- python - 如何调度实时循环任务?
- wordpress - 在 .htaccess 中禁用后浏览器缓存未禁用
- git - Visual Studio 2019 Git 身份验证错误
- r - Bookdown:构建所有格式的书的问题
- python - 如何检测当前进程的结束?
- node.js - 如何使用 CLI 从 Shopify API 中检索产品
- c# - C# - 解析存储在字符串中的数据类型
- php - SQLSTATE[HY000] [2002] 操作超时。mysql 在 Mac OS 中不起作用它似乎无法启动