【发布时间】:2015-04-29 20:19:51
【问题描述】:
我已经在我的工作室成功安装了 android sdk v4.0。 我可以使用 LoginButton 正确登录。
到目前为止一切正常。
我想为每个收集我感兴趣的用户数据创建一个字符串,例如:
字符串名称 = USER_NAME String = USER_MAIL 邮件。
使用 3.0 sdk 可以正常使用。
使用新的 SDK 我不能这样做,我按照这个线程中的说明进行操作:
Android Facebook 4.0 SDK How to get Email, Date of Birth and gender of User
我阅读了有关“使用图形 API” 的文档和各种线程,但我无法获取我正在寻找的数据并将它们分配给每个字符串。
这是我的代码(就像现在一样):
LoginButton loginButton;
private CallbackManager mCallbackManager;
//...
loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setReadPermissions(Arrays.asList("public_profile, email, user_birthday, user_friends"));
mCallbackManager = CallbackManager.Factory.create();
//...
loginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
Toast.makeText(Ready.this, "Connected!", Toast.LENGTH_SHORT).show();
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
// Application code
Log.v("LoginActivity", response.toString());
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender, birthday");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
// App code
Log.v("LoginActivity", "cancel");
}
@Override
public void onError(FacebookException exception) {
// App code
Log.v("LoginActivity", exception.getCause().toString());
}
});
正如我之前所说,我与 facebook 完美连接,但不知道如何分配,例如,将电子邮件分配给一个字符串,将名称分配给另一个字符串。
非常感谢您。
【问题讨论】:
标签: android facebook-graph-api facebook-sdk-4.0