使用新的图表api我们设法得到用户的个人资料图片(使用facebook按钮登录)。 这是一个片段。
GraphRequest request = GraphRequest.newMeRequest(
accessToken,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
// Application code
try {
Log.i("Response", response.toString());
Person person = new Person();
person.setEmail(response.getJSONObject().getString("email"));
person.setName(response.getJSONObject().getString("first_name") + " " +
response.getJSONObject().getString("last_name"));
person.setDevice_token(FirebaseInstanceId.getInstance().getToken());
if (response.getJSONObject().has("picture")) {
person.setPersonProfileImageURL(response.getJSONObject().getJSONObject("picture").getJSONObject("data").getString("url"));
}
person.setmPersonUid(uid);
mDatabase.setValue(person).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.i(" mDatabase.setValue", "task.isSuccessful");
}
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,email,first_name,last_name,picture.type(large)");
有没有办法链接到他们的Facebook个人资料?(即我们想要在我们的应用程序中显示一个链接到Facebook的个人资料) 我们认为也许连接的id与facebook.com/{id},但没有这样做。
发布于 2018-05-29 15:06:33
若要设置权限,请使用此命令或添加你正在使用的内容。
loginButton.setReadPermissions("user_link");
用于从图形API获取配置文件url。
GraphRequest request = GraphRequest.newMeRequest(
accessToken,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
// do your stuff
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "link");
request.setParameters(parameters);
request.executeAsync();
https://stackoverflow.com/questions/-100008601
复制相似问题