我正在使用Facebook登录Android。有用。我可以通过模拟器登录。但是,我需要将信息发送回我的Rails Rest API。在facebook回调成功后,我想发回访问令牌,提供商(“facebook”),uid,facebook用户名,facebook用户邮箱和facebook图标图标。
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.i("AUTHENTICATION TOKEN", String.valueOf(loginResult.getAccessToken()));
}
Logcat显示以下内容:
I/AUTHENTICATION TOKEN: {AccessToken token:ACCESS_TOKEN_REMOVED permissions:[public_profile, contact_email, email]}
如何获取所需信息onSuccess
?
答案 0 :(得分:1)
使用LoginResult.getAccessToken()
,
您需要使用收到的访问令牌调用Facebook Graph api。来自SDK Docs,
GraphRequest request = GraphRequest.newMeRequest(
accessToken,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
// Application code
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email");
request.setParameters(parameters);
request.executeAsync()
如果用户已向您的应用程序授予了所有必要的权限,则JSONObject object
将包含所需的用户信息
可以看到可供用户使用的字段列表here
答案 1 :(得分:0)
试试这个
Log.i("AUTHENTICATION TOKEN", AccessToken.getCurrentAccessToken().getToken());