新ブログ「amazon探検隊!」ではTwitterでつぶやいた商品名を列挙するようにしました。
こんな感じです。もちろん全部アフィリエイトです。
Amazon でチェック!
たとえばこれなんか画像もカスタマーレビューも表示されて、もし見てもらえれば
ブログで下手な宣伝するよりも圧倒的に効果的だと思う訳です。
以前はPHPを使った処理例を書きましたが、JavaScriptだけでも出来ます。
新ブログ「amazon探検隊!」ではTwitterでつぶやいた商品名を列挙するようにしました。
こんな感じです。もちろん全部アフィリエイトです。
たとえばこれなんか画像もカスタマーレビューも表示されて、もし見てもらえれば
ブログで下手な宣伝するよりも圧倒的に効果的だと思う訳です。
以前はPHPを使った処理例を書きましたが、JavaScriptだけでも出来ます。
先日の記事「Twitter API 愛の劇場のソース」では、Twitterのuser_timelineメソッドをPHPで呼び出し、simplexmlを使って処理しました。
しかし、記事中に書いてあるようにソースに不備があります。
書き直すに当たり、次の変更を行ないました。
前回のソースは、とりあえずTwitter APIがどんなものか動かしてみるレベルの内容です。
いいコードとはとてもいえないものでした。今回は使う開発言語を減らすことで、コードがスッキリしました。
アクセス制限の問題もあります。1時間に150アクセスまでなので、PHPを置いたサーバーからTwitterのサーバーにアクセスするより、JavaScriptを読み込んだ各ブラウザからTwitteのサーバーにアクセスさせる方がIPを分散できます。
さらに、前回はリレー小説の書き手分user_timelineメソッドを呼び出していました。今回はsearchメソッドで、Twitterのサーバーに問い合わせる回数を減らします。
赤字のjsonをatomにすると、Atomが返ってきます。
http://search.twitter.com/search.json?q=検索クエリー&callback=コールバック関数名&result_type=recent&rpp=100&since_id=200851367760363520&page=1
必須パラメーターはqです。
q=には検索クエリーをURLエンコードして送信します。検索クエリーの書き方は後述します。
callback=にはJSONPのコールバック関数を指定します。このオプションはatomの時には適用されません。
result_type=には、欲しい検索結果の種類を指定します。指定できるのは以下の3つ。指定しないとrecentが指定されたものとみなされます。
rpp=には、一度に取得する検索結果の数を指定します。指定できる最大値は100、未指定だと15になります。
since_id=は指定したIDより大きなIDのステータスのみ取得するオプションです。検索に指定IDそのものは含まれません。
page=1ページを rpp 件とみなして取得するページを指定します。最初のページは1です。また、rppとpageで遡れるのは、最大1500件までです。
他にもたくさんのオプションがあり、WebService/Twitter/API - わすWikiにまとめられています。
ところが、今回も問題がありました。ある日から1話目が表示されなくなったのです。
どうも、約10日(1.5週)以上前のつぶやきは検索されないようです。
ということで、またスクリプトを修正することになるのですが、それは別の記事にして、この話を続けます。
今回の検索クエリはこうなりました。
from:Tom3suteki で、投稿者がTom3sutekiのつぶやきを検索します。
リレー小説なので、投稿者が2人います。from:Tom3suteki または from:welcome2ourshop という場合は、ORで結びます。
ORは大文字で、前後に半角スペースを入れます。
検索から除外したい文字列の前には - (ハイフン)をつけます。ハイフンと文字列の間にはスペースを入れずにくっつけます。
-RT とすることでRTを含む文字を除外します。つまり、リツィートの除外を指定したことになります。
つづくなどと、何もつけない文字列を指定すると、その文字列を含んだツィートを探します。
つまり「from:Tom3suteki OR from:welcome2ourshop -RT つづく」は、「投稿者がTom3sutekiかwelcome2ourshopでRTを含まず(リツィートを含まず)、つづく という文字列があるツィートを探せ」という意味です。
これを、URLエンコードした上で、q=に続けて書きます。
この広告は30日以上新しい記事の更新がないブログに表示されております。