Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #31  
Старый 21.12.2012, 00:25
harbor harbor вне форума
Новичок
 
Регистрация: 15.01.2010
Сообщения: 83
Репутация: 10
По умолчанию

Ну вот итог, рабочая прога с исходником. шлифовал под дельфи 2006
используется компонент CoolTrayIcon(D6Plus)
Вложения
Тип файла: rar vk_api_new2.rar (456.9 Кбайт, 35 просмотров)
Ответить с цитированием
  #32  
Старый 17.01.2013, 04:06
diablist diablist вне форума
Прохожий
 
Регистрация: 15.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

Ребята подскажите плиз теперь мне. Ничего не могу понять хоть тресни.
Что id и секретный код приложения нужно прописывать? из тех что сам создаешь? если да, то какое нужно создать, Flash?
У меня выскакиевает что Login Success, а потом же окно Авторизация неудалась бла бла бла.
Ответить с цитированием
  #33  
Старый 17.01.2013, 05:53
harbor harbor вне форума
Новичок
 
Регистрация: 15.01.2010
Сообщения: 83
Репутация: 10
По умолчанию

Цитата:
Сообщение от diablist
Ребята подскажите плиз теперь мне. Ничего не могу понять хоть тресни.
Что id и секретный код приложения нужно прописывать? из тех что сам создаешь? если да, то какое нужно создать, Flash?
У меня выскакиевает что Login Success, а потом же окно Авторизация неудалась бла бла бла.

а я так и не понял как создавать приложение и надо ли
ну по идее на странице разработчиков вконтакте надо смотреть или админов там спрашивать.
мы тут для примера просто брали прописывали id "уличных гонок"
у меня все отлично работает. хотя если есть глюки, то может с кукисами чего не так
Ответить с цитированием
  #34  
Старый 17.01.2013, 08:47
diablist diablist вне форума
Прохожий
 
Регистрация: 15.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

