如何使用Facebook的SDK我取姓名和电子邮件 [英] How Do I Fetch Name and Email using Facebook SDK
本文介绍了如何使用Facebook的SDK我取姓名和电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用一个TextView显示姓名和电子邮件的登录facebook的用户,但我真的不知道我该如何获取姓名和电子邮件?
私人无效onSessionStateChange(会话的会话,SessionState会的状态,
例外的例外){
如果(会话!= currentSession){
返回;
}
如果(state.isOpened()){
//登录就这样发生了。
Toast.makeText(getApplicationContext(),会议开了,
Toast.LENGTH_SHORT).show();
}否则如果(state.isClosed()){
//注销就这样发生了。更新UI。
Toast.makeText(getApplicationContext(),会议结束,
Toast.LENGTH_SHORT).show();
}
}
解决方案
转寄此:详情这里
私有类SessionStatusCallback实现Session.StatusCallback {
私人字符串fbAccessToken;
@覆盖
公共无效呼叫(会话的会话,SessionState会状态,例外的例外){
的UpdateView();
如果(session.isOpened()){
fbAccessToken = session.getAccessToken();
//使请求来获取Facebook的用户信息
Request.executeMeRequestAsync(会话,新Request.GraphUserCallback(){
@覆盖
公共无效onCompleted(GraphUser用户,响应响应){
Log.i(FB,FB用户:+ user.toString());
串fbId = user.getId();
字符串fbAccessToken = fbAccessToken;
串fbName = user.getName();
。字符串性别= user.asMap()获得(性别)的toString();
。字符串email = user.asMap()获得(电子邮件)的toString()。
Log.i(FB,userProfile.getEmail());
}
});
}
}
}
I am using a TextView to show Name and Email of logged in facebook user, but i really don't know How do I fetch Name and Email ?
private void onSessionStateChange(Session session, SessionState state,
Exception exception) {
if (session != currentSession) {
return;
}
if (state.isOpened()) {
// Log in just happened.
Toast.makeText(getApplicationContext(), "session opened",
Toast.LENGTH_SHORT).show();
} else if (state.isClosed()) {
// Log out just happened. Update the UI.
Toast.makeText(getApplicationContext(), "session closed",
Toast.LENGTH_SHORT).show();
}
}
解决方案
Refer this: for details here
private class SessionStatusCallback implements Session.StatusCallback {
private String fbAccessToken;
@Override
public void call(Session session, SessionState state, Exception exception) {
updateView();
if (session.isOpened()) {
fbAccessToken = session.getAccessToken();
// make request to get facebook user info
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
Log.i("fb", "fb user: "+ user.toString());
String fbId = user.getId();
String fbAccessToken = fbAccessToken;
String fbName = user.getName();
String gender = user.asMap().get("gender").toString();
String email = user.asMap().get("email").toString();
Log.i("fb", userProfile.getEmail());
}
});
}
}
}
这篇关于如何使用Facebook的SDK我取姓名和电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文