我正在努力学习如何获得我自己的脸书& twitter墙状态进入闪存,以便我可以将其导出并安装到我的iPhone中。 在阅读了facebook和twitter API文档之后,我仍然对如何使用它们感到困惑。 我对此非常陌生,希望得到一个合适的教程/示例代码供参考。
帮助表示赞赏。谢谢。
答案 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
这是动作脚本的成功,我学到了新的东西 如果我有时间,我会创建一个基本的用户状态或某事,让你知道,现在我希望我推动你朝着正确的方向。