2011-07-28 17 views
3

私は正常にかなりの時間Twitter Streaming API with PHPの使い方は?

$tweets = simplexml_load_file("http://twitter.com/statuses/user_timeline/" . $userID . ".rss"); 

を使用して私のウェブサイト上に表示するための私のユーザーのタイムラインを取得することができました。しかし、最近、より多くのページビューを持っていた私は今、私は恐ろしいHTTP 400レート制限のためにエラーを取得していることを発見しています。

私はlitte/no luckでTwitterストリーミングAPIの周りに頭を抱えようとしています(私にはOAuth/JSONに関する経験はありませんので、私にとっては完全にエイリアンです)。

AJAX/JQueryを使用してSearch APIにアクセスできるTwitStreamのコードを見てきました。残念ながら、一貫した検索結果を提供するのに十分なほど投稿していないので、これはオプションではありません。

私はTwitterからのドキュメントが非常に便利ではありませんでした。(JSONなどはあまり新しくないと確信しています)、単純なエンドツーエンドの例を見つけられませんでした。 APIをストリーミングして、PHP Webページからユーザ(つまり私)の投稿を最後に取得します(x)。ストリームを開くためにコマンドラインユーティリティ(例:curl)を使用する例はたくさんありますが、一部のウェブサーバーではこれが可能でない場合があります(コマンドラインにアクセスできない可能性があります)。

誰かが単純なPHP/AJAX/JQueryではなく、ユーザーのタイムラインから最後の10個のツイートを取得するRuby/PythonのWebページではないと大変感謝しています。私はそれが世論調査のようなものであれば気にしません。ページの読み込み中のつぶやきの単純な取り出しはすばらしいでしょう!

わかりやすくするために、ユーザータイムラインを取得してウェブページに表示するための簡単な例(例:CSSを使用しない/ JSONレスポンスを人間が判読可能にするなど)をTwitStreamと似ています。

答えて

0

あなたはこのようなものをお探しですか?

`<?php 
$username = "TwitterUsername"; // Your twitter username. 
$limit = "5"; // Number of tweets to pull in. 

/* These prefixes and suffixes will display before and after the entire block of tweets. */ 
$prefix = ""; // Prefix - some text you want displayed before all your tweets. 
$suffix = ""; // Suffix - some text you want displayed after all your tweets. 
$tweetprefix = ""; // Tweet Prefix - some text you want displayed before each tweet. 
$tweetsuffix = "<br>"; // Tweet Suffix - some text you want displayed after each tweet. 

$feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=" . $limit; 

function parse_feed($feed, $prefix, $tweetprefix, $tweetsuffix, $suffix) { 

$feed = str_replace("&lt;", "<", $feed); 
$feed = str_replace("&gt;", ">", $feed); 
$clean = explode("<content type=\"html\">", $feed); 

$amount = count($clean) - 1; 

echo $prefix; 

for ($i = 1; $i <= $amount; $i++) { 
$cleaner = explode("</content>", $clean[$i]); 
echo $tweetprefix; 
echo $cleaner[0]; 
echo $tweetsuffix; 
} 

echo $suffix; 
} 

$twitterFeed = file_get_contents($feed); 
parse_feed($twitterFeed, $prefix, $tweetprefix, $tweetsuffix, $suffix); 
?>` 

私はでこれを見つけた: http://www.instantshift.com/2009/05/25/10-twitter-hacks-for-your-wordpress-blog/

+0

ありがとう:ここ

は、このためのいくつかのJavaScriptのサンプルを持っているサイトです。それは以前私が使っていたものとかなり似ています。私はStreaming APIを使用することを前提としていました。レート制限の問題を回避する 'stream.twitter.com'? –

0

https://github.com/KartikTalwar/Twitter-Class

は、優れた簡単な例が付属しています。このクラスを使用してみてください、あなたはコードの行だけのカップルと詳細のトンを表示することができ

+0

リンクありがとうございます。残念ながら、これはまた、レート制御の対象となる上記の第1の方法を使用するように思われる。特にStreaming APIを使用する例が必要です。 –

+0

@chris投稿パラメータは何ですか?あなたがこのクラスの 'submitPOST($ param、$ url)'関数を使うことができれば、それは基本的に単純にそのコマンドライン 'curl'のPHPバージョンですhttps://github.com/KartikTalwar/Scraper-Class – Kartik

+0

'https:// dev.twitter.com/docs/streaming-api/methods'を正しく読んでいれば、postメソッドは' http://stream.twitter.com/1/statuses/filter ' '$ params = count = 10'のように' $ params'を構築することができましたか? –

0

あなたのサーバーからつぶやくときに、2つのことのいずれかを行わずにレート制限を回避することはできません:

1)時間間隔でつぶやきをプルダウンして、あなたのサイトにそれらをキャッシュ

2)ユーザーが自分自身を認証し、

はもちろんくらい簡単な方法があるツイートを引っ張って自分のトークンを使用して持っていますこれをする。 JavaScript自体のタイムラインをjavascriptでリクエストしてください。これらのタイムラインリクエストは、サーバーではなくページを表示するユーザーのIPに対してカウントされます。応答のためのhttp://www.mivamerchant.com/blog/how-to-make-custom-twitter-feed-for-your-website

関連する問題