Open1
twitterAPIでツイートを投稿できない時の原因と解決
やりたいこと
POST statuses/updateのエンドポイントを用いて、TwitterAPIでツイートする。https://developer.twitter.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/post-statuses-update
トラブル
401 Unauthorized エラーで失敗する。
HTTP 401 Unauthorized は、有効な認証資格が不足していることによりリクエストが適用されないことを示すクライアントエラーのレスポンスコードです。
ちなみに他のエンドポイントでは問題なく成功する。
例)
- favorites/list
- statuses/user_timeline
- statuses/filter
原因と解決方法
原因
API側の設定。APIを発行したプロジェクトのApp permissions設定が「Read」になっていたため。この設定でできることはRead Tweets and profile informationであり、ツイート投稿のようなPostはできない。
解決方法
APIを発行したプロジェクトのApp permissions設定を「Read and Write」に変更する。
変更後、Authentication Tokensを再生成する。
まとめ
TwitterAPIでツイートできなかったのは、そもそも🔌コンセントが抜けていた的な根本的な原因でした。