2017-12-19 6 views
0

pythonのtwitterをファイルを保存できない環境で使用しています。Python API:ファイルなしのメディアでのツイート

テキストと画像でHTTP POSTを取得しましたが、ローカルファイル(AWS API環境にはzappa)を書き込まずにこのデータからツイートを作成します。

Tweepyはファイル名のみを許可しますが、これは私のためには機能しません。

python-twitterのようなものがあるようですが、私はこのための文書を見つけることができません。

イメージをアップロードするためにTwitterに投稿リクエストを送るだけでよいですか?もっと簡単な方法はありますか?

+0

どのように画像を受信して​​いますか?永続的な書き込みを行うことができない場合、それをシリアル化することによって、つまりドキュメントを見つけることができない場合、オンラインにする方法を見つけてください。 –

+0

私はbase64でHTTP Postとして取得するので、Twitterに送信するのには非常に適していますが、tweepyは単純化してファイル名のみを許可したいと考えています。 – flaschenpost

答えて

1

io.BytesIOtweepy's API.update_with_mediaに、fileとしてください。

filename - アップロードする画像のファイル名。 ファイルオブジェクトファイル名を開くの代わりに使用されます - ファイルが

...

ファイルを指定されていない限りこれが自動的に開かれます。 ファイル名はまだMIMEタイプ検出のために、必要とされ、POSTデータ

編集中のフォームフィールドとして使用する:あなたは、符号化された画像データをbase64を持っているように見えます 。 io.BytesIOを作成する前に、base64.b64decodeをデコードしてio.BytesIOを作成することができます。

file = io.BytesIO(base64.b64decode(base64_data)) 
+0

ああ、3回目のチェックで、私は 'multipart-formdata'を取得しました。この例はいくつかのエンコードされたデータのように見えます。だから私はすでにファイルハンドルを取得します。 – flaschenpost

関連する問題