如何使用CS5.5获得我自己的脸书/推特墙状态?

时间:2012-04-02 02:23:24

标签: facebook flash twitter adobe status

我正在努力学习如何获得我自己的脸书& twitter墙状态进入闪存,以便我可以将其导出并安装到我的iPhone中。 在阅读了facebook和twitter API文档之后,我仍然对如何使用它们感到困惑。 我对此非常陌生,希望得到一个合适的教程/示例代码供参考。

帮助表示赞赏。谢谢。

2 个答案:

答案 0 :(得分:2)

对于Twitter来说很简单。只需编写AS3代码即可将Twitter用户RSS加载为XML。之后你就可以使用它了。

var myXmlLoader:Loader = new Loader();
myXmlLoader.load(new URLRequest("http://twitter.com/statuses/user_timeline/@twitterUser.rss"));

// just replace "twitterUser" with your twitter user, leave all the rest as is

myXmlLoader.addEventListener(Event.COMPLETE, xmlLoadCompleted);
function xmlLoadComplete(evt){
    var myWallData:XML = new XML(evt.target.data);
    trace(myWallData); // you will get an RSS XML with the last 20 tweets from your account
}

要从Facebook墙上获取RSS,您可以使用: https://www.facebook.com/feeds/page.php?id= 23749877160 &安培;格式= rss20 其中 23749877160 是您的Facebook帐户ID

这会像推特一样为你提供你的Facebook,

但你需要一些技巧来加载闪存。 在本地你可以加载它,并使用相同的代码加载twitter工作得很好, 但是在网络上你的swf将无法加载,一些跨域问题。

为了解决这个问题,我所做的是一个简单的PHP文件,用于加载rss并保存带有加载内容的文件。

PHP代码:

<?php

set_time_limit(300); // this is to set the time limit to execute a code, is that the facebook wall take too long to load

$fbURL = "https://www.facebook.com/feeds/page.php?id=23749877160&format=rss20";
$fileName = "myFileName.xml"; // the name you want to do to your file, the file you will load with flash

$doc = new DOMDocument();

if($doc->load( $fbURL )){
    $doc->save($fileName); // saving file in server folder
    }else{
       echo "error";
       }
?>

这很酷,但您需要在意图加载生成的XML之前执行PHP文件。您可以使用此代码来实现技巧

AS3代码:

var myPHPLoader:Loader = new Loader();
    myPHPLoader.load(new URLRequest("xmlGenerator.xml"));
    myPHPLoader.addEventListener(Event.COMPLETE, phpLoaded);

function phpLoaded(evt){
 trace("PHP executed");
 // do whatever you want
 // after the php is executed you can load the fbXml generated normally 
 }

这很好,但请记住,Twitter和Facebook RSS,每小时有一个呼叫限制(150电话),对于Facebook,我不知道。因此,如果您的应用在完成小时之前达到该限制,则会调用空xml或错误。

不要担心Facebook在这个例子中你有一个PHP将保存文件,如果它加载好,如果PHP不加载Facebook墙,然后它不会保存文件,所以你的应用程序将加载旧的fbXml。 / p>

使用相同的php加载twitter rss并保存要从Flash应用程序加载的文件。

我所做的就是跟随。

PHP代码:

<?php

function savePlainRss($loadURL, $fileName){
    set_time_limit(300);    
        $doc = new DOMDocument();

    if($doc->load( $loadURL)){
        $doc->save($fileName);
        }
    }

savePlainRss("https://www.facebook.com/feeds/page.php?id=23749877160&format=rss20", "myFacebookWall.xml");

savePlainRss("http://twitter.com/statuses/user_timeline/@twitterUser.rss", "myTwitterRSS.xml");

?>

此代码将保存twitter rss和Facebook Wall的XML文件,但只要它可以加载它,如果它不会保留旧文件。

然后从flash加载生成的XML文件。

对于我来说,确保我的应用程序不会达到通话限制并避免twitter或facebook将我的应用程序标记为垃圾邮件,我在服务器上执行了一个cronjob来执行PHP文件 每15分钟,所以每小时拨打twitter和Facebook的电话只有4,你可以在谷歌找到关于如何做cronjob的帮助,一些托管和网络服务器都有工具来做。

如果你想要更频繁的更新或更少,你可以每5分钟做一次电话,但请记住,facebook加载可能需要很长时间,最多300秒(5分钟)dond使用少于那个以确保你将完成所有工作。

感谢阅读。 我希望它有所帮助:)

答案 1 :(得分:0)

已经接受了它:http://developers.facebook.com/docs/guides/web/在这里寻找API。 我不想在这里发布代码...

此外,heres似乎有更多信息: http://facebook-actionscript-api.googlecode.com/svn/release/current/docs/index.html

这是动作脚本的成功,我学到了新的东西 如果我有时间,我会创建一个基本的用户状态或某事,让你知道,现在我希望我推动你朝着正确的方向。