概要
- 5月頭にXからAPIv2のメディアアップロードの仕様変更についてアナウンスがありました。
- 従来のエンドポイントは5月いっぱいで使用できなくなるそうです。特に大きなアップデートがあるわけではないため、完全にX側の都合によるものですね。
- 現在はドキュメントも更新されており、以下から確認できます。(https://docs.x.com/x-api/media/quickstart/media-upload-chunked)
主な変更点
- エンドポイントが変更になりました。
- これまでクエリパラメータで指定していたuploadの段階リクエストが、エンドポイントのパスに含まれるようになりました。わかりやすくて良いですね。
- before
- 2/media/upload?command=initialize
- 2/media/upload?command=append
- 2/media/upload?command=finalize
- after
- 2/media/upload/initialize
- 2/media/upload/{id}/append
- 2/media/upload/{id}/initialize
- before
- これまでクエリパラメータで指定していたuploadの段階リクエストが、エンドポイントのパスに含まれるようになりました。わかりやすくて良いですね。
その他
DMメディア時の共有設定について
- アップロードしたdm_imageやdm_videoなどは、取得したmedia_keyをそのまま使い回そうとするとエラーになります。
- そのため、必要に応じて2/media/upload/initializeの段階でsharedというオプションを指定する必要があります。
- これは以前はドキュメントにも記載がなく、隠しオプションのような扱いになっていました。
- shared: trueのように指定しますが、値はbool型でリクエストします。以前はstring型で指定する必要があったため、移行作業中に見落としがちなので注意が必要です。