Пример работы VKapi

Компонентов для работы с Vk Api никаких не нужно, читай подробно документацию!

Данный код публикует новую запись на стене выбранного пользователя:
на форме 2 едита для ввода логина и пароля, веббраузер на второй форме, 3 кнопки, мемо(для вывода логов работы)

//тут мы входим в акаунт
Код Delphi
procedure TForm1.Button1Click(Sender: TObject);
begin
IdHTTP1.AllowCookies:=True;
 IdHTTP1.HandleRedirects:=true;
 t:=TStringList.Create;
 try
  PageProfile:=IdHTTP1.Get('http://login.vk.com/?act=login&email='+edit1.Text+'&pass='+edit2.Text);
 except
 end;
 if Pos('logout', PageProfile)>0 then
 begin
memo1.Lines.Add('Авторизация прошла успешно!')
 end
 else
memo1.Lines.Add('Не удается войти.');
end;

//тут мы еще раз входим в акаунт только уже с помощью веббраузера и подтверждаем добавления приложения себе(в будущем можно обойтись без веббраузера, заменив все действия пост запросом, но пока вам будет легче именно так)
Код Delphi
procedure TForm1.Button3Click(Sender: TObject);
begin
form2.Visible:=true;
form2.WebBrowser1.Navigate('http://oauth.vk.com/authorize?client_id=3094229&scope=wall,photos,messages,groups&redirect_uri=http://oauth.vk.com/blank.html&display=touch&response_type=token');
end;

ВНИМАНИЕ! client_id= указан номер моего приложения, можешь канечно работать и так, но вообще лучше создать свое))

//тут мы отправляем сообщение выбранному пользователю, для этого укажите его id(без слово ид)
Код Delphi
procedure TForm1.Button4Click(Sender: TObject);
begin
a:=form2.WebBrowser1.LocationURL;
a:=Pars('access_token=',a,'&') ;
memo1.Text:=IdHTTP1.Get('https://api.vk.com/method/wall.post.xml?owner_id=тут ид того кому будет отправлять&from_group=1&message=testovoe_soobshenie&access_token='+a);
end;

и, да процедура парса:

Код Delphi
...
  public
  function Pars(T_, ForS, _T:string):string;
...
function TForm1.Pars(T_, ForS, _T: string): string;
var a, b:integer;
begin
Result := '';
if (T_='') or (ForS='') or (_T='') then Exit;
a:=Pos(T_, ForS);
if a=0 then Exit else a:=a+Length(T_);
ForS:=Copy(ForS, a, Length(ForS)-a+1);
b:=Pos(_T, ForS);
if b>0 then
Result:=Copy(ForS, 1, b - 1);
end;

p.s. Свое приложение можешь создать здесь:
http://vk.com/editapp?act=create
(Standalone-приложение)
p.s.s. стена для тебя должна быть открыта у того кому отправляешь
Для работы с https нужны специальные библиотеки
Добавлено: 15 Августа 2013 10:30:51 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...