Страница 1 из 2

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

Добавлено: 03 июл 2014, 18:34
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(); 

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

Добавлено: 03 июл 2014, 21:42
XELAD
Вероятно сначала нужно в папку с проектом распаковать вот это http://vk.com/source/APIConnection.zip , а потом уже "заливать и запускать".

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

Добавлено: 04 июл 2014, 10:21
Castalolg
Я распаковал в папку с проектом, причём все папки вытащил из архива, не помогло

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

Добавлено: 04 июл 2014, 10:35
alexandr_ratush
А что происходит при локальном запуске флешки?

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

Добавлено: 04 июл 2014, 12:09
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

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

Добавлено: 04 июл 2014, 12:17
sasha^
ты залил как флешку??
может попробывать обращаться как к свойствам объекта через точку?? ( хотя по идеи раз динамический - то должен и так работать, но попробуй...)

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

Добавлено: 04 июл 2014, 13:07
Castalolg
А это как?

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

Добавлено: 04 июл 2014, 16:17
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". Создайте текстовое поле, и туда выводите всю инфу, вместо трейса.

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

Добавлено: 04 июл 2014, 19:27
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

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

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