Вернуться   D3Scene.Ru Софт портал игр | Хаки | Проги | Статьи > Другое > Социальные Сети > ВКонтакте
Присоединяйся к нам

ВКонтакте Самая популярная социальная сеть в России.



Ответ
 
Опции темы Опции просмотра
Старый 05.08.2010, 09:48   #1
This? On Melancholy Hill




 
Аватар для UnDeaDRoCUser
 
Регистрация: 18.09.2008
Адрес: system32
Сообщений: 5,237
Репутация: 1415
Отправить сообщение для UnDeaDRoCUser с помощью ICQ Отправить сообщение для UnDeaDRoCUser с помощью Skype™
Автор Сообщение

Delphi. API ВКонтакте


Совсем недавно ВКонтакте разрешила Desktop-приложениям получать все необходимые права, чтобы полноценно работать с соц. сетью методами API. Фактически это было сделано, дабы дать возможность создать клиент для общения, который бы использовал не XMPP (Jabber), а только лишь API.

Здесь я покажу, как можно легко и просто создать своё Desktop-приложение и пользоваться всеми благами API ВКонтакте.
Для начала нужно указать ВК, что мы создали своё приложение и хотим им пользоваться. Для этого переходим на страницу добавления приложений и жмем на “Создать приложение”. [Ссылки скрыты от гостей.]



Дальше вводим название, выбираем “Desktop-приложение” и жмем “Перейти к загрузке приложения”.



Теперь в настройках приложения можно увидеть его ID. Это главное, что нам нужно для работы.



Теперь переходим к написанию программы. Я уже подготовил готовный исходник, в котором прописан ID моего приложения (можете пользоваться им или вписать свой).



Итак, в самом начале новому пользователю приложения необходимо добавить его в свои приложения и дать ему необходимые права (это достаточно сделать один раз для конкретного пользователя). Для этого вводим Логин, Пароль и с помощью компонента TWebBrowser переходим на страницу

Код:
http://vkontakte.ru/login.php?app=ID_вашего_приложения&layout=popup&type=browser&settings=15615
И добавляем приложения, а также даем ему все необходимые права.
Параметр settings здесь показывает, какие права > [Ссылки скрыты от гостей.] запросит приложение при добавлении. Для получения всех возможных прав нужно выставить значение параметра 15615.

После добавления приложения мы может авторизоваться > [Ссылки скрыты от гостей.] им.

После успешной авторизации ВК выдаст:
- mid – равен ID пользователя
- sid – идентификатор сессии
- secret – специально сгенерированный секрет сессии
Эти параметры пригодятся при использовании методов.

В данной программе можно воспользоваться четырьмя методами API. Первый из них – friends.get > [Ссылки скрыты от гостей.] . Позволяет получить список друзей пользователя. И список сразу же будет парситься и записываться в ListView.

На примере этого метода покажу, как делать запрос. Для начала нужно высчитать подпись запроса (sig) > [Ссылки скрыты от гостей.] . Она представляет собой md5 следующей строки:

Код:
значение_midapi_id=ID_приложенияfields=поля_анкет_которые_хотите_получить_(sex, bdate и т.д.)format=XMLmethod=название_метода_(friends.get)v=3.0значение_secret
Здесь нужно обратить внимание, что все параметры, что находятся между значение_mid и значение_secret должны располагаться по алфавиту, т.е.:
- api_id=
- fields=
- format=
- method=
- v=

После этого сам запрос:

Код:
http://api.vkontakte.ru/api.php?api_id=название_метода_(friends.get)&sid=значение_sid&sig=значение_sid&v=3.0&fields=поля_анкет_которые_хотите_получить_(sex, bdate и т.д.)
В ответ сервер выдаст результат в формате XML со списком ID друзей и полями анкет, которые запросили. Остается лишь спарсить всё это.

Вторым методом является [Ссылки скрыты от гостей.]. Получает информацию о пользователе по его ID и вписывает ее в соответствующие поля.

При клике на пользователе в списке ListView программа делает еще два запроса: [Ссылки скрыты от гостей.] (получает название города по его ID) и [Ссылки скрыты от гостей.] (получает название страны по ее ID). А также запрашивается фото пользователя, которое выводится на форму (если такового нет, то выводится изображение из файла).

[Ссылки скрыты от гостей.]
__________________
[ [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | ]

[ [Ссылки скрыты от гостей.] ]


Последний раз редактировалось Nexus; 05.08.2010 в 22:21.
  Ответить с цитированием Наверх
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Powered by vBulletin
Copyright © 2017 vBulletin Solutions, Inc.
Перевод: zCarot | Дизайн: G-A | Верстка: OldEr
Текущее время: 19:35. Часовой пояс GMT +4.