Я полазил упорно и все же вспомнил как создавать приложение.
Нашел примеры которые реализуют API вконтакта, но у меня задача делать пост на стену группы...и тут куча вопросов, не отсылается даже на свою стену, приложение зарегистрировано как Standartalone, должно вроде как работать...но все безуспешно, при этом еще куча вариантов авторизации, то AOuth2 то еще что-то, так все запутано и именно в авторизациях((
Ответить с цитированием
  #35  
Старый 17.01.2013, 09:06
harbor harbor вне форума
Новичок
 
Регистрация: 15.01.2010
Сообщения: 83
Репутация: 10
По умолчанию

Цитата:
Сообщение от diablist
Я полазил упорно и все же вспомнил как создавать приложение.
Нашел примеры которые реализуют API вконтакта, но у меня задача делать пост на стену группы...и тут куча вопросов, не отсылается даже на свою стену, приложение зарегистрировано как Standartalone, должно вроде как работать...но все безуспешно, при этом еще куча вариантов авторизации, то AOuth2 то еще что-то, так все запутано и именно в авторизациях((

авторизация работает кажется только через
Form2.WebBrowser1.Navigate('http://vk.com/login.php?app='+App_ID+'&layout=popup&type=browser ');

хотя у меня при запуске даже и не требует вводить пароль, если он запомнился в кукисах IE гдето
посмотрите пример, там же все готовое. в этой теме все есть.
создавай только свой запрос и все. описания методов есть все на странице разработчиков
Ответить с цитированием
  #36  
Старый 17.01.2013, 21:18
diablist diablist вне форума
Прохожий
 
Регистрация: 15.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

С авторизацией разобрался, кто-то выставил
Цитата:
if length(Form1.Sid)>60 then begin
Если sid никогда больше 60 не возвращается, если поменять на 30 к примеру, то авторизация вроде проходит.
Но теперь при нажатии кнопки обновить информацию
Цитата:
Exception class EConvertError with message ''''' is not a valid integer value'.
Еще при компиляции вылазит почему-то
Цитата:
WebBrowser1DocumentComplete method referenced by WebBrowser1.OnDocumentComplete has incompatible parametr list
, если игнорировать и компилить, то работает вроде, если убрать то не происходит ничего при авторизации, но это второстепенно, а вот почему первое сообщение(

Еще вопрос, где откапывать Secret='C4iUv105ci';? это Защищенный ключ: или что?

UPD: Вот в чем проблема первой ошибки:
Цитата:
<?xml version="1.0" encoding="utf-8"?>
<error>Incorrect signature: iframe/flash authorization</error>

Последний раз редактировалось diablist, 17.01.2013 в 23:04.
Ответить с цитированием
  #37  
Старый 17.01.2013, 22:04
harbor harbor вне форума
Новичок
 
Регистрация: 15.01.2010
Сообщения: 83
Репутация: 10
По умолчанию

Цитата:
Сообщение от diablist
harbor
В том-то и странность, кто очищаю в IE кукисы и все равно такая фигня...
А потом не понятно как нужно выполнять метод для поста на стену своей группы...давать разрешение своему приложению вконтакте привязку к этой группе или как...для сайтов там немного другой алгоритм работы, а вот для приложений что-то никак не прокатывает...
Ну ладно попробую еще разобраться

на сайте вконтакта в разделе разработчиков есть описания методов для создания запроса
здесь в теме есть готовый шаблон для создания запроса
подставляешь свой метод, получаешь или отправляешь данные
чтобы постить на стену, нужно чтобы пользователь наверное состоял в группе. какое приложение при этом используется - без разницы
Ответить с цитированием
  #38  
Старый 18.01.2013, 02:03
diablist diablist вне форума
Прохожий
 
Регистрация: 15.03.2008
Сообщения: 11
Репутация: 10
По умолчанию

Вообщем как не крути не верти код, все равно как не та, так другая ошибка, или 3 или 4
Код я использую отсюда, но он не рабочий, либо API изменен как-то, либо что-то не так с приложениями и их доступом, я не могу понять что надо делать, чтоб заработало.
Ответить с цитированием
  #39  
Старый 18.01.2013, 02:17
harbor harbor вне форума
Новичок
 
Регистрация: 15.01.2010
Сообщения: 83
Репутация: 10
По умолчанию

Цитата:
Сообщение от diablist
Вообщем как не крути не верти код, все равно как не та, так другая ошибка, или 3 или 4
Код я использую отсюда, но он не рабочий, либо API изменен как-то, либо что-то не так с приложениями и их доступом, я не могу понять что надо делать, чтоб заработало.

проверь на другом компе. у меня все работает как часы
Ответить с цитированием
  #40  
Старый 19.01.2013, 16:09
Аватар для SCrat.ORS
SCrat.ORS SCrat.ORS вне форума
Активный
 
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
По умолчанию

Код:
<?xml version="1.0" encoding="utf-8"?>
<error>Incorrect signature: iframe/flash authorization</error> 

Это вылезвет по причинам -
1. не правильно сгенерировал сигнатруру
2. Приложение не имеет нужных прав (доступ в группу, публикации или др.)

Еще вопрос, где откапывать Secret='C4iUv105ci';? это Защищенный ключ: или что?

это секрет приложения, язнать его можно либо капаясь в исходниках приложения - в случаее flash
либо когда авторизируешься он в ответе приходит в редиректе.
__________________
Програмистами не рождаются, ими становятся!
Ответить с цитированием
  #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 часа и используй его просто добавляя в виде параметра, не вычисляя каждый раз при запросе сигнатуру!
Ответить с цитированием
  #42  
Старый 20.01.2013, 12:54
Аватар для SCrat.ORS
SCrat.ORS SCrat.ORS вне форума
Активный
 
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
По умолчанию

Как бы не было смешно, но когда я писал этот код, СИД был длинной 64 знака. Сейчас да, он 53, поэтому ставить нужно >50, или вообще не запариваться и поставить >16 к примеру.

access_token используется в других случаях, например для публикации записей.Конечно можно и подругому публиковать, но надо права приложения повышать, но для моих целей достаточно и стандартное взаимодействие с API.

Ошибка не правильной сигнатуры скорее всего получается именно от того, что приложение не имеет нужных прав.

Если ты знаешь как сделать авторищацию вконтакте по https - поделись кодом, буду признателен.
__________________
Програмистами не рождаются, ими становятся!

Последний раз редактировалось SCrat.ORS, 20.01.2013 в 13:08.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter