Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/23: Рейтинг темы: голосов - 23, средняя оценка - 4.91
ManHunter
13 / 13 / 6
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
#1

Facebook api. Active access token

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

Пишу приложение facebook мессенджер. Нашёл на одном сайте пример входа в аккаунт и загрузки списка друзей.
http://dajver.blogspot.com/2013/03/facebook-api-android_11.html Также в примере присутствует ещё одно активити - DetalsActivity, в нём я хотел реализовать запрос на вывод последних сообщений с выбранным пользователем, но в ответ в json приходит:
An active access token must be used to query information about the current user
Данные о пользователе загружаются нормально, а запросы не проходят. Из сообщения понятно, что текущий access token не может выполнять запросы, а только выводит информацию о пользователе.
ВОПРОС: как получить access token с доступом к запросам?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2013, 02:01
Ответы с готовыми решениями:

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

Как работать с API VK / Facebook?
Добрый день, хочу сделать приложение про универ, в общем разобрался как что...

Facebook api. Отправка личного сообщения
Здравствуйте. Не получается создать запрос на отправку личного сообщения...

Android SDK Manager не отображает платформы 2.3.3 (API 10), 2.3.1 (API 9). Как быть?
Добрый день! Использую Android Studio под Windows 7. Из-за несовместимости с...

Android Studio не дает работать с API 8 без установленного API 21
Удалил все не интересующие меня библиотеки и поставил только API Level 8. Но...

18
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.05.2013, 18:03 #2
А скажите, у вас грузиться что-нибудь в ListView??? У меня просто белый экран. Можете подробней рассказать что вы поменяли в исходниках от скачанного архива?
0
ManHunter
13 / 13 / 6
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 18:55  [ТС] #3
грузиться список друзей. В исходном коде менять ничего не нужно, кроме как своего APP_ID

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

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

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

А теперь может подскажите как получить инфу просто со своей страницы, имя и фото?
0
ManHunter
13 / 13 / 6
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 22:27  [ТС] #12
Вот хороший инструмент http://developers.facebook.com/tools/explorer/?method=GET&path=me там можно производить запросы, только для начала нужно выбрать: Приложение (там где Graph API Explorer) и убедится, что предоставлены разрешения.
К примеру в поле вписываете me это ваш так скажем id, нажимаете отправить и вам Graph API Explorer выдаст всю инфу в формате json. Разобрать json не сложно, можете об этом почитать в интернете.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.05.2013, 22:28 #13
а как мне в android запрос сделать, тут на сайте у меня получается?
0
ManHunter
13 / 13 / 6
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 22:30  [ТС] #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) {                    
            }
        });
    }
Код не проверял, но думаю работать должно.
1
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
04.05.2013, 22:58 #15
Скакжите пожалуйста, это я так понимаю получу список всех друзей, а как мне отправить запрос и получить своё имя и свою фотку, буду очень признателен. Сложно разобраться мне с Api facebook...
0
ManHunter
13 / 13 / 6
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
04.05.2013, 23:08  [ТС] #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")
1
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
05.05.2013, 00:18 #17
Огромнейшее спасибо Вам. Сча буду кодить!

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

Добавлено через 53 минуты
как можно получить id userа вконтакте??
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
10.03.2015, 17:13 #19
Цитата Сообщение от yura91 Посмотреть сообщение
как можно получить id userа вконтакте??
самый простой способ - vk sdk
0
10.03.2015, 17:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2015, 17:13

Ошибка minSDK(API 23, N preview) != deviceSDK(API 17)
Недавно начал учить андроид и возникла такая ошибка, когда я пытаюсь запустить...

API Facebook, отправляем сообщение на страницу Facebook из PHP
Всем привет! При отправке сообщения почему-то НЕ происходит автоматический...

FaceBook API, спарсить новости из группы FaceBook
Добрый день, подскажите пожалуйста как спарсить новости из группы FaceBook...


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

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

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