Тема: [Вконтакте] интеграция с вконтактом
Показать сообщение отдельно
Старый 24.03.2013, 14:01
fduch вне форума Посмотреть профиль Отправить личное сообщение для fduch Найти все сообщения от fduch
  № 8  
Ответить с цитированием
fduch

Регистрация: Jun 2012
Сообщений: 142
Ошибка вылазил в АПИСонекшене.
Вот основной код, аписонекшен присоединен как класс
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.TextField;
	import vk.APIConnection;
 
 
  import flash.text.*;
  import flash.events.*;
 
 
 
	/**
	 * ...
	 * @author BJIACTb
	 */
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
 
 
 
		var tf = new TextField();
    	tf.x = 10;
    	tf.y = 50;
    	tf.width = 587;
    	tf.height = 349;
 
    	tf.border = true;
    	tf.borderColor = 0xDAE2E8;
    	tf.background = true;
    	tf.backgroundColor = 0xFFFFFF;
    	tf.embedFonts = false;
    	var format:TextFormat = new TextFormat();
		format.font = "Tahoma";
		format.color = 0x000000;
		format.size = 11;
		tf.defaultTextFormat = format;
    	addChild(tf);
    	//tf.appendText("Application initialized\n");
 
 
 
 
		var flashVars: Object = stage.loaderInfo.parameters as Object;
		if (flashVars.api_id) {
			tf.appendText("\n// -- Your code for local testing:\n");
			tf.appendText("flashVars['api_id'] = " + flashVars['api_id'] + ";\n");
			tf.appendText("flashVars['viewer_id'] = " + flashVars['viewer_id'] + ";\n");
			tf.appendText("flashVars['sid'] = \"" + flashVars['sid'] + "\";\n");
			tf.appendText("flashVars['secret'] = \"" + flashVars['secret'] + "\";\n");
			tf.appendText("// -- //\n\n");
		}
 
 
	var VK: APIConnection = new vk.APIConnection(flashVars);
 
				// вызываем метод users.get, и передаем вторым параметром объект с полями, которые хотим получить, в данном случае first_name и last_name
	VK.api("users.get", { uids: flashVars.viewer_id, fields: "first_name, last_name" }, onUserData, function(param:Object):void { trace("ERROR"); });
 
		}
 
	}
 
}
Добавлено через 25 минут
Вот вариант, который работает
Код AS3:
VK.api('getProfiles', { uids: flashVars['viewer_id'] }, fetchUserInfo, onApiRequestFail);
Код AS3:
	private function fetchUserInfo(data: Object): void {
		for (var key: String in data[0]) {
    	  tf.appendText(key + "=" + data[0][key] + "\n");
 
    	}
	}
Объясните плс, как оно выводит последовательно данные ласт наме уид и фирст наме.
Почему конструкция data[0][0] выдает undefined
И как в этом виде получить "фирст наме = и ласт наме =" ??
Добавлено через 38 минут
Код AS3:
private function fetchUserInfo(data: Object): void {
		for (var key: String in data[0]) {
    	  tf.appendText(key + "=" + data[0][key] + "\n");
 
    	}
	}
Результат:
first_name=Алексей
last_name=Васильев
uid=1169781

А вот :
Код AS3:
trace("имя:" + data.first_name);
имя:undefined

Добавлено через 56 минут
Все разобрался.
Код AS3:
trace("имя: " + param[0]['first_name']);