先日、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 | ○ | × | ○ | ○ |
以上より、↓の方法で画像付きの投稿が実現できます。