Здравствуйте, давненько я не писал про проект VK API в Delphi, на этот раз хочу продолжить серию статей про данный проект, тем более, что еще достаточно много не рассмотрено функций по работе с VK API. В последних статьях про VK API в Delphi мы рассмотрели функции API по работе с видеозаписями: как получить список видеозаписей по конкретному запросу пользователя и как узнать информацию по конкретной видеозаписи, подробную информацию. На этот раз я хотел бы поговорить о том, как можно получить список видеозаписей, на которых отмечен сам пользователь. Функция довольно простая, да и в основном параметров в ней нету, всего 3 параметра и те, которые не обязательные для нее. Давайте подробнее рассмотрим данные параметры функции для получения видео, на которых отмечен пользователь. Функция называется
-
video.getUserVideos
Теперь по ее параметрам
- uid - идентификатор пользователя, для которого необходимо получать список видео, на которых он отмечен
- offset - смещение необходимое для выборки определенного количества видеозаписей
- count - количество видеозаписей, которое необходимо получить, но не больше 100.
Ну естественно, есть такие замечательные параметры, которые Вам также необходимо будет указать, это, например format и указать в каком формате Вам выводить данные в XML или JSON.
Итак, для успешной работы данной функции VK API, нам потребуется еще, чтобы у нашего приложения было установлены права с битовой маской не меньше 16. После того как подготовим все данные для отправки их на сервер VK API, при правильной их отправке, нам еще необходимо составить подпись безопасности в алфавитном порядке, не забывайте про это, мы получим ответ с сервера в виде массива объектов. В данный массив объектов будет входить следующее:
- id
- title
- description
- owner_id
- duration
- date
- thumb
Данные объекты придут нам в ответе с сервера. По названием можно определить, что это за такие объекты. Теперь Вам останется только лишь пропарсить Ваш ответ и получить нужную информацию, в данном случае мы пропарсим title-объект, то есть название видео, на котором отмечен пользователь. Да кстати на вкладку «Видеозаписи» я поместил 2 компонента
- TButon
- TListBox - будет отображаться название видеозаписей, на которых отмечен пользователь
- TEdit - для того, чтобы вводить идентификатор пользователя, для которого необходимо посмотреть все видеозаписи, на которых он отмечен
Теперь на событие OnClick мы напишем следующий код, которых будет отправлять на сервер VK API данные и получать ответ, а также обрабатывать его и все называние видеозаписей, на которых отмечен пользователь будет добавлять в TListBox
procedure TForm1.Button27Click(Sender: TObject);
var
sig:string;
begin
try
ListBox13.Clear;
PostVK:=TStringList.Create;
sig:=Pchar(LabelMid.Caption)+'api_id=1918788format=XMLmethod=video.getUserVideosuid='+Edit9.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=video.getUserVideos');
PostVK.Add('uid='+Edit9.Text);
PostVK.Add('format=XML');
PostVK.Add('sid='+Pchar(LabelSid.Caption));
logVK:=IdHTTP1.Post('http://api.vkontakte.ru/api.php',PostVK);
PostVK.Free;
repeat
ListBox13.Items.Add(Utf8ToAnsi(Pars(logVK,',' ',0)));
Delete(logVK,1,pos('',logVK)+length(''));
until pos('title',logVK)=0;
except
on e:Exception do
begin
PostVK.Free;
end;
end;
end;
Не забываем использовать функцию перекодировки Utf8ToAnsi, но это зависит от версии Indy, которую Вы используете.
Ошибки, которые могут возникнуть при отправке запроса на сервер
Код ошибки | Описание |
---|---|
1 | Unknown error occurred. |
2 | Application is disabled. Enable your application or use test mode. |
4 | Incorrect signature. |
5 | User authorization failed. |
6 | Too many requests per second. |
7 | Permission to perform this action is denied by user |
100 | One of the parameters specified was missing or invalid |
Хочу заметить, что сейчас очень много автомобилей, а прогресс дошел до того, что уже существуют автомобили с автоматической коробкой передач. Кстати довольно удобно и многие такие автомобили покупают. Кстати, советую подробно прочитать про данное устройство, очень интересно. |
Полный исходник всего проекта можно скачать тут
Автор статьи - Andrey53
Похожие записи
Метки: API, Idhttp, VK API, vkontakte, vkontakte API, вконтакте API
это ужасно.
А ведь начинающие программисты могут заинтересоваться, и научатся у вас плохому.
2Михаил ужасно, что именно? Как умею так и делаю,а выбирать, что и где читать остается право за каждым