我正在使用facebook sdk和android,当我使用user.getbirthday时,它总是为空。
我已添加权限
LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
authButton.setFragment(this);
authButton.setReadPermissions(Arrays.asList("user_birthday", "user_likes"));
我这样要求
private void onSessionStateChange(Session session, SessionState state, Exception exception) {
if (state.isOpened()) {
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Age = user.getBirthday();
}
}
}).executeAsync();
}
}
但字符串年龄保持为空。
好吧我弄清楚了,它真的很简单,在我的应用程序上它记得我的登录而且我再也没有点击登录按钮,所以在我添加生日许可后我从未点击过按钮,它是未经许可自动登录
我刚刚清除了应用数据并再次使用facebook登录并且运行正常。
答案 0 :(得分:0)
您忘了拨打executeAsync
()
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Age = user.getBirthday();
}
}
}).executeAsync();