我一直在使用Google搜索,但未能找到有关如何访问我的个人资料教育和工作领域的全面答案。我感兴趣的只是学校的名称和公司用户的工作。我尝试使用GraphRequest.newMeRequest()方法。这是我的代码:
private void getUserInfoFromResult(LoginResult loginResult){
GraphRequest request=GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
try{
JSONObject userObject=response.getJSONObject();
String firstName=userObject.getString("first_name");
String lastName=userObject.getString("last_name");
JSONArray education=userObject.getJSONArray("education");
JSONArray work=userObject.getJSONArray("work");
}
catch (JSONException e){
}
}
});
Bundle parameters=new Bundle();
parameters.putString("fields","first_name,last_name,education,work");
request.setParameters(parameters);
request.executeAsync();
}
我能够检索用户的名字和姓氏,但response
对象不会返回教育和工作字段。
答案 0 :(得分:1)
还添加访问教育详细信息的权限。像...
LoginManager.getInstance().logInWithReadPermissions(Login.this, Collections.singletonList("public_profile, email, user_birthday, user_education_history, user_location"));