Как получить свой собственный статус стены Facebook / Twitter с помощью CS5.5? - PullRequest
0 голосов
/ 02 апреля 2012

Я пытаюсь узнать, как перенести свой собственный статус стены на Facebook и Twitter во флэш-память, чтобы я мог экспортировать его и установить на свой iPhone. После прочтения документации по API Facebook и Twitter я все еще не понимаю, как их использовать. Я очень новичок в этом и надеюсь получить подходящий учебник / пример кода для справки.

Помощь приветствуется. Спасибо.

Ответы [ 2 ]

2 голосов
/ 14 июня 2012

Для Твиттера это легко.Просто напишите код AS3, чтобы загрузить RSS пользователя Twitter в формате 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
}

Чтобы получить RSS со своей стены Facebook, вы можете использовать это: https://www.facebook.com/feeds/page.php?id=23749877160&format=rss20, где 23749877160 - ваша учетная запись FacebookИдентификатор

, который даст вам RSS с вашим Facebook, как это делает твиттер,

Но вам нужен какой-то трюк, чтобы загрузить его со вспышкой.Локально вы можете загрузить его, и он хорошо работает, используя тот же код для загрузки твиттера, но в Интернете ваш 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 
 }

Это работает хорошо, но имейте в виду, что твиттер rss и Facebook RSS имеют лимит вызовов в час (150 звоните) для твиттера, для фейсбука я не знаю.поэтому, если ваше приложение достигнет этого предела до завершения часа, оно вызовет пустой xml или ошибку.

Не беспокойтесь о Facebook в этом примере, у вас есть PHP, который сохранит файл, только если он хорошо загружается, еслиPHP не загружает стену Facebook, а затем не сохраняет файл, поэтому ваше приложение будет загружать старый файл fbXml.

Используйте тот же php, чтобы загрузить твиттер rss и сохранить файл для загрузки из вашего флеш-приложения.

Я сделал следующее:

Код 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");

?>

Этот код сохранит файл XML для Twitter rss и стены Facebook, но только если он сможет загрузитьесли он этого не сделает, он сохранит старый файл.

Затем из флэш-памяти загрузите сгенерированные файлы XML.

Чтобы я был уверен, что мое приложение не достигнет лимита вызовов и не будет использовать теги twitter или facebookмое приложение как спам, я выполнял cronjob на своем сервере, чтобы выполнять PHP-файл каждые 15 минут, чтобы количество вызовов в твиттере и Facebook в час составляло всего 4, вы можете найти справку в Google о том, как сделать cronjob, какой-нибудь хостинг, и мыНа сервере b есть инструменты для этого.

вы можете делать звонки каждые 5 минут, если вы хотите более частые обновления или меньше, но имейте в виду, что загрузка Facebook может занимать длительное время, до 300 секунд (5 минут) Не используйте меньше, чтобы быть уверенным, что у вас будет полная работа.

Спасибо за чтение.Надеюсь, это поможет:)

0 голосов
/ 03 апреля 2012

взглянул на это: http://developers.facebook.com/docs/guides/web/ ищите здесь API.я не хочу размещать там код здесь ...

Также здесь, кажется, есть больше информации: http://facebook -actionscript-api.googlecode.com / svn / release / current / docs / index.html

это успешно с ActionScript, я узнал что-то новое, если у меня будет время, я создам базовый пользовательский статус или что-то еще и дам вам знать, пока я надеялся, что подтолкнул вас в правильном направлении.

...