Не получается использовать метод groups.isMember

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Castalolg
Сообщения: 9
Зарегистрирован: 03 июл 2014, 18:22

Не получается использовать метод groups.isMember

Сообщение Castalolg »

Я нашел такой код и когда заливаю приложение в Вк и запускаю то ничего не происходит, почему? И как это исправить?

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

 import vk.APIConnection var flashVars:Object=stage.loaderInfo.parameters as Object;var VK:APIConnection=new APIConnection(flashVars); var api_id:Number;var viewer_id:Number; api_id = flashVars['api_id'];viewer_id = flashVars['viewer_id']; VK.api("groups.isMember", {gid:12345, uid:flashVars.viewer_id, extended:1}, resAPI, APIError); function resAPI(response:Object):void{    if(response.member==1)    {        trace("В группе");       gotoAndPlay(2);    } else    {        trace("Не вступил:(");     }} //ошибка АПИfunction APIError(response:Object):void{    trace("ошибка api: " + response.error_msg);}stop(); 
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: Не получается использовать метод groups.isMember

Сообщение XELAD »

Вероятно сначала нужно в папку с проектом распаковать вот это http://vk.com/source/APIConnection.zip , а потом уже "заливать и запускать".
Castalolg
Сообщения: 9
Зарегистрирован: 03 июл 2014, 18:22

Re: Не получается использовать метод groups.isMember

Сообщение Castalolg »

Я распаковал в папку с проектом, причём все папки вытащил из архива, не помогло
Аватара пользователя
alexandr_ratush
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47

Re: Не получается использовать метод groups.isMember

Сообщение alexandr_ratush »

А что происходит при локальном запуске флешки?
Castalolg
Сообщения: 9
Зарегистрирован: 03 июл 2014, 18:22

Re: Не получается использовать метод groups.isMember

Сообщение Castalolg »

Ошибок нету но во вкладке Вывод пишет
  • {"error":{"error_code":101,"error_msg":"Invalid application API ID","request_params":[{"key":"method","value":"groups.isMember"},{"key":"sig","value":"d9a2da08303b84ea4ea01672a16c1365"},{"key":"sid","value":"null"},{"key":"uid","value":"undefined"},{"key":"gid","value":"12345"},{"key":"extended","value":"1"},{"key":"api_id","value":"NaN"},{"key":"v","value":"3.0"},{"key":"format","value":"JSON"}]}}
    ошибка api: Invalid application API ID
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: Не получается использовать метод groups.isMember

Сообщение sasha^ »

ты залил как флешку??
может попробывать обращаться как к свойствам объекта через точку?? ( хотя по идеи раз динамический - то должен и так работать, но попробуй...)
Castalolg
Сообщения: 9
Зарегистрирован: 03 июл 2014, 18:22

Re: Не получается использовать метод groups.isMember

Сообщение Castalolg »

А это как?
Аватара пользователя
alexandr_ratush
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47

Re: Не получается использовать метод groups.isMember

Сообщение alexandr_ratush »

Ошибок нету но во вкладке Вывод пишет
Ошибок нету говорите? А это что?
ошибка api: Invalid application API ID
При локальном запуске flashVars будет равен null. Нужно делать проверку, типа вот так.

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

// Получаем данные. Если их нету, то подставляем свои_flashVars = stage.loaderInfo.parameters as Object;if (!_flashVars.api_id){    _flashVars.api_id = '******';    _flashVars.viewer_id = '*******';    _flashVars.secret = '*************';    _flashVars.sid = '********************************';    _flashVars.api_url = 'http://api.vkontakte.ru/api.php';} 
И еще, что вы хотели увидеть, когда приложение находится в ВК? trace вы не увидите. Разве что флешка перейдет на второй кадр, если вы состоите в этой группе "12345". Создайте текстовое поле, и туда выводите всю инфу, вместо трейса.
Castalolg
Сообщения: 9
Зарегистрирован: 03 июл 2014, 18:22

Re: Не получается использовать метод groups.isMember

Сообщение Castalolg »

Сделал так как вы написали , может опять неправильно вставил

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

import vk.APIConnection; var api_id:Number;var viewer_id:Number;var sid:String;var secret:String; var flashVars = stage.loaderInfo.parameters as Object;var VK:APIConnection=new APIConnection(flashVars); api_id = flashVars['api_id'];viewer_id = flashVars['viewer_id'];sid = flashVars['sid'];secret = flashVars['secret'];flashVars.api_url = 'http://api.vkontakte.ru/api.php'; if (!flashVars.api_id) {      flashVars['api_id'] = 1888171;  flashVars['viewer_id'] = 66748;   flashVars['sid'] = '7e22c25d7fece88f2316553937ff24f43e1073ca28e8b4302e65db35fa';   flashVars['secret'] = '6113n3e4g3';  flashVars.api_url = 'http://api.vkontakte.ru/api.php'; }  VK.api("groups.isMember", {gid:64903315, uid:flashVars.viewer_id, extended:1}, resAPI, APIError); function resAPI(response:Object):void{    if(response.member==1)    {        trace("В группе");       gotoAndPlay(2);    }} //ошибка АПИfunction APIError(response:Object):void{    trace("ошибка api: "+ response.error_msg);}stop(); 
ну и ошибка
  • {"error":{"error_code":101,"error_msg":"Invalid application API ID","request_params":[{"key":"method","value":"groups.isMember"},{"key":"gid","value":"64903315"},{"key":"api_id","value":"NaN"},{"key":"sig","value":"ca9696bf08b980f652caff8cf65bb348"},{"key":"extended","value":"1"},{"key":"sid","value":"null"},{"key":"v","value":"3.0"},{"key":"uid","value":"66748"},{"key":"format","value":"JSON"}]}}
    ошибка api: Invalid application API ID
Аватара пользователя
alexandr_ratush
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47

Re: Не получается использовать метод groups.isMember

Сообщение alexandr_ratush »

1. Скорее всего вы указываете неправильные параметры при локальном запуске (вы уверены что sid и secret правильные?).
2. Попробуйте на сцене создать текстовое поле, и в него вывести текст "В группе", а не в trace. И все это выгрузите в ВК. trace вы все равно не увидите.
Ответить