CatHand Blog

アプリ開発やMac弄り

Twitter API v2 で画像付きポストをする

先日、Twitter API v1.1 がcloseされました。アクセスすると↓のようなエラーになります。

投稿APIについてはv2 APIが無料で提供されているので、投稿のみなら無料でできます。ただし、画像などを添付したい場合、v2 APIではメディアアップロードAPIが提供されていないのでテキストの投稿しかできません。

ではどうするかというと、v1.1のメディアアップロードAPIはまだcloseされていないので、v1.1 APIでメディアをアップロードして、そのidを使ってv2 APIで投稿することで画像付きの投稿ができます。

また、v2 APIでは認証方式としてOAuth2.0 PKCEが利用できますが、OAuth2.0 PKCEのtokenでv1.1 APIは呼べないので、両方のAPIを一つのtokenで呼ぶにはOAuth1.0aで認証する必要があります。

まとめると↓のようになります。

  投稿API メディアアップロードAPI OAuth1.0a OAuth2.0 PKCE
v1.1 × ×
v2 ×

以上より、↓の方法で画像付きの投稿が実現できます。

  • OAuth1.0aで認証
  • v1.1のメディアアップロードAPIで画像をアップロード
  • v2 APIで投稿