使用新的Facebook的Android SDK访问用户的电子邮件 [英] Access user email using new Facebook Android SDK
本文介绍了使用新的Facebook的Android SDK访问用户的电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是玩新的Facebook的Android SDK。有一件事我无法弄清楚是怎么能要求的电子邮件地址。我尝试以下,但它返回的值,除了电子邮件地址的所有领域。我想我可能要问权限分别对电子邮件地址,但不知道我怎么能做到这一点,如果我使用LoginFragment。
Hi I'm playing with new Facebook Android SDK. One thing I could not figure out is how can I ask for email address. I tried following but it returned values for all fields except email address. I guess I probably have to ask permission separately for email address but not sure how I can do that if I use LoginFragment.
Request request = Request.newMeRequest(session, new GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
profilePictureView.setUserId(user.getId());
userNameView.setText(user.getName());
}
});
String NAME = "name";
String ID = "id";
String PICTURE = "picture";
String EMAIL = "email";
String FIELDS = "fields";
String REQUEST_FIELDS = TextUtils.join(",", new String[] {
ID, NAME, PICTURE, EMAIL
});
Bundle parameters = new Bundle();
parameters.putString(FIELDS, REQUEST_FIELDS);
request.setParameters(parameters);
Request.executeBatchAsync(request);
任何帮助是AP preciated。 谢谢
Any help is appreciated. Thanks
推荐答案
执行以下操作:
设置权限与上述的访问通过电子邮件后: 。user.asMap()获得(电子邮件));
After setting the permissions as above access the email via: user.asMap().get("email"));
请参阅下面
@Override
protected void onSessionStateChange(SessionState state, Exception exception) {
// user has either logged in or not ...
if (state.isOpened()) {
// make request to the /me API
Request request = Request.newMeRequest(this.getSession(),
new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user,
Response response) {
// TODO Auto-generated method stub
if (user != null) {
TextView etName = (TextView) findViewById(R.id.etName);
etName.setText(user.getName() + ","
+ user.getUsername() + ","
+ user.getId() + "," + user.getLink()
+ "," + user.getFirstName()+ user.asMap().get("email"));
}
}
});
Request.executeBatchAsync(request);
}
}
这篇关于使用新的Facebook的Android SDK访问用户的电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文