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

2 минуты на чтение

Всем привет, давненько я не писал именно по проекту 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:\\

Исходник прикладывать не буду, так как весь исходник — это статья (то что находиться в статье)

Facebook Vk Ok Twitter LinkedIn Telegram

Похожие записи:

Здравствуйте, давненько я не писал про проект VK API в Delphi, на этот раз хочу продолжить серию статей про данный проект, тем более, что еще достаточно много не рассмотрено функций по работе с VK API. В последних статьях про VK API в Delphi мы рассмотрели фун...
Вот хочу запустить проект VK API в Delphi(Вконтакте API в Delphi), в связи с тем, что сам сайт вконтакте открыл возможно обращаться к серверу API Vkontakte из Desktop-приложений. Довольно интересно, так как можно написать свой IM-клиент для контакта и общаться...
Средства отладки в Delphi - это инструменты, предоставляемые средой разработки Delphi, которые помогают программистам исследовать и исправлять ошибки в своих программных решениях. Одним из основных средств отладки в Delphi является "Отладчик". Он позволяет про...