(ハッシュタグでまとめたいので、 #AWS77 つけて頂きつつ、+1の方は公式RTして頂く感じでどうでしょうか?) #jawsugless than a minute ago via TweetDeck Favorite Retweet Replymoto
j3tm0t0


cloudpack発信で始まった、AWSに欲しい機能を七夕の短冊に見立ててお願いする、#AWS77のtweetをPHPでまとめてみました。コードは下記の通りになります。

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($curl, CURLOPT_URL, "http://search.twitter.com/search.json?rpp=100&q=AWS77");
$json = curl_exec($curl);
$search_results = json_decode($json, true);

$ordered_results = array();
foreach($search_results["results"] as $search_result) {
  $tweet_text = $search_result["text"];
  if(strpos($tweet_text, "RT ") === false) {
    $tweet_id = $search_result["id_str"];
    curl_setopt($curl, CURLOPT_URL, "http://api.twitter.com/1/statuses/$tweet_id/retweeted_by.json");
    $json = curl_exec($curl);
    $retweet_results = json_decode($json, true);
    array_push($ordered_results, array(
      "tweet_text"    => $tweet_text,
      "tweet_user"    => $search_result["from_user"],
      "retweet_count" => count($retweet_results)
    ));
  }
}

curl_close($curl);

usort($ordered_results, function($a, $b) {
  if($a["retweet_count"] == $b["retweet_count"]) {
    return 0;
  } else {
    return ($a["retweet_count"] > $b["retweet_count"]) ? -1 : 1;
  }
});

foreach($ordered_results as $ordered_result) {
  print($ordered_result["retweet_count"] . " " . $ordered_result["tweet_user"]  . " " . $ordered_result["tweet_text"] . "n");
}

※TwitterのAPIはリミットが150リクエスト/時ですので、
テスト中にリミットまでリクエストしてしまうと、テストが中断されてしまいます。
しかし、EC2なら他のEIPを付け直すことで、すぐにリクエストできるようになります!

そして、結果は下記のようになりました。

4 cloudpack_jp 課金情報を取得できるAPIが提供されますように #AWS77 #jawsug
4 b7372        VPCが東京リージョンにきますように。 #AWS77 #jawsug
3 cloudpack_jp PostgreSQLのRDSが始まりますように #AWS77 #jawsug
3 KenTamagawa  #jawsug 大阪の @shi1x1 のLT開始。#AWS77 でみんな七夕の願いを出しているけど、「夢は見るものじゃない叶えるものだ」 課金情報取得APIを作成!
2 cloudpack_jp RDS(MySQL)のタイムゾーンがDBパラメータグループで設定できるようになりますように #AWS77 #jawsug
2 j3tm0t0      (ハッシュタグでまとめたいので、 #AWS77 つけて頂きつつ、+1の方は公式RTして頂く感じでどうでしょうか?) #jawsug
2 tottokug     「玉川さんの仕事が子供に理解されますように」 #AWS77 #jawsug
1 cloudnosuke  RDSがstopできますように。 #AWS77 #jawsug
1 cloudpack_jp VPCで全てのAWSプロダクトが使えるようになりますように #AWS77 #jawsug
1 KenTamagawa  #AWS77 (AWSにほしい機能をお願いする七夕のお願い) 関係の短冊はCloudpackさんの近場のLawsonにつるされているwww #jawsug
0 aibax        Elastic Beanstalkが東京リージョンで使えるようになりますように #AWS77 #jawsug
0 nakau1       みんな、AWSに願い事してる。。#AWS77 #jawsug
0 sato_shi     Beanstalkが東京リージョンに来ますように。 #AWS77 #jawsug
0 tanaka_733   「VPC in Tokyo」「Oracle RDSでEnterprise Manager使いたい」「ELBに入ってくるアクセスへのSecurityGroup」 #AWS77 #jawsug
0 nakau1       次回こそはAWSの勉強会が自分の予定とバッティングしませんように。。#AWS77 #jawsug
0 cloudpack_jp インスタンスに複数EIPが対応されますように #AWS77 #jawsug
0 tanaka_733   Azureと同じように、データセンターへの受信トラフィックが無料になりますように  #AWS77 #jawsug
0 tottokug     「RDSのmicroインスタンスが出ますように!」#AWS77 #jawsug
0 dexdev       何かみんなAWSに願い事してると思ったが、七夕かw知らずに願ってた http://bit.ly/lMfZFt #AWS77 #jawsug
0 dexdev       AutoScalingのLAMPでの具体的解説が出ますように  #AWS77 #jawsug
0 zembutsu     「AWS Management Console が日本語に対応して、もっと多くの人がクラウド・コンピューティングを普通に使えるようになりますように」( -人-)  #AWS77 #jawsug
0 tottokug     勝手課金APIもどき 途中 http://bit.ly/ks7VdA  #jawsug #AWS77
0 FujioSUZUKI  #aws77 AWSへの七夕願い
0 HIKINIKUAGEO AMIsの立ち上げ時のRoot Deviceをinstance-storeとEBSで簡単に切り替えられますように。#AWS77
0 shin1x1      64bit small インスタンスができますように #AWS77 #jawsug
0 suz_lab      "AWS MFA"のデバイスが複数のアカウントで利用できるようになりますように。 #AWS77 #jawsug
0 tottokug     「AmazonReverseProxyが出来ますように!」 #AWS77 #jawsug
0 tottokug     「SimpleDirectoryServiceが出来ますように」#AWS77 #jawsug
0 tottokug     「SecurityGroupでホスト名(Route53で管理されている物に限定)が指定出来るようになりますように」 #AWS77 #jawsug
0 ayakomuro    これは実際にリクエストしたw “@tottokug: 「RDSのmicroインスタンスが出ますように!」#AWS77 #jawsug”
0 tottokug     「SimpleDBの容量が増えますように!」 #AWS77 #jawsug

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら