Опубликовать на стене(ах) друзей через Facebook Actionscript 3 SDK

Я абсолютно новичок в программировании, и мне только что удалось изучить основы ActionScript 3. Теперь я хотел бы узнать, как публиковать сообщения на стенах моих друзей через as3 SDK с использованием класса пользовательского интерфейса (взято из хорошего учебника):

Вот как я публикую на своей стене:

protected function newsFeed ():void
        {
            
            // define your caption text
            var theCaption:String = "CaptionText";
            
            // define the descrition text
            var theDescription:String = "Text for game Achievement";
            
            // We need to follow the FB docs to tell it what sort of input we are sending to FB
            // We are trying to set the 'feed'
            var methodInput:String = 'feed';
            
            var thePicture:String = "mylink/picture.png";
            var theLink:String = "mylink";
            var theName:String = "Name of FB Status Setter";
            
            // Create an object that we'll call 'data' and fill it with the actual data we're sending to Facebook
            var data:Object = {
                caption:theCaption, 
                description:theDescription, 
                picture:thePicture, 
                name:theName, 
                link:theLink
            };
          Facebook.ui(methodInput, data, onUICallback);
         }

protected function onUICallback(result:Object):void
    {
    // do something
    }

Это прекрасно работает. Я знаю, что мне нужно куда-то интегрировать параметр. Но я не знаю, где и как. Извините, я очень новичок в этом. Это из Документов Facebook

Свойства

от: идентификатор или имя пользователя, разместившего сообщение. Если это не указано, по умолчанию используется текущий пользователь. Если указано, это должен быть идентификатор пользователя или страницы, ›администрируемой пользователем.

to: идентификатор или имя пользователя профиля, в котором будет опубликована эта история. Если это ›не указано, по умолчанию используется значение from.

Надеюсь, кто-то может мне помочь.

С наилучшими пожеланиями, Амир P.S.: Есть ли способ опубликовать только на стене одного друга и другой способ опубликовать на стенах нескольких друзей?


person Amir Rahbaran    schedule 29.02.2012    source источник
comment
Я видел много очень похожих вопросов в последнее время. Это классное задание?   -  person Martin    schedule 29.02.2012
comment
Привет Маус, нет, это не классное задание. где вы нарыли подобные вопросы, может мне стоит глянуть? я провел огромное исследование Google, ничего не смог найти (стена ДРУГА as3-sdk)   -  person Amir Rahbaran    schedule 02.03.2012
comment
За последние несколько недель я видел много вопросов в Facebook о Stack Overflow. Я помню, что по крайней мере один из них был специально посвящен публикации на стене FB. Но я не читал, так как не знал ответа. Просто заметил тенденцию.   -  person Martin    schedule 02.03.2012


Ответы (1)


Я полагаю, вы хотите использовать Facebook.api(), а не 'ui'. Согласно документации AS3 FB API, 'ui' просто открывает диалоговое окно общего доступа. Если вы хотите создать публикацию на стене друзей, вам нужно использовать «api».

Я не проверял это во Flash, но я думаю, что вы можете установить метод как /PROFILE_ID/feed ... конечно, заменив «PROFILE_ID» на FB uid друга. Затем включите аргументы; сообщение, изображение, ссылка, имя, заголовок, описание и источник в вашем объекте данных.

Таким образом, ваш код будет выглядеть примерно так:

var method:String = "/friend_id/feed";
var data:Object = {};

data.message = "Your message";
data.picture = "http://www.google.com/kittens.jpg";
data.link = "http://www.mysite.com/link";
data.caption = "Your caption";
data.description = "Your description";
data.source = "http://www.mysite.com/video.swf";//(optional) source is a video or Flash SWF

Facebook.api(method, yourCallback, data, "POST");

function yourCallback(result:Object, fail:Object):void {
    if (result) {
        trace(result)
    } else if (fail) {
        trace(fail);
    }
}

Если у вас несколько друзей, вы, вероятно, могли бы просто поместить uid в массив и выполнить описанный выше метод. API AS3 имеет метод пакетного запроса, который я не пробовал, но вы можете проверить Документация.

Facebook имеет несколько довольно полезных инструментов, которые несколько скрыты.
Ознакомьтесь с их Отладчиком и их Обозреватель Graph API

Надеюсь, это полезно.

person Corey    schedule 29.02.2012
comment
Здравствуйте, Кори, спасибо за ваш ответ и извините, что отнял у меня время, чтобы ответить. P.S.: Просто чтобы вы знали, я не могу отметить ваш ответ как полезный, потому что у меня нет необходимых 15 очков репутации. - person Amir Rahbaran; 02.03.2012
comment
Привет, Кори, Извините за верхний пост, я случайно нажал ENTER, я редактировал больше пяти минут (что запрещено). В любом случае, я попробовал ваш код, но он не сработал. Что касается использования класса пользовательского интерфейса. Я не знаю почему, но мой приведенный выше код работает для обмена. Вы можете проверить мое экспериментальное приложение. Это действительно уродливо, только для учебных целей. Если вы используете его, не забудьте сделать свои сообщения приватными: apps.facebook.com/flex_tutorial Кнопка api-feed влечет за собой ваш код. Если вы нажмете кнопку Post-on-Wall-Button, вы убедитесь, что приведенный выше код работает. Привет, Амир - person Amir Rahbaran; 02.03.2012
comment
Я получаю IOError при нажатии кнопки API-канала. URL показывает: graph.facebook.com/friend_id/feed. Вам нужно заменить friend_id фактическим uid друга, с которым вы хотите поделиться. - person Corey; 02.03.2012
comment
Большое спасибо за ваше терпение. Теперь это работает. Тем не менее, я все еще не полностью понял это. Игрок должен выбрать, на какой стене он хочет это разместить. Таким образом, я думаю, простое введение UID не может быть решением. - person Amir Rahbaran; 04.03.2012
comment
Нет, к сожалению нет. Вам также потребуется создать средство выбора друзей, которое пользователь сможет использовать для выбора своих друзей. Как только они сделают свой выбор, вы просто сохраните выбранные идентификаторы и будете использовать их в описанном выше методе. - person Corey; 05.03.2012
comment
Хорошо, я думаю, у вас есть идея, как это сделать. Большое спасибо за время. Высоко ценится! - person Amir Rahbaran; 08.03.2012
comment
Помните — вам нужно расширенное разрешение «publish_stream» от Facebook.login - person fideldonson; 24.07.2012