Проект VK API в Delphi. Список фотографий, на которых отмечен пользователь

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

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

  • photos.getUserPhotos

У него следующие параметры

  • api_id - идентификатор приложения
  • sig - подпись безопасности
  • v - версия API, в документации ВК — 2.0, на самом деле — 3.0
  • uid - идентификатор пользователя, для которого необходимо смотреть список фотографий, на которых он отмечен
  • offset - смещение необходимое для выборки фотографий
  • count - количество фотографий, которое необходимо получить, но не больше 100 фотографий
  • format - формат данных — XML или JSON
  • test_mode - если равен 1, то разрешает тестовые запросы к данным приложения

Первые 3 параметра являются обязательными, так что не забудьте составить подпись безопасности правильно, то есть в алфавитном порядке. Результатом работы запроса будет массив объектов

Это

  • count - количество фотографий, на которых отмечен пользователь
  • created - время отметки фото
  • src, src_big, src_small — фотографии в разных разрешениях

А также кто отмечал кого отмечали — то есть идентификаторы этих пользователей.

На форму добавил лишь TButton и TListBox, в TListBox будем отображать ссылки наших фотографий. Для этого на OnClick кнопки напишем код получения наших ссылок, для этого еще в Uses подключим модуль Parser, который поможет нам без цикла получать список фотографий. Для этого мы лишь только создадим объект класса

procedure TForm1.Button24Click(Sender: TObject);
var
 sig:string;
 ParsXML:TParserXML;
begin
   try
    ParsXML:=TParserXML.Create;
    PostVK:=TStringList.Create;
    sig:=Pchar(LabelMid.Caption)+'api_id=1918788format=XMLmethod=photos.getUserPhotosuid='+Edit7.Text+'v=3.0'+Pchar(LabelSecret.Caption);
    sig:=md5(sig);
    PostVK.Clear;
    PostVK.Add('api_id=1918788');
    PostVK.Add('sig='+sig);
    PostVK.Add('v=3.0');
    PostVK.Add('method=photos.getUserPhotos');
    PostVK.Add('format=XML');
    PostVK.Add('uid='+Edit7.Text);
    PostVK.Add('sid='+Pchar(LabelSid.Caption));
    logVK:=IdHTTP1.Post('https://api.vkontakte.ru/api.php',PostVK);
    ListBox12.Items:=ParsXML.ParsXMLArr(logVK,'src_big');
    PostVK.Free;
    ParsXML.Free;
   except
    on e:Exception do
     begin
      ParsXML.Free;
      PostVK.Free;
     end;
   end;
end;

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

Facebook Vk Ok Twitter LinkedIn Telegram

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

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