Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Facebook API, Не могу получить сессию 
:(
    Опции темы
Norb
Дата 16.4.2009, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.1.2007

Репутация: нет
Всего: нет



Не могу справиться с фейсбуком... Вот участок кода:
Код

FacebookJsonRestClient client = new FacebookJsonRestClient("40f98d71e161e98ac05dde4131f98a4b","******************************"); //apiKey, secretKey
        String s;
        try {

            s = client.auth_createToken();

            BareBonesBrowserLaunch.openURL("http://www.facebook.com/login.php?apikey=40f98d71e161e98ac05dde4131f98a4b&v=1.0&auth_token=" + s);
            System.out.println("log in to facebook and press enter.");


            try {

                System.in.read();

            } catch (IOException e) {
                e.printStackTrace();  
            }

            System.out.println(client.auth_getSession(s));

        } catch (FacebookException e) {
            e.printStackTrace(); 
        }


        try {
            client.friends_get();
        } catch (FacebookException e) {
            e.printStackTrace();
        }

        FriendsGetResponse response = (FriendsGetResponse)client.getResponsePOJO();
        List<Long> friends = response.getUid();
        System.out.println(friends.size());


Приложение я авторизовал, а вот войти под своим аккаунтом не получается, после того, как отсылается запрос в браузер и я логинюсь, пытаюсь получить сессию и список друзей, а тут вываливаются исключения:

Код

com.google.code.facebookapi.FacebookException: Invalid parameter
    at com.google.code.facebookapi.FacebookJsonRestClient.parseCallResult(FacebookJsonRestClient.java:351)
    at com.google.code.facebookapi.ExtensibleClient.callMethod(ExtensibleClient.java:531)
    at com.google.code.facebookapi.ExtensibleClient.callMethod(ExtensibleClient.java:467)
    at com.google.code.facebookapi.FacebookJsonRestClient.auth_getSession(FacebookJsonRestClient.java:275)
    at FacebookContactImport.<init>(FacebookContactImport.java:37)
    at FacebookContactImport.main(FacebookContactImport.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
com.google.code.facebookapi.FacebookException: Session key invalid or no longer valid
    at com.google.code.facebookapi.FacebookJsonRestClient.parseCallResult(FacebookJsonRestClient.java:351)
    at com.google.code.facebookapi.ExtensibleClient.callMethod(ExtensibleClient.java:531)
    at com.google.code.facebookapi.ExtensibleClient.callMethod(ExtensibleClient.java:453)
    at com.google.code.facebookapi.ExtensibleClient.friends_get(ExtensibleClient.java:817)
    at com.google.code.facebookapi.FacebookJsonRestClient.friends_get(FacebookJsonRestClient.java:639)
    at FacebookContactImport.<init>(FacebookContactImport.java:44)
    at FacebookContactImport.main(FacebookContactImport.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Exception in thread "main" java.lang.NullPointerException
    at FacebookContactImport.<init>(FacebookContactImport.java:49)
    at FacebookContactImport.main(FacebookContactImport.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

Т.е. указывают на строки System.out.println(client.auth_getSession(s));, client.friends_get(); и List<Long> friends = response.getUid();

Я понимаю, может плохо объяснил, если нужно, попытаюсь уточнить. Облазил всё, что можно, сравнивал с примерами, читал на форумах фейсбука - ничего не пойму! Если кто-нибудь с таким работал, подскажите.

На всякий случай добавлю:
BareBonesBrowserLaunch - класс, который открывает окно браузера и отправляет http-запрос, который передаётся статическому методу. Исходник есть в интернете.

Это сообщение отредактировал(а) Norb - 16.4.2009, 22:52
PM MAIL   Вверх
dementiev
Дата 22.4.2009, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.2.2008
Где: Минск

Репутация: нет
Всего: 1



Norb, ты справился со своей задачей? 

Я тоже пробую сделать кое-чего в FB,
Код

            String sessionKey = request.getParameter(FacebookParam.SESSION_KEY.toString());
            //initialize a facebook xml client (you can choose different client version: xml, jaxb or json)
            //the init is done by apiKey, secretKey and session key previosly requested
            FacebookXmlRestClient client = new FacebookXmlRestClient(apiKey, secretKey, sessionKey);

            //This code line obtain the user logged id
            Long uid = client.users_getLoggedInUser();
 
Валится следующий exception
Код

com.google.code.facebookapi.FacebookException: A session key is required for calling this method


PM MAIL   Вверх
COVD
Дата 23.4.2009, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



offtopic
Цитата

Не могу справиться с фейсбуком... 

Интересно, а как владельцы относятся к попыткам энтузиастов "справиться", т.е. сделать своего клиента к их сервису. Неужели положительно? Филантропы? Ведь они наверняка живут рекламой, размещаемой в их родном клиенте.

PM MAIL   Вверх
SoulKeeper
Дата 23.4.2009, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.1.2007
Где: Ukraine, Lviv.

Репутация: 11
Всего: 15



Ничего сложного там с фейсбуком нет, во всяком случае год назад небыло.

Помню что тогда занимался интеграцией сайта в фейсбук, апи использовал какое-то code.google вместо их родного. Они по идее вообще отказались от поддержки java апи.
PM MAIL   Вверх
dementiev
Дата 23.4.2009, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.2.2008
Где: Минск

Репутация: нет
Всего: 1



реально ли в своём веб-приложении находить данные о людях в соц. сетях( facebook, linkedin, vkontakte ..). 

Например: ввожу поиск по фамилии "dementiev", обращаюсь к их api, они мне отдают всю инфу о всех дементьевых в их сети. Проблема в том, что facebook требует, чтобы пользователь нашего приложения был авторизован у них (т.е. если не авторизован, то кидает на страницу логина/пароля фэйсбука).
Т.е. я хочу сделать поиск по соц.сети, и чтобы мои пользователи, не имея логина в соц. сети, могли пользоваться поиском.

Кто-нибудь решал похожую задачу? Подскажите.

  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.