7
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PythonからTumblrに画像を投稿する

Posted at

#準備

##ライブラリをインストール

python3でも使えるpython-tumblpyを使うので,インストール.

pip install python-tumblpy

##KEYを取得

Tumblrアプリの登録をして,OAuth Consumer KeyとSecret Keyを取得.
Application websiteとDefault callback URLは画像を投稿するために用意したtumblrのブログにした.

#第一段階

以下のスクリプトを動作させて,出力されたauth_urlへブラウザでアクセスし,許可する.
すると,URLが飛ばされて,飛んだ先のURLのクエリパラメータにoauth_verifierがあるんで,
それをメモする.

first.py
from tumblpy import Tumblpy

CONSUMER_KEY = '取得したやつ'
CONSUMER_SECRET = '取得したやつ'

t = Tumblpy(CONSUMER_KEY, CONSUMER_SECRET)

auth_props = t.get_authentication_tokens()
auth_url = auth_props['auth_url']

OAUTH_TOKEN = auth_props['oauth_token']
OAUTH_TOKEN_SECRET = auth_props['oauth_token_secret']

print(auth_url)
print(OAUTH_TOKEN)
print(OAUTH_TOKEN_SECRET)

#第二段階

第一段階で取得したOAUTH_TOKEN,OAUTH_TOKEN_SECRET,oauth_verifierを使って
以下のスクリプトを実行.
このスクリプトで得られた2つのトークンを投稿に使う.

second.py
from tumblpy import Tumblpy

CONSUMER_KEY = '前のやつ'
CONSUMER_SECRET = '前のやつ'
OAUTH_TOKEN = '取得したやつ' 
OAUTH_TOKEN_SECRET = '取得したやつ'

t = Tumblpy(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

oauth_verifier = 'URLのパラメータのやつ'
authorized_tokens = t.get_authorized_tokens(oauth_verifier)

oauth_token = authorized_tokens['oauth_token']
oauth_token_secret = authorized_tokens['oauth_token_secret']

print(oauth_token)
print(oauth_token_secret)

#投稿テスト

ローカルにあるsample.jpgを投稿してみる.
postのidが表示されたら投稿完了.

test.py
from tumblpy import Tumblpy

CONSUMER_KEY = '前のやつ'
CONSUMER_SECRET = '前のやつ'
OAUTH_TOKEN = 'まえ取得したやつ' 
OAUTH_TOKEN_SECRET = 'まえ取得したやつ'

t = Tumblpy(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

blog_url = '投稿するtumblrのURL'

photo = open('sample.jpg', 'rb')
post = t.post('post', blog_url=blog_url, params={'type':'photo', 'caption': 'Test Caption', 'data': photo})
print(post)
7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?