Показать сообщение отдельно
  #41  
Старый 20.01.2013, 03:22
diablist diablist вне форума
Прохожий
 
Регистрация: 15.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

В том и дело что сигнатура не правильная, только почему я не могу понять, уже 100 раз перечитал API, пересмотрел код и ничего...
Может виной всему "Взаимодействие с API без HTTPS", а там написано
Цитата:
Для того, чтобы осуществить запрос к API без HTTPS необходимо получить специальный access_token, указав поле nohttps в параметре scope.
А в коде я не нашел чтоб такой параметр указывался.

К тому же не знаю как может работать этот код:
Цитата:
S:=TStringStream.Create('');
WB_GetHTMLCode(WebBrowser1,s);
I:=Pos('Login success',s.DataString);
s.Free;
If i>0 then begin
Form1.Sid:=WebBrowser1.OleObject.Document.cookie;
Form1.Memo1.Lines.Add('Куки'+WebBrowser1.OleObject .Document.cookie);
Form1.Sid:=copy(Form1.sid,pos('remixsid',Form1.sid )+9,68);
Form1.Memo1.Lines.Add('Сид'+Form1.Sid);
if length(Form1.Sid)>60 then begin
//Form1.Label2.Caption:=''+#10+Form1.Sid;
Form1.SetViewer_id;
end else begin
showmessage('Авторизация не удалась, запустите internet explorer и выполните вход вконтакте');
Form2.Close;
Если при этом коде никогда не будет Авторизация выполнена, так как remixsid не бывает больше 60 символов!
Потому большая загадка для меня, как работает этот код у остальных.

Вообщем на данный момент я решил что проще использовать HTTPS и не морочить себе голову с этими сигнатурами, получил себе код авторизации на 24 часа и используй его просто добавляя в виде параметра, не вычисляя каждый раз при запросе сигнатуру!
Ответить с цитированием