Проект VK API в Delphi. Выполнение запросов без авторизации

Всем привет, давненько я не писал именно по проекту VK API в Delphi, которые за последние 3 месяца потерпел серьезные изменения, это в первую очередь связано с тем, что каждый месяц, разработчики Вконтакте стараются вводить нововведения в данную социальную сеть. В связи с этим появились новые методы API, например, такие как, работа с подписчиками, работа с желаниями и так далее.

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

Для некоторых, возможно это будет неудобно, так как, во-первых, не все методы таким образом доступны и на сколько я знаю, данный способ выводит результат в формате JSON.

Кроме всего этого, данные запросы осуществляются по защищенному протоколу, а кроме всего этого методом GET, но это нас не смущает, так как мы рассматривали, как работать с TIdHTTP по защищенному протоколу страниц, а если уже не заработает, то можно воспользоваться библиотекой Synapse, которая также неплохо справляется с работой с защищенными страницами.

Естественно не все запросы API будут работать без авторизации приложения, в основном это запросы, которые имеют небольшую битовую маску доступа к странице пользователя.

Итак, приступим, создадим проект в Delphi и на форму установим следующие компоненты:
    TIdHTTP
    TIdSSLIOHandlerSocketOpenSSL
    TButton

Кроме всего этого нам необходимы следующие библиотеки:

libeay32.dll
ssleay32.dll

Так как, данные запросы работают по зазщищенному протоколу, а Indyстандарнтыми средствами не справляется с SSL, то давайте вспомним статьюIndy+SSL. Загрузка https-страниц. TIdHTTP+SSL.

Теперь нам остаются просто связать компонент TidHTTP с компонентомTIdSSLIOHandlerSocketOpenSSL в свойстве IOHandler и написать следующий код:
Исходный код
procedure TForm1.btn1Click(Sender: TObject);
var
 html:WideString;
begin
   html:=idhtp1.Get('https://api.vkontakte.ru/method/getProfiles?uids=1&fields=photo');
   ShowMessage(html);
end;

Теперь остается только использовать JSON-библиотеку для парсинга данных или написать самому.

Все запросы обязательно осуществляются по защищенному протоколу, так что не забывайте в запросе указывать https:\\

Исходник прикладывать не буду, так как весь исходник — это статья (то что находиться в статье)
Добавлено: 15 Августа 2013 05:58:35 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...