我想添加从facebook android sdk读取email
的权限。
Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state,
Exception exception) {
// TODO Auto-generated method stub
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session,
new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user,
Response response) {
if (user != null) {
et_firstName.setText(user
.getFirstName());
et_lastName.setText(user
.getLastName());
Log.e("data",
user.asMap().get("email")
+ "");
URL image_value;
try {
image_value = new URL(
"http://graph.facebook.com/"
+ user.getId()
+ "/picture");
iv_profileImage
.setImageBitmap(BitmapFactory
.decodeStream(image_value
.openConnection()
.getInputStream()));
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} else {
}
}
});
}
}
});
我读了很多,可以使用loginbutton
来完成,但我不想使用loginbutton。
我也读到如果我不想使用logingbutton
,我必须使用openfor
会话,但我不知道如何使用
答案 0 :(得分:1)
如果您使用LoginButton,请使用:
loginButton.setReadPermissions(Arrays.asList("email"));
如果您自己启动会话,请使用:
session.openForRead(new Session.OpenRequest(this).setPermissions(Arrays.asList("email")));
请求/权限有用链接:https://developers.facebook.com/tools/explorer/
成功登录后,再次尝试请求,包括电子邮件字段。