Проект VK API в Delphi. Отправляем сообщение на стену

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

Здравствуйте, в этой статье я хотел бы поговорить про API VK в Delphi, давненько я не писал об этом, на этот раз я продолжаю работать со стеной пользователя, с которой нам придется работать еще как минимум 1-2 статьи. В этой статье посмотрим как можно отправлять сообщения на стену пользователя, да конечно если вы хотите, чтобы  Вы могли отправлять сообщения на стену Вашего друга, то у него должно быть данное приложение и даны ему права не меньше 8192, да именно столько требует ВК для работы с сообщениями со стены. Ну что теперь давайте поговорим о самом методе, который посылает на стену пользователя сообщения, по умолчанию текущий пользователь, запомните это, то есть Вы. Итак метод

  • wall.post

И отвечает за посылку сообщений на стену пользователей. Теперь рассмотрим немного параметры данного метода

  • api_id - идентификатор приложения
  • sig - подпись безопасности
  • v - версия API. Текущая 3.0, а в документации ВК API написана 2.0, будьте внимательны
  • owner_id - идентификатор пользователя, которому необходимо отправлять сообщение. По умолчанию текущий пользователь
  • message - сообщение, отправляемое пользователю
  • test_mode - если равен 1, то разрешает тестовые запросы к данным приложения

В результате этого будет возвращен результат в формате, который выберите Вы (XML или JSON), с идентификатором сообщения, которое Вы послали на стену пользователю. Да забыл сказать, что первые 3 параметра и параметр message являются обязательными. Что тут необходимо предусмотреть — это, чтобы Ваше сообщение было послано в нужной кодировке и чтобы на стене не отображались потом разные иероглифы, для этого я использую AnsiToUtf8. Также не забывайте в алфавитном порядке составлять подпись безопасности и конечно использовать версию API - 3.0. Ну я на вкладку «Стена» добавил пару TEdit и TButton и написал код, который отправляет на стену сообщения

procedure TForm1.Button16Click(Sender: TObject);
var
 sig:string;
 i:integer;
begin
   try
    PostVK:=TStringList.Create;
    sig:=Pchar(LabelMid.Caption)+'api_id=1918788format=XMLmessage='+AnsiToUtf8(Edit6.Text)+'method=wall.postowner_id='+Edit5.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=wall.post');
    PostVK.Add('format=XML');
    PostVK.Add('message='+AnsiToUtf8(Edit6.Text));
    PostVK.Add('owner_id='+Edit5.Text);
    PostVK.Add('sid='+Pchar(LabelSid.Caption));
    logVK:=IdHTTP1.Post('https://api.vkontakte.ru/api.php',PostVK);
    if pos('error_code',logVK)=0 then
     begin
      Showmessage('Message send');
     end
    else
     begin
      ShowMessage('Not message send');
     end;
    PostVK.Free;
   except
    on e:Exception do
     PostVK.Free;
   end;
end;

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

Facebook Vk Ok LinkedIn Telegram

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

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