2011-09-09 6 views
0

私はFacebookの好きなもので私の記事を並べ替えることができる方法があれば、私はたくさんのニュースを持つサイトを持っているのですか?どのように私はすべての記事を1日にx回更新することによって私のサーバーを殺すことなくこれを行うことができますか?facebookで注文するお気に入り(PHP)

最初のiは、このような何かをやって考えていた

$source_url = "http://example.com/"; //This could be anything URL source including stripslashes($_POST['url']) 

$url = "http://api.facebook.com/restserver.php?method=links.getStats&urls=".urlencode($source_url); 
$xml = file_get_contents($url); 
$xml = simplexml_load_string($xml); 
$likes = $xml->link_stat->like_count; 

しかし、私はすべての私の記事ので、私は見ることができます。..

任意の提案やスニペットの更新を行った場合、これは私のサーバーを殺します?多分私はいくつかのJavaScriptを使用することができますか?ダニー。

+0

あなたのサーバーを殺すのは何ですか? file_get_contents? – ajreal

+0

もし私が1つのリクエストをしたら、それは大丈夫ですが、1000+の記事でこれをやっていると想像してください。ボタンをクリックすると、私はAJAXリクエストに行くように見えます。 – Dexty

答えて

1

facebook likes(URL、Likes、Timestamp)を保持するdbテーブルを作成します。ページの読み込み時に、[タイムスタンプ>今+一定時間]の場合は、テーブルの「Likes」をリフレッシュします。データはわずかに古くなる可能性がありますが、5-10分のリフレッシュ時間があれば、ほとんどの時間はかなり近いと思います。

0

まず、古いRESTインターフェイスを削除し、Graph APIに切り替える必要があります。

これを行うと、1つのリクエストで複数のオブジェクトのデータを取得できます。必要なURLのコンマ区切りリストを指定します。これは、単純なGETを使用してPHPから、またはFB.api()を呼び出してJavascript経由で行うことができます。

ます。また、「IDS」クエリパラメータを使用して単一のクエリで複数のオブジェクトを要求することができます:DOCから

スニペット。たとえば、URL https://graph.facebook.com?ids=arjun,vernalは、両方のプロファイルを同じ応答で返します。

"ids"クエリパラメータはURLも受け入れます。これは、Open GraphでURLのIDを見つけるのに便利です。例:あなたがあなたのテーブルに頻繁にアクセスする必要がある場合は、いずれの場合においてもhttps://graph.facebook.com/?ids=http://www.imdb.com/title/tt0117500/

、(のみ、または、より多くの可能性が高い)最善の解決策は、ローカルにFacebookのデータをキャッシュしています。

関連する問題