🤮

Twitter APIのv2でハマり散らかした。

2022/01/01に公開

大晦日にTwitter Botを作るという愚行を行なっていた時に気づいたことをまとめようと思います。

作ろうとした時にAPIのバージョンが二つあるので選べという究極の選択を迫られました。
Twitter APIをほとんど使った事がなかった自分は、「最新の方がええやろ〜」って軽い気持ちで選びました。

そして、投稿のAPIを叩こうとしたのですが、エラーしか出ない…。
request is invalidというエラーが無限に出てくる…。
しかしやっている事は書いてある通り…。

その時目に入る謎の数字。
fetchするURLに入る数字
https://api.twitter.com/1.1(←これ)/statuses/update.json
ここがAPI v2になると、2になるみたいだと発覚。

https://documenter.getpostman.com/view/9956214/T1LMiT5U#5bd6ebb1-9d79-4456-a9a6-22ead4a41625

なるほど、{text: 'メッセージ'}という形にすればいいのか
しかし、エラーは消えない…。

1時間程詰まり散らかした時、神記事に出会いました。

https://officeforest.org/wp/2021/05/22/google-apps-scriptからtwitter-api-v2を使ってツイートする/

いいねボタンがあったら500回くらい押したい気持ちになりました。

結論

JSON.stringify({text: 'メッセージ'})
という形で、jsonを文字列化する必要がありました。
そして、それをfetchするパラメータに
{payload: JSON.stringify({text: 'メッセージ'})}
の形で入れる必要がありました。

いや、そんなん分からん…😭

Twitter APIなんてほとんど触らなかったので、かなり頭の中にはてなが生まれ続けていましたが、いろいろと学ぶ事も多かったですという話でした。

Discussion