chatGPTと一緒にtwitterAPIを学習する

twitter APIのv2が去年リリースされたので、公式ドキュメントを見つつ、せっかくなので、chatGPTと一緒につくろうと思った備忘録。

最初のプロンプト

twitterの自分のアカウントを自動でRTするコードをpythonで作りたいです。
RTするツイートは自分の過去のツイートを取得して、そこからRTしたいです。

返答としては以下のスクショが来ました。

おそらくv1の方式を使っている気がしますが、そのままgogle colabに入力してみます。
想定通り、エラーが出たので、そのまま聴いてみます。

エラーが出ました。どうやって改善したらいいですか?
エラー文は以下です。修正コードだけ教えて下さい

453 - You currently have Essential access which includes access to Twitter API v2 endpoints only. If you need access to this endpoint, you’ll need to apply for Elevated access via the Developer Portal. You can learn more here:エラーメッセージの内容から推測するに、Twitter APIのアクセスレベルがエッセンシャルアクセスであるため、特定のAPIエンドポイントにアクセスできない可能性があります。代わりに、API v2エンドポイントを使用する必要があります。

v2では bearer tokenを使っている気がしますが、そのまま実行する。同じエラーが出たので、再度教えてもらう。

それらしい答えが出てきたので、コピペして再度やる
3~4回同じエラーが出たので、少し修正して違うエラー分を出してから修正コードを依頼する。↓

 ↑で認証周りはクリアした。(ここまででもだいぶすごい)

次にツイート取得する部分でエラーが出たため、再度相談。
ここ以降は、おそらくget_user()で取得できるレスポンスデータの中身まで知らないだった。そのため、何回もget_user内の値を変更する必要があったため、手動でtweetsを取得できるところまで修正。(ここらへんから、適度に自分で直しつつ実装するのが良さそうだなと感じました。)

このコードも、tweetsの中身を知らない(本来はtweet.dataをfor文回さないとダメ)ため、手動で修正して実装完了。

chatGPTはこのライブラリ(今回であればtweepy)にこの関数はあるか?みたいな質問が相性が良さそう。

今回は関数が合っていたが、もちろんそれが合っていない場合もある気はします。

結論

  • 学習コストは低くなったが、言語の基礎知識がないとライブラリ関連は難しそう

  • 逆にコードレビューとかは相性が良さそう(この書き方が冗長的なので綺麗にしてください。など)

今回は、colabで実装して、AWS lambdaとevent bridgeで定期実行するところまでが目的だったので達成した。

使ってみた感想は、ググるのすら面倒なときはchatGPTに聞くか…みたいな状態に自分はなったので、まずはググるではなくまずはchatGPTできいてから調べる。みたいな世界観が来そうと思った。

この記事が気に入ったらサポートをしてみませんか?