我在android中开发了一个应用程序,在该应用程序中我从Facebook获取用户详细信息。我能够获取用户名,姓氏,姓氏,但电子邮件在某些Facebook帐户中为空。在某些Facebook帐户中,我发现电子邮件ID和一些Facebook帐户电子邮件为空,原因是什么在android中获取Facebook用户详细信息
回答
问题是电子邮件许可,这是获取电子邮件ID的工作代码。 这是我在这里给出 Unable to access facebook login?
Session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state,
Exception exception) {
if (session.isOpened()) {
// make request to the /me API
List<String> permissions = session.getPermissions();
if (!isSubsetOf(PERMISSIONS, permissions)) {
pendingPublishReauthorization = true;
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(
RegisterActivity.this, PERMISSIONS);
session.requestNewReadPermissions(newPermissionsRequest);
return;
}
Request.executeMeRequestAsync(session,
new Request.GraphUserCallback() {
// callback after Graph API response with
// user object
@Override
public void onCompleted(GraphUser user,
Response response) {
if (user == null) {
Toast.makeText(
RegisterActivity.this
.getApplicationContext(),
"Facebook Error",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(
RegisterActivity.this
.getApplicationContext(),
user.getName()
+ " Logged in Successfully.",
Toast.LENGTH_LONG).show();
GraphUser abc = user;
id = user.getId();
name = user.getName();
gender = user.getProperty("gender")
.toString();
editname.setText(name);
username.setText(user.getUsername());
JSONObject jo = user
.getInnerJSONObject();
Log.d("Details", jo.toString());
try {
emailid.setText(user
.getProperty("email")
.toString());
} catch (Exception e1) {
// TODO Auto-generated catch
// block
e1.printStackTrace();
}
try {
location = user.getLocation()
.getProperty("name")
.toString();
} catch (Exception e) {
e.printStackTrace();
}
}
return;
}
});
}
}
});
将onActivityResult方法
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode,
resultCode, data);
}
isSubsetoff()方法
private boolean isSubsetOf(Collection<String> subset,
Collection<String> superset) {
for (String string : subset) {
if (!superset.contains(string)) {
return false;
}
}
return true;
}
和权限根据您的需要
private static final List<String> PERMISSIONS = Arrays.asList("email",
"user_about_me", "user_location");
感谢阿布舍克...... –
当我在我们的代码中添加权限,然后我发现下面的错误.. –
java.lang.RuntimeException:无法恢复活动{com.parkhya.treebidsale/com.facebook.LoginActivity}:com .facebook.FacebookException:无法使用空调用程序包调用LoginActivity。如果调用者的launchMode是singleInstance,则会发生这种情况。 –
- 1. Facebook API:获取用户详细信息
- 2. 从facebook获取用户详细信息
- 3. 获取Facebook详细信息
- 4. 获取Facebook帐户详细信息
- 5. 在用户登录Facebook后获取用户详细信息
- 6. 使用PFFVideosUtilsV4在Swift中获取Facebook用户详细信息Cocoapods
- 7. 用ios6在xcode 4.5中从facebook获取用户详细信息
- 8. 在ios 6 sdk中获取facebook用户详细信息?
- 9. 如何获取Facebook在tvOS中的用户详细信息
- 10. 如何在PHP中获取Facebook用户的详细信息?
- 11. 使用cURL获取用户facebook用户详细信息
- 12. Facebook SDK - 获取朋友详细信息
- 13. Pinterest api - 获取用户详细信息
- 14. Get-ADGroupMember获取用户详细信息?
- 15. ActiveDirectoryLdapAuthenticationProvider:获取用户详细信息
- 16. 从log.nsf获取用户详细信息
- 17. Google Api - 获取用户详细信息
- 18. 从MGTwitterEngine获取用户详细信息
- 19. Instagram获取用户详细信息
- 20. SPNEGO获取用户详细信息
- 21. 获取用户所在国家,详细信息FQL facebook
- 22. Android主详细信息详细信息
- 23. 无法使用Cakephp获取Facebook用户详细信息
- 24. 如何使用Facebook连接获取用户详细信息
- 25. 获取所有的facebook应用程序用户详细信息
- 26. 从Facebook登录用户详细信息
- 27. Facebook Streampublish和用户详细信息
- 28. ASP.NET C#获取Facebook用户的详细信息
- 29. 如何从Facebook登录获取用户详细信息?
- 30. 获取Facebook用户的电话号码和详细信息
因为他们没有进入或他们限制他人从他人的邮件。 – Karthi