Компонентов для работы с 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 нужны специальные библиотеки