Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/28: Рейтинг темы: голосов - 28, средняя оценка - 4.61
 Аватар для AngelPOPs
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 12
AS 3.0

API вконтакте.

26.03.2012, 12:35. Показов 5468. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую.
Пытаюсь разобраться как это работает. Что-то у меня совсем не работает...
Есть ли у кого примерчик как работать?
Сильно не пинайте, я только учус...
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package
{
    import vk.APIConnection;
    import vk.events.*;
    import flash.display.Sprite;
    import flash.events.*;
 
    public class Main extends Sprite
    {
        public var api_id:Number;
        public var viewer_id:Number;
        public var sid:String;
        public var secret:String;
 
        public function Main()
        {
            
            var flashVars:Object = stage.loaderInfo.parameters as Object;
            var VK:APIConnection = new APIConnection(flashVars);
 
            api_id = flashVars['api_id'];// id приложения
            viewer_id = flashVars['viewer_id'];// id пользователя
            sid = flashVars['sid'];// сид 
            secret = flashVars['secret'];// секретный пароль
        }
    }
}
выдаёт ошибку:
строка 1 1180: Вызов предположительно неопределенного метода addFrameScript.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2012, 12:35
Ответы с готовыми решениями:

Api Вконтакте: загружать фотографии из Вконтакте в Flash проект.
Доброго времени суток. Необходимо загружать фотографии из Вконтакте в Flash проект. Сделал авторизацию пользователя следующим образом :...

ВКонтакте API
Добрый день. Я начал изучать ВКонтакте API, в моём приложении должно показываться сколько человек сейчас в игре. Я решил сделать это создав...

Взаимодействие приложения на AS с API ВКонтакте
Здравствуйте! Можете понятным языком рассказать, как подключить API ВКонтакте к своему приложению. Прочитал документацию ВК, облазил...

15
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
26.03.2012, 13:07
Цитата Сообщение от AngelPOPs Посмотреть сообщение
выдаёт ошибку:
строка 1 1180: Вызов предположительно неопределенного метода addFrameScript.
addFrameScript - недокументированный метод, никакого отношения к API контакта не имеющий. Проблема скорее всего с подключаемыми библиотеками.
0
 Аватар для AngelPOPs
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 12
26.03.2012, 13:18  [ТС]
Это-то я понимаю. Что делать не понимаю...
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
26.03.2012, 14:48
С подключаемыми библиотеками я погорячился. А вот то, что класс наследуется от спрайта, а не от мувика - не заметил. Это и есть решение проблемы.
0
 Аватар для AngelPOPs
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 12
26.03.2012, 15:17  [ТС]
Если от муви делать такая ошибка:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at Main()
Кто нуль... то...
Если залить во вконтакте. Показывает загрузку, там и остаётся.
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
26.03.2012, 15:30
Это уже другая ошибка. Она появляется позже, к тому же является RTE. Если попытаться определить место, откуда она возникает, то это наверняка будет строка с созданием объекта flashVars, т.к. на тот момент отсутствует stage - ошибка практически всех новичков. Для того, чтобы ее не было часто используют такую конструкцию и ей подобные:

ActionScript 3
1
2
3
4
5
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
///////
private function init(e:Event = null):void{
removeEventListener(Event.ADDED_TO_STAGE, init);
Суть это кода заключается в том, что метод init запускается только тогда, когда присутствует stage, следовательно таких проблем не возникает.
1
 Аватар для AngelPOPs
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 12
27.03.2012, 01:57  [ТС]
Ну, вот такое я соорудил...

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package 
{
    import vk.APIConnection;
    import vk.events.*;
    import flash.display.MovieClip;
    import flash.events.*;
 
    public class Main extends MovieClip
    {
        public var api_id:Number;
        public var viewer_id:Number;
        public var sid:String;
        public var secret:String;
 
        public function Main()
        {
 
            if (stage)
            {
                init();
            }
            else
            {
                addEventListener(Event.ADDED_TO_STAGE,init);
            }
        }
 
        private function init(e:Event=null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE,init);
 
            var flashVars:Object = stage.loaderInfo.parameters as Object;
 
            api_id = flashVars['api_id'];// id приложения
            viewer_id = flashVars['viewer_id'];// id пользователя
            sid = flashVars['sid'];// сид 
            secret = flashVars['secret'];// секретный пароль
 
            result_tf.text = "ID приложения: " + api_id;
 
            var VK:APIConnection = new APIConnection(flashVars);
            VK = new APIConnection(flashVars);
 
            VK.api('getProfiles', {uids: viewer_id, fields:'nickname'}, onProfileLoaded, onError);
        }
 
        private function onProfileLoaded(e:Object):void
        {
            result_tf.text = "Погоняло: " + e.nickname;
        }
 
        private function onError(e:Object):void
        {
            result_tf.text = "Ошибка: " + e.error_msg;
        }
    }
}
ID приложения оно мне выводит, а вот запрос getProfiles не делает. Не срабатывает и ошибка...
Как будто пропускает... Даже не знаю как ошибку искать...
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
27.03.2012, 08:30
Вроде "users.get" нужен.
Посмотри доку.
0
 Аватар для AngelPOPs
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 12
27.03.2012, 09:52  [ТС]
Ага, нужен. Только не меняет дела...
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
27.03.2012, 13:28
А откуда знаешь, что не срабатывает колбэк?
0
 Аватар для AngelPOPs
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 12
27.03.2012, 14:13  [ТС]
Ну как, я ставил вот так:
ActionScript 3
1
2
3
4
private function onError(e:Object):void
                {
                        result_tf.text = "Ошибка";
                }
