2012-02-16 21 views
2

私はボードを検索し、画像をtumblrにアップロードするためのスクリプトを作成するスレッドを見つけました。ディレクトリからpython経由でtumblrに画像を投稿

from tumblr import Api 
import sys 

def antearaTumblr(blog, email, password): 
    BLOG=blog 
    USER=email 
    PASSWORD=password 
    api = Api(BLOG,USER,PASSWORD) 
    #data = open('C:/Users/Kevin/Desktop/python-tumblr-0.1/1329360987775.jpg').read() 
    api.write_photo('http://www.jonathanworthington.co.uk/wp-content/uploads/2008/07/etc.jpg') 
    title = '' 
    body = '' 
    api.write_regular(title,body) 

これは機能します。これは、write_photoを使用してインターネットから写真を取得し、tumblrにアップロードします。しかし、私はそれがアップロードに成功し

from tumblr import Api 
import sys 

def antearaTumblr(blog, email, password): 
    BLOG=blog 
    USER=email 
    PASSWORD=password 
    api = Api(BLOG,USER,PASSWORD) 
    data = open('C:/Users/Kevin/Desktop/python-tumblr-0.1/1329360987775.jpg').read() 
    title = '' 
    body = '' 
    api.write_regular(title,data) 

....このように、それは私のPC上のディレクトリから写真をつかむようにする方法がわからない、しかし、それはアップロードし、すべてがこれです...ÿØÿà。 ..私が想定しているのはjpgヘッダーです。

私はこのトピックを見つけました。Post picture to Tumblr using Pythonしかし、私は返信が何を言っているのか正確には分かりません。

ディレクトリを使用してリンクを使用する方法を知っている人はいませんか?

また、私はこれを試しましたが、正直言って私はちょうどそれをやる方法が分かりませんでした。

私は何か助けていただきありがとうございます。あなたがこのようなapi.writeを呼びたいようにデータは、キーワード引数であると思われるリンクポストを見てみると

答えて

1

api.write_regular(title, data=data) 

それが仕事をしたりしません場合、私はわかりませんが、tumblrののAPIがwell documentedようです。代わりにrequestsを使用することをお勧めします。これは、Python用の最も素晴らしいHTTPライブラリです。写真をアップロードするには:

import requests 

url = 'https://www.tumblr.com/api/write' 
data = {'email': your_email, 'password': your_password, 'type': 'photo'} 
files = {'data': open('your_image.jpg')} 

requests.post(url, data=data, files=files) 
+0

hmm、私はそれを試みましたが、何もするようには見えません。 – Anteara

+0

実際には、上記のリンクからgithubに動かされました。ありがとう。 – Anteara

+0

あなたはそれが少なくとも働いてうれしい!私は実際に投稿する前にこれをテストしたが、それは私のためにうまくいった。実際のファイルを指し示すように、電子メール、パスワード、またはファイル名を設定するのを忘れたのでしょうか?何もしないことは驚くべきことです。あなたは 'r = requests.post(...)'を実行し、 'r.content'を見てサービスがあなたに与えたエラーを知ることができます。 – zeekay

関連する問題