Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
1

Как достать expires_in при авторизации через Facebook

01.08.2013, 05:52. Просмотров 802. Ответов 7
Метки нет (Все метки)

При авторизации через Фейсбук он в лог выводит

XML
1
FacebookSDK.WebDialog      Redirect URL: fbconnect://success#access_token=CAAGf4yZCCK1gBAKtDOt1kQ2PZAP2OrMiBvnzzHuDPHmOf6v61WUZCGFyGzZBd9uT42H&expires_in=1171111
токен я так могу получить
Java
1
Log.i(TAG, "Access Token :)=" + session.getAccessToken());
время жизни expires так
Java
1
Log.i(TAG, "Expiration Date :)=" + session.getExpirationDate());
а вот сам expires_in - достать не знаю как, пересмотрел уже все методы. Скажите как его достать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2013, 05:52
Ответы с готовыми решениями:

Открыть сессию Facebook по token без окна авторизации
Подскажите, каким образом правильно использовать метод...

Веб авторизация, достать куки из авторизации через webBrowser
Вход на сайте провожу через контрол webBrowser, потому что на сайте...

Как достать cookies авторизации на сайте?
Здравствуйте! Подскажите пожалуйста как достать cookies авторизации на...

Как сделать авторизацию через Facebook?
Добрый день! Кто сталкивался с авторизацией через facebook - подскажите как...

Возникает ошибка при попытке авторизации в ВК через VkApi
Ребята есть некая задача. Нужно написать простенькую программу для работы с ВК....

7
Wenceslaus
Android Developer
130 / 130 / 6
Регистрация: 05.07.2013
Сообщений: 205
01.08.2013, 11:58 2
Что пишет session.getExpirationDate()? Если я правильно прочёл исходники, expires_in и ExpirationDate - идентичны, за исключением формата представления, expires_in - Long (и используется только для хранения в Bundle), ExpirationDate - Date (используется для вычислений/представления).
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
01.08.2013, 18:10  [ТС] 3
Цитата Сообщение от Wenceslaus Посмотреть сообщение
session.getExpirationDate()
выдает дату (в виде даты) до какого числа будет жить expires.

Цитата Сообщение от Wenceslaus Посмотреть сообщение
expires_in
выдает число вида 111111 и да вроде это long.
0
Wenceslaus
Android Developer
130 / 130 / 6
Регистрация: 05.07.2013
Сообщений: 205
01.08.2013, 18:32 4
Цитата Сообщение от Stylish2013 Посмотреть сообщение
выдает дату (в виде даты) до какого числа будет жить expires.
Какую конкретно дату выдаёт? Что в логе пишет?
Ибо я подозреваю, что:
Java
1
expires_in == session.getExpirationDate().getTime();
Просто сравните их..
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.08.2013, 17:35  [ТС] 5
Цитата Сообщение от Wenceslaus Посмотреть сообщение
session.getExpirationDate().getTime();
возвращает -9223372036854775808

Цитата Сообщение от Wenceslaus Посмотреть сообщение
expires_in
а вот expires_in выглядит 5181412
0
Wenceslaus
Android Developer
130 / 130 / 6
Регистрация: 05.07.2013
Сообщений: 205
05.08.2013, 11:27 6
Тогда без вариантов: expires_in временная переменная, используемая SDK в момент авторизации. Не думаю, что её можно как-то получить..
Если есть время/возможности, можете просмотреть в debugger'е её жизненный цикл и поставить точку в этом вопросе. Есть люди, которым это будет интересно..
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
05.08.2013, 20:29  [ТС] 7
Цитата Сообщение от Wenceslaus Посмотреть сообщение
Если есть время/возможности, можете просмотреть в debugger'е её жизненный цикл
а что вы имеете ввиду? сколько она времени живет?
0
Wenceslaus
Android Developer
130 / 130 / 6
Регистрация: 05.07.2013
Сообщений: 205
06.08.2013, 11:29 8
Stylish2013, и это тоже. Но я имел ввиду весь спектр её существования: где создаётся, при каких условиях, где изменяется, где хранится, где выводится в log и пр. Если это всё проанализировать, то можно найти способы её получить или воссоздать.
К примеру, в log её выводит класс DialogWebViewClient:
Java
1
2
3
4
5
6
        private class DialogWebViewClient extends WebViewClient {
        @Override
        @SuppressWarnings("deprecation")
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            Utility.logd(LOG_TAG, "Redirect URL: " + url);
            //...
как видим, сюда её устанавливает в формате ссылки класс WebDialog:
Java
1
2
3
4
5
6
7
8
    public class WebDialog extends Dialog {
    //...
    @SuppressLint("SetJavaScriptEnabled")
    private void setUpWebView(int margin) {
        //...
        webView.setWebViewClient(new DialogWebViewClient());
        //...
        webView.loadUrl(url);
в этот класс она попадает во время его создания:
Java
1
2
3
4
    public WebDialog(Context context, String url, int theme) {
        super(context, theme);
        this.url = url;
    }
далее ищем, кто вызывает этот конструктор, там же ищем и стоку создания этой expires_in. Когда всё найдено, ставим точки прерывания, запускаем приложение в режиме отладки и наблюдаем за развитием переменной.

P.S. Она того стоит? Хотя нет, спрошу по другому: зачем expires_in вам понадобилась?
0
06.08.2013, 11:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2013, 11:29

Ошибка при авторизации через django-social-auth в VK.COM
День добрый! (Python 3.4, Django 1.6.3) Экспериментирую с авторизацией через...

Как достать значение суммы повторившихся строк в поле через VBA
В форме "Составления наряда1" есть форма "Составления наряда2", в ней есть поле...

Можно ли как нибудь через VB достать данные из базы данных Clarion?
Помогите плиз, можно ли как нибудь через VB достать данные из базы данных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru