Я использую facebook sdk 3.5 в родном Android. Вот как я получаю идентификатор/имя моих друзей в Facebook:
private void onSessionStateChange(final Session session,
SessionState state, Exception exception) {
System.out.println("onSessionStateChanged");
if (session != null && session.isOpened()) {
if (state.equals(SessionState.OPENED_TOKEN_UPDATED)) {
tokenUpdated();
} else {
getUserRequest(session);
getFriendsRequest(session);
}
} else {
profilePictureView.setProfileId(null);
userNameView.setText("");
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(getActivity(), requestCode,
resultCode, data);
// uiHelper.onActivityResult(requestCode, resultCode, data,
// nativeDialogCallback);
}
private void getFriendsRequest(Session session) {
session.requestNewReadPermissions(new NewPermissionsRequest(
getActivity(), PERMISSIONS));
final ProgressDialog dialog = new ProgressDialog(getActivity());
// get friends details
Request request = Request.newMyFriendsRequest(session,
new Request.GraphUserListCallback() {
@Override
public void onCompleted(List<GraphUser> users,
Response response) {
// if no errors
if (response.getError() == null) {
if (users != null) {
for (GraphUser user : users) {
FacebookFriend fb = new FacebookFriend(user
.getId(), user.getName(), "", "",
"", 0);
friends.add(fb);
}
....
}
}
Теперь ответ такой:
{Response: responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"data":[{"id":"213","name":"Test name"}]}}, error: null, isFromCache:false}
Здесь все отлично, но таких деталей, как электронная почта (если она предоставлена), местоположение, имя пользователя нет в :
GraphObject{graphObjectClass=GraphUser, state={"id":"60711232217","name":"Test"}}
Где я должен установить разрешения? Это мой запрос:
{Request: session: {Session state:OPENED, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[email, user_location, user_friends, friends_location, basic_info]}, appId:111111}, graphPath: me/friends, graphObject: null, restMethod: null, httpMethod: GET, parameters: Bundle[{access_token=dasdasdasdasdsada, format=json, sdk=android, migration_bundle=fbsdk:20130708}]}
Где я должен добавить эти разрешения, чтобы получить более подробную информацию?
Спасибо.
email
разрешение? - person sromku   schedule 13.09.2013me/friends?fields=id,name,location,email
вы должны получить информацию о своих друзьях, а не о своих, иemail
ваших друзей не будут получены ни с каким токеном доступа - person sromku   schedule 13.09.2013