#準備
##ライブラリをインストール
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)