forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общее (http://forum.boolean.name/forumdisplay.php?f=139)
-   -   Vkontakte API (http://forum.boolean.name/showthread.php?t=12060)

pax 27.02.2010 11:56

Vkontakte API
 
В общем хочется попробовать свое приложение для вконтакте написать. Написал код для реализации запросов к API но проблема в том, что api требует авторизации пользователем.
Приложение будет работать в iframe вконтакте, а из этого вытекает вопрос: можно ли как-нибудь получить куки вконтакта из этого iframe, передать их серверному скрипту, который используя эти куки будет общаться с api вконтакте.

Надеюсь объяснил нормально :)

PS: все результаты разработки способа связи с API вконтакте я опубликую для сообщества, но сначала нужна помощь :)

[название изменено на более подходяще. dector]

pax 27.02.2010 22:14

Ответ: web приложение для вконтакте
 
Эх со стороны сервера нельзя вызывать API вконтакта ((( только из JS или Flash ((( так что пока раскопки в данном направлении прекращены.

ABTOMAT 27.02.2010 22:23

Ответ: web приложение для вконтакте
 
Api вконтакта имхо убог как и он сам. Все злачные ниши вроде весёлой фермы давно заняты. Не стоит имхо терять на него время.

pax 27.02.2010 23:05

Ответ: web приложение для вконтакте
 
Я вот думал сделать там первое 3D приложение... и наверное сделаю, но позже немного...

Данил 28.02.2010 11:12

Ответ: Vkontakte API
 
Они уже там есть )

pax 28.02.2010 11:45

Ответ: Vkontakte API
 
Ну есть так есть ))

Mr_F_ 28.02.2010 13:19

Ответ: Vkontakte API
 
угу тот же ресторатор юзает один хороший флешовый 3д движок
Цитата:

Api вконтакта имхо убог
+1

pax 28.02.2010 13:26

Ответ: Vkontakte API
 
Наконец что-то получилось, мне наконец API ответило верно на запрос, сначала я не правильно создавал сигнатуру запроса и не то секретное слово использовал, теперь разобрался. При первом запросе к API вконтакте приложению передаются несколько переменных включая viewer_id и auth_key, которые нужны для авторизованного запроса. Причем при составлении запроса некоторые методы используют вместо secret секретный ключ apisecret (для работы с балансом приложения) и не используют viewer_id.

В связи с тем что теперь все работает я начну писать объектную модель данных вконтакте...

pax 28.02.2010 13:29

Ответ: Vkontakte API
 
А на счет 3D приложений, то опять же не собираюсь использовать флеш. Для этого есть более интересный вариант - Unity3D.

Tadeus 28.02.2010 13:46

Ответ: Vkontakte API
 
Я делал для Flash-а набор функций для роботы с сабжем :)
Кстати, если использовать test_mode, то и без авторизации запросы будут идти - за пользователя принимается автор приложения. Надо добавить параметр test_mode=1 в ссылку и сигнатуру.

pax 28.02.2010 14:15

Ответ: Vkontakte API
 
вот из-за него и работало ((( теперь не работает авторизация с сервера ((( походу можно работать тока через JS (((

Вот такой мне ответ приходит
Код:

<?xml version="1.0" encoding="utf-8"?>
<error>
<error_code>5</error_code>
<error_msg>User authorization failed</error_msg>
<request_params list="true">
<param> <key>api_id</key> <value>1837531</value> </param>
<param> <key>auth_key</key> <value>ab5983cb7be1a5ca7.........</value> </param>
<param> <key>group_id</key> <value>0</value> </param>
<param> <key>method</key> <value>getFriends</value> </param>
<param> <key>user_id</key> <value>0</value> </param>
<param> <key>v</key> <value>2.0</value> </param>
<param> <key>viewer_id</key> <value>7161212</value> </param>
<param> <key>sig</key> <value>23ab7fb1fc9d4f6677bebe14a43d7012</value> </param>
</request_params>
</error>


pax 28.02.2010 22:55

Ответ: Vkontakte API
 
Думаю решением будет запихивать придуманный мной код в скрипты юнити и от туда вызывать функции на JS... остается придумать тему для игры ))).

Mr_F_ 01.03.2010 13:22

Ответ: Vkontakte API
 
Цитата:

теперь не работает авторизация с сервера (((
я делал такие запросы и все работало:

Цитата:

function dorequest(ss:String,f:Function):Void
{
var s:String=String(viewer_id)+"api_id="+String(api_id )+"method="+ss+"v=2.0"+api_secret
var sig:String = MD5.encrypt(s);
var zapr:String="http://api.vkontakte.ru/api.php?api_id="+api_id+"&v=2.0&method="+ss+"&sig= "+sig
var xml:XML=new XML();
xml.ignoreWhite=true;
xml.load(zapr);
xml.onLoad=f;
}

function dorequestVar(skey:String,suser:String,sfunc:String ,f:Function):Void
{
var s:String=String(viewer_id)+"api_id="+String(api_id )+"key="+skey+"method="+sfunc+"user_id="+suser+"v= 2.0"+api_secret
var sig:String = MD5.encrypt(s);
var zapr:String="http://api.vkontakte.ru/api.php?api_id="+api_id+"&v=2.0&method="+sfunc+"&k ey="+skey+"&user_id="+suser+"&sig="+sig
var xml:XML=new XML();
xml.ignoreWhite=true;
xml.load(zapr);
xml.onLoad=f;
}

function dorequestVars(skey:String,scount:String,suser:Stri ng,sfunc:String,f:Function):Void
{
var s:String=String(viewer_id)+"api_id="+String(api_id )+"count="+scount+"key="+skey+"method="+sfunc+"use r_id="+suser+"v=2.0"+api_secret
var sig:String = MD5.encrypt(s);
var zapr:String="http://api.vkontakte.ru/api.php?api_id="+api_id+"&v=2.0&method="+sfunc+"&k ey="+skey+"&count="+scount+"&user_id="+suser+"&sig ="+sig
var xml:XML=new XML();
xml.ignoreWhite=true;
xml.load(zapr);
xml.onLoad=f;
}

function dosendVar(suser:String,skey:String,svalue:String,b :Boolean):Void
{
var s:String=String(viewer_id)+"api_id="+String(api_id )+"key="+skey+"method=putVariableuser_id="+suser+" v=2.0"+"value="+svalue+api_secret
var sig:String = MD5.encrypt(s);
var zapr:String="http://api.vkontakte.ru/api.php?api_id="+api_id+"&v=2.0&method=putVariable &key="+skey+"&value="+svalue+"&user_id="+suser+"&s ig="+sig
var xml:XML=new XML();
xml.ignoreWhite=true;
if ((b!=undefined)&&(b!=false)) xml.onLoad=function(success) { trace_lastsend=xml.toString(); }
xml.load(zapr);
}
на знание actionscript и хороший стиль кода не претендую, т.к. это было мое первое и последнее приложение на нем)

тест_мод - к черту

pax 01.03.2010 18:06

Ответ: Vkontakte API
 
Ну это же клиентская сторона, это же не сервер запросы отсылает а клиент. Клиент же авторизован уже.

Я хотел написать полностью серверное приложение.

Reizel 07.12.2010 15:28

Ответ: Vkontakte API
 

Эх, тема хоть как то касается ВКонтакте, и достаточна стара, так что простят модераторы меня за оффтоп.
В общем, поразил меня до глубины души ход контакта против "рекламы" наших продуктов - размещаешь ссылку на свою игру, к примеру, где угодно, потом щелкаешь на нее - Оппа, контакт задетектил, что пользователь переходит прочь, так сразу окошечко такое аккуратненькое - "Ссылка, по которой Вы попытались перейти, содержит вирус" . И еще жирно так выдедили, твари. И ведь даже не проверили контент, сразу однозначно так: ВИРУС, ибо инет у меня тормозной, ajax - запрос занял бы секунд 10, а тут сразу вылетает окошко, и в него грузится месаго.
обидно :(


Часовой пояс GMT +4, время: 18:37.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot