【Python3】【TwitterAPI】Pythonで画像付きツイート(POSTmedia/upload)

[スポンサーリンク]


Python3でTwitterAPI使用する準備


Python3でTwitterAPI使用する準備として、下記を行いました
①APIキーとトークンの取得
②ライブラリのインストール

【Python3】【TwitterAPI】PythonとTwitterAPIを触ってみる準備
TwitterAPIとは先日Python3を使用出来る環境を構築しました勉強として、Pythonで簡単なプログラミングをしてみたいと思います何を作るか迷ったのですが、良く利用しているTwitterを操作して...

[スポンサーリンク]


メディアをアップロード POST media/upload API


TwitterAPIで画像付きツイートを投稿するには、メディアのアップロードとツイートの2ステップで実現します

①POST media/upload APIを使用して、メディアをアップロード
②POST statuses/update APIを使用して、アップロードしたメディアを指定してツイート

POST media/upload

POST statuses/update APIの利用方法


POST statuses/update APIの利用方法は下記の記事で記録しています

【Python3】【TwitterAPI】Pythonでツイートを投稿(POSTstatuses/update)
Python3でTwitterAPI使用する準備Python3でTwitterAPI使用する準備として、下記を行いました①APIキーとトークンの取得②ライブラリのインストールツイート...

5MB以上のメディアをアップロードする場合には


尚、今回は画像の様な、5MB以下のメディアファイルをツイートする場合を前提としています
動画等の大きなサイズをアップロードしてツイートする場合は、下記のAPIを使用して、分割してのアップロードが必要です

POST media/upload (APPEND)、POST media/upload (INIT)、POST media/upload (FINALIZE)

POST media/upload (INIT)
POST media/upload (APPEND)
POST media/upload (FINALIZE)

パラメータ


POST media/upload APIのパラメータは以下です
各項目について、メモを残しておきます
記載内容一切保証出来ません

項目名要否個人的メモ
mediarequiredアップロードするメディアをバイナリ形式で指定※media_dataとどちらかを指定
media_categoryoptionalアップロードするメディアの形式を指定
media_datarequiredアップロードするメディアをbase64形式で指定※mediaとどちらかを指定
additional_ownersoptionalアップロードしたメディアを利用出来るアカウントを指定

POST media/upload API サンプルコード


サンプルとして、このサイトのアイコン画像をツイートしてみます
mediaにアップロード対象のファイルをバイナリ形式で指定します

正常にアップロード出来た場合、UploadMediaResponseでHTTPレスポンスコード200が返ってきます
UploadMediaResultは、APIの公式リファレンスにある通り、アップロードしたメディアに関する情報が返ってきます

アップロードが正常に終了した場合、media_idsを指定してツイートすることで画像付きツイートが出来ます

・open関数を利用し、バイナリモード(rb)でファイルを読み込み

・POST media/upload APIのURLを設定
 ※ドメインがupload.twitter.com

・OAuth認証でTwitterとセッション接続

・Sessionクラスのpostを使って、POST media/upload APIのレスポンスを取得
 ※files(≠params)で渡す

・media_idsにPOST media/upload APIでアップロードしたメディアIDを指定

[スポンサーリンク]

[スポンサーリンク]
▼オンラインで、初心者のプログラミングへの挑戦も、SE職のスキルアップも▼

コメント

タイトルとURLをコピーしました