[英]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.