Binary Diary

Take Agile で

Twitterフォロワーの誕生日をリスト化したくなったけどAPIレスポンスにないらしいからやめた

どうもこたにんです。

Twitterフォロワーの誕生日をリスト化したくなったけどAPIレスポンスにないらしいからやめた

タイトル出オチです。
Twitterやっててね、誕生日がきたときがあるんですよ。

そりゃ嬉しいことじゃん、ハッピーバースデートゥーミー。
いろいろな方からお祝いのリプライやふぁぼをいただきまして。
それはシンプルに嬉しいきもちじゃん。

で、その嬉しいきもちを繋がっている方々へ還元したいなあとおもって。
Twitterって誕生日を公開することができるから、たどればわかるにはわかる。
フォロワーさんの誕生日。
それがリストになって、よきタイミングで通知されたら素敵じゃないかしら。

と思って、Twitter APIを調べてみたのです。

GET users/show — Twitter Developers

おそらくこれが、ユーザの情報とってこれるやつ。
でもここだとレスポンスサンプル見れなかったので、別のサイトを見てみた。

 

レスポンスパラメータを眺めてみます、眺めます。

  1. status:
    {
    1. created_at:
    2. id:
    3. id_str:
    4. text:
    5. truncated:
    6. entities:
      {
      1. hashtags:
      2. symbols:
      3. user_mentions:
      4. urls:
      }
    7. source:
    8. in_reply_to_status_id:
    9. in_reply_to_status_id_str:
    10. in_reply_to_user_id:
    11. in_reply_to_user_id_str:
    12. in_reply_to_screen_name:
    13. geo:
      null
    14. coordinates:
      null
    15. place:
      null
    16. contributors:
      null
    17. is_quote_status:
    18. retweet_count:
    19. favorite_count:
    20. favorited:
    21. retweeted:
    22. lang:
    }

 

やっぱりどうしても、ないんだよなあ。
どれ読んでも、見当たらなかったんだよなあ。。。

ということでタイトル通り。
Twitterフォロワーの誕生日をリスト化したくなったけどAPIレスポンスにないらしいからやめた。
悲しいけど、公式が用意していないから仕方ない。
 

他の方法はないか?

それでもリストは作りたい。
だったら代替案を考えるしかないですね、レッツエンジニアリング。

APIリファレンス読むと、フォロワーのリストが取れるということは間違いなくわかった。
じゃあ思いつくのはこう!

  1. APIでフォロワーのリスト取ってURL作る
  2. スクレイピングしてDOMツリーから誕生日引っこ抜く
  3. 誕生日リストつくる

これなら、いけそう!!

ただ注意点としては、APIの利用制限に引っかからないようにすること。
フォロワーリスト取るだけだから大丈夫だし、毎日スクレイピングしなくていいからきっと大丈夫。
もう少し詳細に、フローを確立してみます。

  1. APIでフォロワーのリスト取ってデータ溜める(スプレッドシートでもfirestoreでも)
  2. データのうち誕生日が取れてないユーザーを対象にURL作る
  3. スクレイピングしてDOMから誕生日引っこ抜いてデータに追加する

こうすれば、必要最低限のアクセスで済みそう!!
そして簡単に実現できそう!!

よーしなんか見えてきたぞ?

今回はAPIに誕生日レスポンスがなかったことへの嘆きとその代替案の検討まで。
イデアだけに留めずに、ちゃんと作るぞー。

春までには作るぞー!
春までには。