Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.87
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
#1

Facebook api. Active access token - Android

04.05.2013, 02:01. Просмотров 3047. Ответов 18
Метки нет (Все метки)

Пишу приложение facebook мессенджер. Нашёл на одном сайте пример входа в аккаунт и загрузки списка друзей.
http://dajver.blogspot.com/2013/03/f...ndroid_11.html Также в примере присутствует ещё одно активити - DetalsActivity, в нём я хотел реализовать запрос на вывод последних сообщений с выбранным пользователем, но в ответ в json приходит:
An active access token must be used to query information about the current user
Данные о пользователе загружаются нормально, а запросы не проходят. Из сообщения понятно, что текущий access token не может выполнять запросы, а только выводит информацию о пользователе.
ВОПРОС: как получить access token с доступом к запросам?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.05.2013, 18:03     Facebook api. Active access token #2
А скажите, у вас грузиться что-нибудь в ListView??? У меня просто белый экран. Можете подробней рассказать что вы поменяли в исходниках от скачанного архива?
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 18:55  [ТС]     Facebook api. Active access token #3
грузиться список друзей. В исходном коде менять ничего не нужно, кроме как своего APP_ID

Добавлено через 44 минуты
Решил проблему путём установки объектов facebook и mAsyncRunner в MainActivity как public и использовал их в другом активити - MainActivity.facebook.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.05.2013, 19:05     Facebook api. Active access token #4
Интересно почему у меня после авторизации белый экран и всё.?
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 19:29  [ТС]     Facebook api. Active access token #5
Stylish2013, хмм раз авторизация проходит, то разрешение на интернет в манифесте стоит... Вы на эмуляторе и на устройстве тестировали?
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.05.2013, 19:58     Facebook api. Active access token #6
Да, и на эмуляторе и на устройстве. Может с ключами или Api что не так, может как-то не ак я зарегестрировал приложение новое или пакеты не так прописал.???
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 20:03  [ТС]     Facebook api. Active access token #7
Stylish2013, Есть способ понять с чем это связано.
В методе getProfileInformation после String json = response; вставьте:
Java
1
Log.d("TEST", json);
После скомпилируйте и смотрите в Logcat данный лог, в поле Text должна быть информация о ваших друзьях или информация об ошибке.
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
04.05.2013, 20:26     Facebook api. Active access token #8
у меня был белый экран из-за неправильного hash key.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.05.2013, 21:42     Facebook api. Active access token #9
Цитата Сообщение от ManHunter Посмотреть сообщение
После скомпилируйте и смотрите в Logcat данный лог, в поле Text должна быть информация о ваших друзьях или информация об ошибке.
Вот что у меня написало {"data":[]}

Цитата Сообщение от lavan Посмотреть сообщение
у меня был белый экран из-за неправильного hash key.
а что значит из за неправильного???? Не могли бы рассказать по какой инструкции его получали?

И может подскажите как получить инфу просто со своей страницы, имя и фото?
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 21:59  [ТС]     Facebook api. Active access token #10
Stylish2013, хахаха как бы это смешно не звучало, но у вас есть друзья в фейсбуке???
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.05.2013, 22:11     Facebook api. Active access token #11
Цитата Сообщение от ManHunter Посмотреть сообщение
хахаха как бы это смешно не звучало, но у вас есть друзья в фейсбуке???
Хахах как это бы смешно не звучало, но вы были правы)))))) Спасибо вам большое всё появилось!!!!!!!!

