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

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


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


Метки: , , , , , , , , ,




К записи “Проект VK API в Delphi. Выполнение запросов без авторизации” оставлено комментариев: 7.

  1. teran:

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

    • Andrey53:

      нет, сейчас уже по защищенной странице осуществляется, если просто по http:// то данные будут заполняться эрорами

  2. VeTaL_UA:

    Можешь исходники выложить? А то не получается что-то. С авторизацией на ура все идет, а вот без нее…

  3. vkApi:

    Вот класс для работы с vk Api на Delphi:

    http://www.delphisources.ru/fo.....hp?t=17957

Оставить комментарий на teran

Вы можете использовать следующие теги:

*