[英]android parse sdk facebook login cannot get email
我将解析和facebook sdk集成到我的项目及其工作中,我获得了facebook用户的ID和用户名,我的问题是我什至无法获得任何其他信息,例如电子邮件或性别或任何其他信息,即使我为其添加了权限。
这是许可:
private static final List<String> Permissions = Arrays.asList("public_profile","email","user_friends","user_birthday","user_location","user_relationships");
按钮点击代码:
Button mBtnFb=(Button)findViewById(R.id.mBtnFb);
mBtnFb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ParseFacebookUtils.logInWithReadPermissionsInBackground(MainActivity.this,Permissions , new LogInCallback() {
@Override
public void done(ParseUser user, ParseException err) {
if (user == null) {
Log.d("MyApp", "The user cancelled the Facebook login.");
} else if (user.isNew()) {
Log.d("MyApp", "User signed up and logged in through Facebook!");
getUserDetailsFromFB();
} else {
Log.d("MyApp", "User logged in through Facebook!");
getUserDetailsFromParse();
}
}
});
}
});
从facebook获取用户详细信息:
public String name,email;
ParseUser parseUser=new ParseUser();
private void getUserDetailsFromFB() {
GraphRequest request = GraphRequest.newMeRequest(
AccessToken.getCurrentAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
try {
String id=object.getString("id");
String name=object.getString("name");
String email=object.getString("email");
String gender=object.getString("gender");
String birthday=object.getString("birthday");
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,link,email");
request.setParameters(parameters);
request.executeAsync();
}
我仅获得ID和名称,任何其他信息都给我例外的任何建议?
我遇到了完全相同的问题,这是我解决的方法:
然后,这应使您的应用程序具有检索facebook用户的电子邮件地址的权限。
希望这可以帮助。
纳撒里亚
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.