PokeAPI叩いてみた
投稿日: 2024年10月28日
前回のwebhookイベントオブジェクトの型が出来て、バックエンドを書いていたのですが、処理を書こうと思ったらユーザー登録(lineグループ登録)をしなきゃいけないのですが、そこで合言葉が必要で本当なら管理画面からユーザー登録するときに私が考えて登録するつもりだったんですが、参加イベント発火時にユーザー登録をして、ページの用意が出来た状態でURLをメッセージで返信したいなと思いました。
そうすると返信するまでの間に合言葉の登録が必要になるので自動生成する必要があります。
なんか変なパスワードみたいな文字列にしたくないので、真剣に考えてポケモンのAPI使ってみようと思いました。
PokéAPIはオープンAPIなので認証情報等も必要なくすぐ叩けますので、実装方法考えるためにPOSTMAN使っていきました。
超簡単です。
https://pokeapi.co/api/v2/pokemon
にGETリクエスト投げたら終わりですが、レスポンスをみると取得出来ているのが20件だけで、全部で1302件あるようです。
これ増え続けるんでしょうね・・ポケモン凄い・・
連番なのか気になるので全部取得したいと思います。
全体の件数が分かったので、
https://pokeapi.co/api/v2/pokemon?limit=1302
クエリパラメータに?limit=1302を付けてリクエストしなおしました。
連番じゃなかった・・・
1025の次が10001になっています。
なんでなのかはわからないですが名前もなんか変わっていますね・・
アローラの姿とか真夜中の姿とかありますよね、そんなん関係しているかんじですかね(適当に言ってます)
ここで気づく、英語だこれ。日本語がいい。。。
ってことで調べると、別のエンドポイントがあって
https://pokeapi.co/api/v2/pokemon-species/
これ叩いてみました。
件数が違う・・!しかも連番でしたこちらは。
こちら使った方が良さそうです。
今度は個別のポケモンの情報を取得してみます。
https://pokeapi.co/api/v2/pokemon-species/1
いろんな言語混じってる感じですね・・
ありました、names!!!!
ポケモンID一番はフシギダネなんですね!!!ピカチュウじゃないんだ~ビックリ!!
とりあえずポケモンの名前は取得できることが分かったので、これらを使ってポケモンの名前を合言葉にできるように実装していきたいと思います。
LINEからwebhookで受け取ったイベントタイプが「参加イベント(join)」だった時の処理。
https://pokeapi.co/api/v2/pokemon-species/{生成したID}
にGETリクエストこんな流れで実装していこうかなと思います。
本当にリアルタイムで初めて試しながら書いてみました。
ドキュメントは英語でめちゃくちゃ読みにくいです。
これから実装したらコードも共有していこうと思います。
でも1025件って、合言葉にしては試していけばどこかで必ずあたるから微妙かもって思いました。
・・・まぁいいか。