Здравствуйте, в этой статье хотел бы все также продолжить тему о работе с фотографиями в ВК. На этот раз хотел бы рассмотреть — получение фотографий, на которых отмечен пользователь, то есть не обязательно, чтобы это были именно Вы, можно также и получить фотографии, на которых отмечен какой-либо Ваш друг. Немного раньше мы рассмотрели как нам можно лучше сделать парсинг 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('http://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;

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

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

Метки: , , , , ,




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

  1. Аноним:

    PostVK.Free;
    ParsXML.Free;
    except
    on e:Exception do
    begin
    ParsXML.Free;
    PostVK.Free;
    end;
    end;
    замените этот блок на:
    finally
    ParsXML.Free;
    PostVK.Free;
    end;

  2. Andrey53:

    Можно итак, не против

  3. Маша:

    блин сложно для меня

  4. for:

    Пожалуйста, выложите все файлы проекта.

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

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

*