Получить текущий идентификатор Facebook при первом звонке - PullRequest
2 голосов
/ 14 июня 2011

Я использую Android-версию Facebook Graph-API.А для обработки входа в систему мы делаем простой диалог авторизации, который вызывает onComplete, если все работает нормально.Однако проблема в том, что мне нужен идентификатор пользователя, поэтому мне нужно сделать последовательный facebook.request("me"), чтобы получить его.Есть ли способ получить идентификатор пользователя в логике авторизации ??Значения пакета возвращают только acess_token и expire_time

facebook.authorize(this, permissions, new DialogListener() {
        @Override
        public void onComplete(Bundle values) {
            login();
        }

        @Override
        public void onFacebookError(FacebookError error) {}

        @Override
        public void onError(DialogError e) {}

        @Override
        public void onCancel() {}
    });

Ответы [ 2 ]

1 голос
/ 14 июня 2011

Хорошо, после некоторого поиска в Google я нашел некоторую информацию о access_token. Одна интересная часть состоит в том, что она содержит подстроку, которая идентифицирует идентификатор пользователя. Токен доступа имеет следующий формат:

116122545078207|2.1vGZASUSFMHeMVgQ_9P60Q__.3600.1272535200-500880518|QXlU1XfJR1mMagHLPtaMjJzFZp4.

Часть, идентифицирующая идентификатор пользователя, находится со второго | до первого левого -, поэтому идентификатор пользователя вышеуказанного токена доступа: 500880518

Чтобы взять это, просто сделайте:

public void onComplete(Bundle values) {
    String token = values.getString("access_token");
    String[] firstPart = token.split("\\|");
    String[] subPart = firstPart[1].split("-");
    long id = Long.parseLong(subPart[subPart.length - 1]);
}
0 голосов
/ 14 июня 2011

просто нет ... вы должны позвонить пользователю / мне для этого. но вы можете получить его последовательно после завершения авторизации, потому что для получения любой информации от Facebook, которая не является общедоступной, вам нужен токен, и авторизация просто возвращает информацию для аутентификации. то, что вы спрашиваете, похоже на то, что вы хотите получить список друзей, позвонив на стене ... звонки не взаимосвязаны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...