ВКонтакте API 3.0. Пример простого приложения

Только готовые уроки по использованию ВКонтакте API. Flash + PHP + API. НЕ IFrame!
Blockhead
Сообщения: 7
Зарегистрирован: 16 фев 2011, 14:41

Re: ВКонтакте API 3.0. Пример простого приложения

Сообщение Blockhead »

А возможно нечто подобное написать для iframe?
Mr.ShaLi
Сообщения: 1
Зарегистрирован: 16 фев 2011, 15:36

Re: ВКонтакте API 3.0. Пример простого приложения

Сообщение Mr.ShaLi »

Большое спасибо за урок!
qpaHTa3ep
Сообщения: 1
Зарегистрирован: 19 фев 2011, 17:42

Re: ВКонтакте API 3.0. Пример простого приложения

Сообщение qpaHTa3ep »

"Заменяем app_id на id вашего приложения."


А где взять этот ид если я ещё не загружал его, или что за айди туда вставлять?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: ВКонтакте API 3.0. Пример простого приложения

Сообщение Александр »

qpaHTa3ep
В разделе "Разработчикам" нужно создать приложение. В настройках приложения (Редактирование - Настройки) написан ID приложения.
LonelyANDRoid
Сообщения: 34
Зарегистрирован: 11 мар 2011, 16:06

Re: ВКонтакте API 3.0. Пример простого приложения

Сообщение LonelyANDRoid »

Я конечно извиняюсь, но подскажите, пожалуйста, если мы отключаем контейнер, то как реализовать приглашение друзей, оплату и тому подобные функции?
Evgesha
ЗАБАНЕН!
Сообщения: 279
Зарегистрирован: 07 июн 2011, 20:36

Re: ВКонтакте API 3.0. Пример простого приложения

Сообщение Evgesha »

Здравствуйте! А возможно ли как то переписать этот код в другой вид? Сейчас это класс, а мне нравится работать только с кодом в кадре. Как это всё можно поместить в кадр чтоб работало? Буду очень благодарна за помощь!=*
Аватара пользователя
Евгений
FL Team
FL Team
Сообщения: 776
Зарегистрирован: 10 июн 2010, 11:01

Re: ВКонтакте API 3.0. Пример простого приложения

Сообщение Евгений »

Evgesha, как-то так:

Код: Выделить всё

var api_id:Number = 1728947;// ID приложенияvar url_loader:URLLoader;var url_request:URLRequest;var viewer_id;var secret:String;var sid:String;var api_url:String; var bdate_tf:TextField = new TextField();var name_tf:TextField = new TextField();var avatar:UILoader = new UILoader  ; // получаем данные из flashVars// id просматривающего приложениеviewer_id = LoaderInfo(root.loaderInfo).parameters.viewer_id;// secret для генерации сигнатурыsecret = LoaderInfo(root.loaderInfo).parameters.secret;// id сессииsid = LoaderInfo(root.loaderInfo).parameters.sid;// адрес API-сервисаapi_url = LoaderInfo(root.loaderInfo).parameters.api_url; // для тестирования локально, можно прописать их здесь (брать в исходном коде страницы с приложением)/*            viewer_id = '1';            secret = 'abcd123456';            sid = 'abcd123456abcd123456abcd123456abcd123456abcd123456abcd1234';            api_url = 'http://api.vkontakte.ru/api.php';            */// вызываем функцию получения профиля пользователя, просматривающего приложениеgetProfile(viewer_id); function getProfile(uid):void{    // параметры которые будем передавать в запросе и которые нужны для формирования сигнатуры    // параметры для формирования сигнатуры    var request_params: Object = new Object();    request_params.api_id = api_id;    request_params.method = 'getProfiles';    request_params.format = 'XML';    request_params.v = '3.0';    request_params.fields = 'bdate,photo_big';    request_params.uids = uid;     // параметры для отправки запроса    var variables:URLVariables = new URLVariables();    // часть параметров берем из request_params    for (var j:String in request_params)    {        variables[j] = request_params[j];    }    variables['sid'] = sid;// параметр sid нужно передавать в запросе, но он не используются при создании сигнатуры    variables['sig'] = generate_signature(request_params);// генерируем сигнатуру. Функция generate_signature описана ниже.     // подготавливаем запрос    url_request = new URLRequest(api_url);    // данные будем отправлять POST запросом    url_request.method = URLRequestMethod.POST;    // добавляем параметры в запрос    url_request.data = variables;    // отправляем запрос    url_loader = new URLLoader  ;    url_loader.addEventListener(Event.COMPLETE,onComplete);    url_loader.load(url_request);} // запрос выполненfunction onComplete(event:Event):void{    var response:XML = new XML(url_loader.data);     // выводим дату рождения пользователя    var bdate = response..bdate;    bdate_tf.text = bdate;    bdate_tf.x = 490;    bdate_tf.y = 380;    addChild(bdate_tf);     // выводим имя и фамилию пользователя    name_tf.text = response..first_name + ' ' + response..last_name;    name_tf.x = 410;    name_tf.y = 360;    addChild(name_tf);     // выводим аватарку пользователя    avatar.autoLoad = true;    avatar.scaleContent = false;    avatar.source = response..photo_big;    avatar.move(175,10);    addChild(avatar);} // функция генерации сигнатурыfunction generate_signature(request_params):String{    var signature = '';    // сортируем параметры в алфавитном порядке    var sorted_array: Array = new Array();    for (var key in request_params)    {        sorted_array.push(key + "=" + request_params[key]);    }    sorted_array.sort();     // создаем строку параметров;    for (key in sorted_array)    {        signature +=  sorted_array[key];    }    signature = viewer_id + signature + secret;    return MD5.encrypt(signature);}
Evgesha
ЗАБАНЕН!
Сообщения: 279
Зарегистрирован: 07 июн 2011, 20:36

Re: ВКонтакте API 3.0. Пример простого приложения

Сообщение Evgesha »

Благодарю Евгений! Сейчас опробую и отпишусь
Evgesha
ЗАБАНЕН!
Сообщения: 279
Зарегистрирован: 07 июн 2011, 20:36

Re: ВКонтакте API 3.0. Пример простого приложения

Сообщение Evgesha »

А как избавиться от ошибки

TypeError: Error #2007: Параметр url не должен быть равен нулю.
at flash.net::URLStream/load()
at flash.net::URLLoader/load()
at vkontakte_api_3_fla::MainTimeline/getProfile()
at vkontakte_api_3_fla::MainTimeline/frame1()
Ответить