А теперь может подскажите как получить инфу просто со своей страницы, имя и фото?
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 22:27  [ТС]     Facebook api. Active access token #12
Вот хороший инструмент http://developers.facebook.com/tools...od=GET&path=me там можно производить запросы, только для начала нужно выбрать: Приложение (там где Graph API Explorer) и убедится, что предоставлены разрешения.
К примеру в поле вписываете me это ваш так скажем id, нажимаете отправить и вам Graph API Explorer выдаст всю инфу в формате json. Разобрать json не сложно, можете об этом почитать в интернете.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.05.2013, 22:28     Facebook api. Active access token #13
а как мне в android запрос сделать, тут на сайте у меня получается?
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 22:30  [ТС]     Facebook api. Active access token #14
Вот пример:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public void getProfileInfo() {
        
        // посылаем запрос на вывод всех друзей с картинками и именами
        mAsyncRunner.request("me", new RequestListener() {
            
            @Override
            public void onComplete(String response, Object state) {
 
                // json который приходит с сервера
                String json = response;
                
                try {
                    JSONObject profile = new JSONObject(json);
                    
                 textView.setText(profile.getString("id"));
                 textView.append(profile.getString("name"));
                 textView.append(profile.getString("birthday"));
 
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
 
            @Override
            public void onIOException(IOException e, Object state) {                    
            }
            @Override
            public void onFileNotFoundException(FileNotFoundException e,Object state) {                 
            }
            @Override
            public void onMalformedURLException(MalformedURLException e, Object state) {                    
            }
            @Override
            public void onFacebookError(FacebookError e, Object state) {                    
            }
        });
    }
Код не проверял, но думаю работать должно.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.05.2013, 22:58     Facebook api. Active access token #15
Скакжите пожалуйста, это я так понимаю получу список всех друзей, а как мне отправить запрос и получить своё имя и свою фотку, буду очень признателен. Сложно разобраться мне с Api facebook...
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 23:08  [ТС]     Facebook api. Active access token #16
Пример выше, что я привел и есть получение вашего id, name и birthday.
В кратце в String json = response; мы храним результат запроса "me" в формате json, который выглядит следующим образом:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{
  "id": "100002972385272", 
  "name": "Alexander  Kolosov", 
  "first_name": "Alexander", 
  "last_name": "Kolosov", 
  "link": "http://www.facebook.com/alexander.kolosov.77", 
  "username": "alexander.kolosov.77", 
  "birthday": "04/30/1993", 
  "bio": "Я не такой как все", 
  "education": [
    {
      "school": {
        "id": "111126128911097", 
        "name": "СШ №14"
      }, 
      "year": {
        "id": "143018465715205", 
        "name": "2000"
      }, 
      "type": "High School"
    }, 
    {
      "school": {
        "id": "123724004329588", 
        "name": "Полоцкий государственный университет"
      }, 
      "year": {
        "id": "105576766163075", 
        "name": "2015"
      }, 
      "concentration": [
        {
          "id": "161271313931932", 
          "name": "Программист"
        }
      ], 
      "type": "College"
    }, 
    {
      "school": {
        "id": "123724004329588", 
        "name": "Полоцкий государственный университет"
      }, 
      "year": {
        "id": "142963519060927", 
        "name": "2010"
      }, 
      "type": "College"
    }
  ], 
  "gender": "male", 
  "interested_in": [
    "female"
  ], 
  "relationship_status": "Single", 
  "email": "bymotors@bymotors.info", 
  "timezone": 3, 
  "locale": "ru_RU", 
  "verified": true, 
  "updated_time": "2012-06-16T00:27:36+0000"
}
далее мы создаём объект JSONObject в который помещается наши данные JSONObject profile = new JSONObject(json);
Теперь мы можем извлечь их profile.getString("id");
Также могут встречаться объекты и массивы они извлекаются при помощи getJSONArray и getJSONObject:
profile.getJSONArray("education").getJSONObject("school").getString("name")
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
05.05.2013, 00:18     Facebook api. Active access token #17
Огромнейшее спасибо Вам. Сча буду кодить!

Добавлено через 55 минут
Цитата Сообщение от ManHunter Посмотреть сообщение
textView.append(profile.getString("birthday"));
}
* * * * * * * * } catch (JSONException e) {
выделенная лишняя скобка может кому тож помогу этим.
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,235
10.03.2015, 16:53     Facebook api. Active access token #18
А можно, если есть access token загрузить всю страницу пользователя( скажем вконтакте или твиттер) в webview ?? Как это сделать, нужно ж для этого иметь url страницы пользователя?? Можете написать простенький фрагмент загрузки страницы пользователя в webview??

Добавлено через 53 минуты
как можно получить id userа вконтакте??
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2015, 17:13     Facebook api. Active access token
Еще ссылки по теме:

Facebook leaderboards Android
Android Получить token от менеджера аккаунтов
Android OAuth2 в google получить token через акаунт менеджер
Как работать с API VK / Facebook? Android
Android Ошибка minSDK(API 23, N preview) != deviceSDK(API 17)

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

Или воспользуйтесь поиском по форуму:
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
10.03.2015, 17:13     Facebook api. Active access token #19
Цитата Сообщение от yura91 Посмотреть сообщение
как можно получить id userа вконтакте??
самый простой способ - vk sdk
Yandex
Объявления
10.03.2015, 17:13     Facebook api. Active access token
Ответ Создать тему
Опции темы

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