質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

5454閲覧

twitterAPIを使って画像ありツイートをしたい

HearthXml

総合スコア51

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2018/05/23 10:23

前提・実現したいこと

ツイッターAPiを使って画像呟きをしたい。

発生している問題・エラーメッセージ

画像をつぶやくコードを作りましたが、ステータスが200(エラーが起きていない)状態で処理が終了し、何もつぶやかれない。

該当のソースコード

python

1#tweet with image 2from requests_oauthlib import OAuth1Session 3from API_Study import personal_information as inf 4 5# twitter contribution URL 6url = "https://api.twitter.com/1.1/statuses/update.json" 7url_media = "https://upload.twitter.com/1.1/media/upload.json" 8 9# twitter context 10 11files = { "status": "Hello, World!afa","media": open("image/test.png", "rb")} 12 13#OAuth contribution with POST method 14 15#CKコンシューマーキー 16#CSコンシューマーシークレット 17#ATアクセストークン 18#AS アクセストークンシークレット 19twitter = OAuth1Session(inf.CK, inf.CS, inf.AT, inf.AS) 20req = twitter.post(url_media, files = files) 21 22# respons confirmation 23if req.status_code == 200: 24 print("OK") 25else: 26 print("Error:" + str(req.status_code))

試したこと

APIを通して呟きを反映させることはすでにできています。
ツイッターAPIのリファレンスを読もうとしましたが、どう読めばいいかわからない状態です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

とくにこだわりがなければ、tweepypython-twitterのライブラリを使用することをお勧めします。

画像つきツィートを投稿する手順としては
0. /media/upload.json に画像データをpostして戻り値として画像ID( media_id )を取得

  1. /statuses/update.jsonに対して、statusと手順1で取得した画像IDをpost

statusesの注意点として直前のツィートと同文のstatusを投稿するとツィッター側でハネられるので、
末尾に半角スペースを入れたりして同じ内容が投稿されないようにしてください。

◇参考情報
Python Twitter投稿

投稿2018/05/23 21:34

編集2018/05/23 21:59
umyu

総合スコア5846

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HearthXml

2018/05/24 10:40

ありがとうございます。やっと画像を投稿することができました。 API用ライブラリを使わなかった理由は、ただ存在を知らなかっただけです。 今回はそういったものの仕組みを理解できるいい機会を与えていただきありがとうございます。 これからは教えていただいたライブラリを使っていこうと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問