Но текст в поле не менялся. С того я делаю вывод, что метод onError не отрабатывает.
От этого делаю вывод, что запрос к API не происходит.
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
27.03.2012, 15:52
Сейчас ради любопытства залез, попробовал - та же петрушка. Но особо не вникал, нет на это времени. Поэтому могу порекомендовать погуглить, поискать информацию в соответствующей группе контакта.
0
 Аватар для AngelPOPs
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 12
27.03.2012, 16:23  [ТС]
Благодарю, за учестие. Задал вопросик ещё в одном форуме. Лазаю, ищу... Если разберусь. Обязательно напишу...
0
 Аватар для AngelPOPs
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 12
29.03.2012, 03:18  [ТС]
Вот дали скрипт. Он работает. В чём "задница", не осилил...

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import vk.APIConnection;
 
    public class Main extends Sprite
    {
        private var flashVars:Object;
        private var VK:APIConnection;
 
        public function Main()
        {
            //----------------------------------------------------------------------
            if (stage)
            {
                init();
            }
            else
            {
                addEventListener(Event.ADDED_TO_STAGE, init);
            }//----------------------------------------------------------------------
        }
 
        private function init(e: Event = null):void
        {
            //----------------------------------------------------------------------
            flashVars = stage.loaderInfo.parameters as Object;
            VK = new APIConnection(flashVars);
            getProfiles();
            //----------------------------------------------------------------------
            removeEventListener(Event.ADDED_TO_STAGE, init);
            //----------------------------------------------------------------------
        }
 
 
        private function getProfiles():void
        {
            //----------------------------------------------------------------------
            var profilesFields:String;
            //----------------------------------------------------------------------
            profilesFields = 'uid, first_name, last_name, screen_name, photo_big';
            //----------------------------------------------------------------------
            VK.api('users.get', {uids: flashVars.viewer_id, fields: profilesFields}, 
                  getProfilesTrue, getProfilesFalse);
            //----------------------------------------------------------------------
        }
 
        private function getProfilesTrue(data: Object):void
        {
            //----------------------------------------------------------------------
            result_tf.text = "Фамилия: " + data[0].last_name;
            //----------------------------------------------------------------------
        }
 
        private function getProfilesFalse(data: Object):void
        {
            //----------------------------------------------------------------------
            result_tf.text = "Ошибка";
            //----------------------------------------------------------------------
        }
    }
}
1
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
29.03.2012, 14:17
По ходу проблемой (точнее ее решением) оказалось вынесение переменной VK в поле класса. Сильно не копал, но скорее всего переменная перестает жить по окончанию работы метода, где создается (в общем это нормальное поведение) и в момент получения ответа от АПИ контакта этой переменной, где помимо всего прочего есть соответствующие обработчики ответа, нет, в результате чего и возникает ошибка (для этого должен быть установлен дебажный плеер).

ЗЫ. А вообще, глядя на их класс APIConnection, пользоваться им не хочется.
1
 Аватар для AngelPOPs
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 12
30.03.2012, 04:12  [ТС]
Голова!
Я бы не допетрил сам...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.03.2012, 04:12
Помогаю со студенческими работами здесь

API вконтакте, метод photos.getAlbums
Привет всем, помогите кто знает, только начал изучать api, хочу воспользоваться методом photos.getAlbums, но альбомы не выводятся, точнее я...

Обработка ответа - ВКонтакте Api
Здравствуйте! Всем доброго времени суток! Мне нужна помощь. Я получаю ответ от сервера ВКонтакте, в нём содежится значение еременной. ...

api вконтакте
я хочу вывести на моем блоге аватарку и статус из вконтакте, чтобы они менялись когда я их меняю в вк... блог полностью на html , знаний в...

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

Api вконтакте
Здравствуйте. Я хочу написать свое приложение с использованием VkApi, но мне совершенно непонятно, как его использовать. я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru