Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   У кого-нибудь работают локальные тесты API ? (http://www.flasher.ru/forum/showthread.php?t=149324)

Alexd21 22.01.2011 23:47

У кого-нибудь работают локальные тесты API ?
 
Есть подозрение что с появлением API 3.0 появились некоторые проблемы:
1. не работают запросы с локальных машин.
если у кого-нибудь есть рабочий кусочек кода , поделитесь пожалуйста.

2. Неправильно обрабатываются запросы если формат ответа указать JSON
- в ответ все время приходит ошибка "Incorrect signature"
(тестировалось не локально)



Есть мысли по этому поводу?
Заранее спасибо!

snow_bars 23.01.2011 00:22

Код AS3:

var params:Object=LoaderInfo(this.root.loaderInfo).parameters;
var VK:APIConnection=new APIConnection(params);
VK.api("friends.get",{fields:"uid, first_name, last_name, photo"},OnComplete,OnError);

возвращает "error":{"error_code":101,"error_msg":"Invalid application API ID"

Alexd21 23.01.2011 03:47

Проблему решил сам, потратив сутки.
Итог:

чтобы работать с запросами локально из флеш необходимо

1. использовать
Код AS3:

// -- For local testing enter you test-code here:
                        flashVars['api_id'] = 2136984;
                        flashVars['viewer_id'] = 7367127;
                        flashVars['sid'] = "9ca7d55cd4088432b6845601de4a9c2026d32cdbc9b09183b63af876d4";
                        flashVars['secret'] = "**********";
                // -- //
 
                if (!flashVars.api_id) tf.appendText("\n[!] Launch application on VK to get your test-code for local testing\n\n");
 
            var VK: APIConnection = new APIConnection(flashVars);
 
                // Example of API request
                VK.api('audio.get', { uids: flashVars['viewer_id'] }, fetchUserInfo, onApiRequestFail);



2. знать что
Код AS3:

flashVars['secret'] = "**********";

- не является ключами которые можно посмотреть в настройках приложения, это значение генерируется сервером Вконтакте, т.е. нужно программу запустить со своей странички вконтакте, посмотреть скопировать значение которое сгенерил сервер, вставить в код и можно тестить локально!

Добавлено через 1 минуту
JSON - обрабатывается правильно, это я сам олень.

goodguy 23.01.2011 11:07

Собственно, обо всем этом уже давно написано в их документации

snow_bars 23.01.2011 11:32

Цитата:

Сообщение от snow_bars (Сообщение 966935)
Код AS3:

var params:Object=LoaderInfo(this.root.loaderInfo).parameters;
var VK:APIConnection=new APIConnection(params);
VK.api("friends.get",{fields:"uid, first_name, last_name, photo"},OnComplete,OnError);

возвращает "error":{"error_code":101,"error_msg":"Invalid application API ID"

может быть, тогда мне подскажите?
всё время вызывается ф-ия OnError.

udaaff 23.01.2011 13:56

Ну так если вы тестируете локально, зачем вы параметры в LoaderInfo берете?

snow_bars 23.01.2011 14:15

Цитата:

Сообщение от udaaff (Сообщение 967061)
Ну так если вы тестируете локально, зачем вы параметры в LoaderInfo берете?

Не, я делаю всё так, как в примерах сказано

Код AS3:

var params:Object= stage.loaderInfo.parameters as Object;
 
                        var VK:APIConnection=new APIConnection(params);
 
                        if (params.api_id) {
                                tf.appendText("\n// -- Your code for local testing:\n");
                                tf.appendText("flashVars['api_id'] = "+params['api_id']+";\n");
                                tf.appendText("flashVars['viewer_id'] = "+params['viewer_id']+";\n");
                                tf.appendText("flashVars['sid'] = \""+params['sid']+"\";\n");
                                tf.appendText("flashVars['secret'] = \""+params['secret']+"\";\n");
                                tf.appendText("// -- //\n\n");
                        }
 
                        if (! params.api_id) {
                                // -- For local testing enter you test-code here:
                                trace("local");
                                params['api_id']=*******;
                                params['viewer_id']=*******;
                                params['sid']="************************";
                                params['secret']="**********";
                                // -- //
VK.api("friends.get",{fields:"uid, first_name, last_name, photo"},onComplete,onError);
                        }


DanQuimby 23.01.2011 14:22

нее я плюнул локально тестить, я сделал элемент "window" для trac
и загружаю к ним на страничку
и все .. проблем уже нету :)

snow_bars 23.01.2011 14:58

локально или вк - везде вызывается функция OnError ((

Добавлено через 3 часа 30 минут
я нашел свою гениальную ошибку) приложение вконтакте было отключено


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.