Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.12.2017, 22:02
саша55555 вне форума Посмотреть профиль Отправить личное сообщение для саша55555 Найти все сообщения от саша55555
  № 1  
Ответить с цитированием
саша55555

Регистрация: Jan 2016
Сообщений: 46
По умолчанию Обновление старого кода VK API

Помогите переделать код. Этот код взят из чата для VK API на AS3. Но там устаревший VK API, кто поможет подредактировать, чтобы все работало? В исходнике так же была папка vk, ее я заменил на новую из архива, скачанного с ВК "APIConnection".

Код AS3:
import flash.display.Sprite;
import flash.text.*;
import flash.events.*;
import vk.APIConnection;
import vk.events.*;
import vk.ui.VKButton;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.utils.Timer;
 
var api_id:Number;
var viewer_id:Number;
var sid:String;
var secret:String;
var time_n:Number=3;//через сколько секунд обновляем окно чата
var flashVars:Object = 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'];//секрет
 
//обрабатывание полученых сообщении
function onMessages(data: Object):void{
var count = data.length;//сколько их всего
for (var i=0; i<count; i++){
window_chat.htmlText += '<b><font color="#ff0000">' + data[i]['user_name'] + "</font></b>: " + data[i]['message'];//добавляем строку с его именем и сообщением без ссылки и красного цвета
}
}
//если ошибка
function Errr(data: Object):void{
window_chat.text = data.error_msg;
}
//по нажатию на кнопку отправка сообщении
btn_chat.addEventListener(MouseEvent.CLICK, function(event:MouseEvent) {
VK.api('sendMessage', {message:send_chat.text}, onMessages, Errr);
send_chat.text='';//очищаем 
})
//таимер ,который будет обновлять полученый сообщения
function ShortTimer() {
var minuteTimer:Timer = new Timer(1000,time_n);
minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
minuteTimer.start();
}
//таимер прозвенел
function onTimerComplete(evt:Event):void {
VK.api('getMessages', {}, onMessages, Errr);//гет месагес
ShortTimer()//вызываем таймер еще
}
////////////////
////////////////
////////////////вызываем нужные функции
VK.api('getMessages', {}, onMessages, Errr);
ShortTimer()

Старый 14.12.2017, 22:20
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 2  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
APIConnection не работает из-за блокировки браузером флеш прослойки. Используйте js sdk и общайтесь с ней через externalInterface
Код AS3:
 
 function listenEvents(eventList){
		eventList.forEach(function(method){
			VK.addCallback(method, function(){sendEvent(method,arguments);});
		});
	}
	function apiRequest(method, params, id){
		VK.api(method,params, function(result){
			sendEvent('apiResult',{id:id, result:result});
		})
	}
function sendEvent(type,data){
	document.getElementById(divId).callback(type,data);
}

Старый 14.12.2017, 22:32
саша55555 вне форума Посмотреть профиль Отправить личное сообщение для саша55555 Найти все сообщения от саша55555
  № 3  
Ответить с цитированием
саша55555

Регистрация: Jan 2016
Сообщений: 46
Извиняюсь, новичок в этом деле, куда ваш отрывок кода вставлять?
И кстати, где это взять
Код AS3:
viewer_id = flashVars['viewer_id'];//виевир ид
sid = flashVars['sid'];//сид

Старый 14.12.2017, 23:27
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 4  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
здесь надо переписывать с пониманием дела, а не скопировать. читайте про ExternalInterface и vk jssdk

Старый 15.12.2017, 05:54
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 5  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
APIConnection не работает из-за блокировки браузером флеш прослойки.
Что, простите? Какое отношение имеет APIConnection либа к так называемой флеш прослойке? Если флешка запускается в принципе, значит ничего не заблокировано.
А не работает у тебя потому, что ты используешь устаревшие методы API типа getMessages, sendMessage, которые уже лет как ... заменены на методы из этого пакета https://vk.com/dev/messages. Соответственно, скорее всего в этой APIConnection и версия API указана старая.
Цитата:
И кстати, где это взять
Например здесь:
Код AS3:
var flashVars:Object = stage.loaderInfo.parameters;
С вк довольно просто работать вообще без всяких APIConnection. Можно формировать запросы самому по вот этой схеме. Все запросы можно формировать прямо из флеш приложения, никакие JS SDK для этого не нужны.
__________________
Ко мне можно и нужно обращаться на ты)

Старый 15.12.2017, 14:46
саша55555 вне форума Посмотреть профиль Отправить личное сообщение для саша55555 Найти все сообщения от саша55555
  № 6  
Ответить с цитированием
саша55555

Регистрация: Jan 2016
Сообщений: 46
То есть нужно просто методы все заменить новыми и поставить, новый APIConnection?

Старый 15.12.2017, 15:55
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 7  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
и поставить, новый APIConnection?
Сомневаюсь, что кто-то обновляет эту библиотеку. Но попробовать можешь.
А на счет методов, да, их надо заменить, и версию API в запросах указать по-новее. Вот тут список версий
__________________
Ко мне можно и нужно обращаться на ты)

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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