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

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

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

Регистрация: Oct 2009
Сообщений: 386
По умолчанию facebook api начало работы

Обьясните пожалуйста всё ли можно писать в flash или надо обязательно JS приплетатью смотрю примеры в сети но никак разобраться не могу. мне надо просто фотографию пользователя вытенуть. поиллюстрируйте плиз если не сложно!

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Надо JS приплетать. Вообще, можно и на флеше, но это сделать сложнее, чем изучить JS на необходимом уровне
Вот простейший html код вставки для iframe.
Главное не забудьте положить в одну папку с этим html файл expressInstall.swf и папку js содержащую файл swfobject.js

ну и можете в m_preloaderPath указать ссылку на свою флешку. В общем, думаю особого труда не составит разобраться что к чему.
Данные из фейсбука передадутся при загрузке приложения, и будут доступны через stage.loaderInfo.parameters. В частности ссылка на фотку будет тут:
stage.loaderInfo.parameters['picture'];
удачи!
Код AS3:
 
 
<html>
 
<head>
    <script
    src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
        <script src="js/swfobject.js"></script>
            <link rel="stylesheet" href="style.css" />
            <title></title>
            <meta name="description" content="" />
            <script>
                var m_pref = "http://";
                if (window.location.protocol == "https:") {
                    m_pref = "https://";
                }
                var m_preloaderPath 	= m_pref + "somepreloader.swf";
                var m_movieName 		= m_pref + "someflash.swf";
				var m_swfID				= "FlashSWF";
				var m_swf				= null;
 
				var fbAppID				= ""; // facebook api id
                var m_token 			= "";
				var m_server 			= m_pref + "example.com/";
				var fbChannelURL		= m_server + "fb/channel.html";
                var m_friendsList 		= "[ ";
				var m_httpVars 			= window.location.search.substring(1).split("&");
				var m_urlvars				= {};
				// for vk and ok
				for (var i in m_httpVars) {
					var s 		= String(m_httpVars[i]).split("=");
					var key 	= String(s[0]);
					var value 	= String(s[1]);
					m_urlvars[key] = value;
				}
 
				// this means the social is vk or odnoklassniki
 
				if (m_urlvars['viewer_id'] || m_urlvars['logged_user_id']) {
					initIframe(m_urlvars); 
				} else {
 
					$(document).ready(function () {
 
						$.ajaxSetup({
							cache: true
						});
						$.getScript('//connect.facebook.net/en_UK/all.js', function () {
 
							FB.init({
								appId: fbAppID,
								channelUrl: fbChannelURL
							});
							FB.getLoginStatus(function (response) {
 
								if (response.status === 'connected') {
 
									m_token = response.authResponse.accessToken;
									connected = true;
									var user = null;
									FB.api('/me?fields=picture,first_name,last_name', function (userParams) {
										user = userParams; 
										FB.api('/me/friends?access_token=' + m_token + '&fields=installed,first_name,last_name,picture', function (friends) {
											for (var i in friends.data) {
 
												var firstName = friends.data[i].first_name;
												var lastName = friends.data[i].last_name;
												var picture = friends.data[i].picture.data.url;
												var userID = friends.data[i].id;
												m_friendsList += JSON.stringify({
													'firstName': firstName,
													'lastName': lastName,
													'picture': picture,
													'userID': userID
												}) + ",";
 
											}
 
											m_friendsList += " ]";
											//document.body.innerHTML = m_friendsList;
 
											if (user != null) { 
												initIframe({
													"fb_user_id": user.id,
													"first_name": user.first_name,
													"last_name": user.last_name,
													"token": token,
													"picture": user.picture.data.url,
													"friends": m_friendsList
												});
											}
 
										});
									});
 
								}
							})
 
						});
					});
				} // end else
 
                function initIframe(m_vars) {
                    var rand = String(Math.floor(Math.random() * 100000));
                    var m_flashvars = {};
                    var str = "";
                    for (var i in m_vars) {
                        var key = i;
                        var value = m_vars[i];
                        m_flashvars[key] = value;
                        str += key + "=" + value + "&";
                    }
 
                    m_flashvars['server'] = m_server;
                    m_flashvars['main'] = m_movieName + "?rand=" + rand;
 
                    var params = {
                        menu: "false",
                        scale: "noScale",
                        allowFullscreen: "true",
                        allowFullscreenInteractive: "true",
                        allowScriptAccess: "always",
                        bgcolor: "",
                        wmode: "direct"
                    };
                    var attributes = {
                        id: m_swfID
                    };
 
                    swfobject.embedSWF(
                        m_preloaderPath + "?rand=" + rand,
                        "altContent", "100%", "100%", "10.0.0",
                        "expressInstall.swf",
                        m_flashvars, params, attributes);
			m_swf = document.getElementById(m_swfID);	
                }
            </script>
            <style>
                html, body {
                    height:100%;
                    overflow:hidden;
                }
                body {
                    margin:0;
                }
            </style>
</head>
 
<body>
    <div
    id="altContent">
 
        </div>
</body>
 
</html>

Старый 24.11.2013, 23:42
areostar вне форума Посмотреть профиль Отправить личное сообщение для areostar Найти все сообщения от areostar
  № 3  
Ответить с цитированием
areostar

Регистрация: Oct 2009
Сообщений: 386
поясните плиз

Код AS3:
  var m_preloaderPath 	= m_pref + "somepreloader.swf";//Прелоадер? а если его нет?
  var m_movieName	= m_pref + "someflash.swf";//ИМя основной флешки
  var m_swfID		= "FlashSWF"; //Что такое?
  var m_swf		= null; //Что такое?
 
  var fbAppID		= ""; // facebook api id
  var m_token 		= "";//Что такое?
  var m_server 		= m_pref + "example.com/";//Что такое?
  var fbChannelURL		= m_server + "fb/channel.html";//Что такое?

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
//Прелоадер? а если его нет?
Ну, расчет был на то, что все-таки код будет просматриваться, там все довольно просто, ничего нигде не обфусцировано и какие параметры куда передаются видно.
Если нет прелодера, то указываем туда путь к своей флешке, при этом можно не указывать m_movieName.
У меня этот параметр используется для передачи через флешварс прелодеру, чтобы он знал откуда грузить основную флешку. А в страницу встраивается именно та флешка, которая указана в m_preloaderPath.

Цитата:
var m_swfID = "FlashSWF"; //Что такое?
1) swf id. Это айди флешки, для передачи в SWFObject
Цитата:
var m_server = m_pref + "example.com/";//Что такое?
2) Корневая директория сервера, на котором все это дело лежит. Чтобы флешка знала куда делать запросы.
Цитата:
var fbChannelURL = m_server + "fb/channel.html";//Что такое?
3) Читаем документацию
Цитата:
var m_token = "";//Что такое?
4) Токен от фейсбука. См. п. 3

Цитата:
var m_swf = null; //Что такое?
5) ссылка на div в который встроена флешка. Изначально нужен для того, чтобы организовать мост JS / AS3 через ExternalInterface. Но в этом коде такие функции отсутствуют, потому что руки не дошли доделать)

Старый 25.11.2013, 09:30
areostar вне форума Посмотреть профиль Отправить личное сообщение для areostar Найти все сообщения от areostar
  № 5  
Ответить с цитированием
areostar

Регистрация: Oct 2009
Сообщений: 386
Спасибо, вроде понятно, сейчас попробую

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

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

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


 


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


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