通过Facebook Actionscript 3 SDK发布在朋友的墙上

时间:2012-02-29 13:33:47

标签: facebook actionscript-3 facebook-apps facebook-wall facebook-stream-story

我对编程非常陌生,只是设法学习ActionScript 3的基础知识。现在,我想学习如何使用UI类通过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
    }

这完全没问题。我知道我必须在某处整合参数“to”。但我不知道在哪里以及如何。对不起,我对此很新。这是来自Facebook Docs

  

属性

     

来自:发布消息的用户的ID或用户名。如果未指定,则默认为当前用户。如果指定,则必须是用户或用户管理的页面>的ID。

     

to:此故事将发布到的个人资料的ID或用户名。如果未指定此>,则默认为from的值。

希望有人可以帮助我。

最诚挚的问候, 阿米尔 P.S。:有没有办法只发布一个朋友的墙,另一种方式发布在几个朋友的墙上?

1 个答案:

答案 0 :(得分:4)

我相信你想使用Facebook.api()而不是'ui'。根据AS3 FB API的文档,'ui'只是打开共享对话框。如果你想在朋友的墙上创建一个帖子,那么你会想要使用'api'。

我没有在Flash中测试过这个,但我认为你可以将方法设置为/PROFILE_ID/feed ...当然用朋友的FB uid替换“PROFILE_ID”。然后,包括参数;数据对象中的消息,图片,链接,名称,标题,说明来源

所以你的代码看起来像:

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放在一个数组中并循环上面的方法。 AS3 API有一个我没有尝试过的批处理请求方法,但您可以查看Documentation

Facebook有一些非常有用的工具,有点隐藏。
查看他们的Debugger及其Graph API Explorer

希望这有帮助。