Пишу приложение с API Vkontakte. Вроде все правильно делаю но всегда выдает ошибку №4 "Incorrect signature " Вот код. PHP: function md5(s: string): string; begin Result := ''; with TIdHashMessageDigest5.Create do try Result := AnsiLowerCase(AsHex(HashValue(s))); finally Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var resp:widestring; begin resp:=idhttp1.get('http://api.vkontakte.ru/api.php?v=3.0&api_id='+Edit2.text+'&method=getProfiles&uids=1346525&sid='+sid+'&sig='+sig);// Edit1-id пользователя, Edit2- id приложения memo1.text:=resp; end; procedure TForm1.Button2Click(Sender: TObject); begin form2.visible:=true; end; procedure TForm1.Button3Click(Sender: TObject); begin sid:=label4.Caption; secret:=label5.Caption;; sig:=Edit1.text+'api_id='+Edit2.Text+'method=getProfilesv=3.0'+secret; //подпись запроса + секрет сессии Edit1-id пользователя, Edit2- id приложения label6.Caption:=sig; sig:=md5(sig); label7.caption:=sig; end; end. sid и secret получаю при авторизации в WebBrowser таким образом: PHP: URL:=WebBrowser1.LocationURL; start3:=Pos('secret%22%3A%22',URL); stroka3:=Copy(URL, start3+15, 900); Delete(stroka3, Pos('%22%2C%22expire',stroka3) , 5900); Label4.caption:=stroka3; form1.Label4.caption:=stroka3; start2:=Pos('sid%22%3A%22',URL); stroka2:=Copy(URL, start2+12, 500); Delete(stroka2, Pos('%22%2C%22secret',stroka2) , 5900); Label5.caption:=stroka2; form1.Label5.caption:=stroka2; Подскажите где ошибся
Лучше использовать вот это - Клиентская авторизация для Standalone-приложений и мобильных клиентов (Implicit Flow) http://vkontakte.ru/developers.php?o=-1&p=Авторизация&s= Потом, чтобы выполнить метод API, нужно составить такую конструкцию: https://api.vkontakte.ru/method/METHOD_NAME?PARAMETERS&access_token=ACCESS_TOKEN