3

我正在尝试使用 python 将图片发布到 tumblr,特别是:http ://code.google.com/p/python-tumblr/

#!/usr/bin/python

from tumblr import Api
import sys

BLOG='example.tumblr.com'
USER='example@example.com'
PASSWORD='example'
api = Api(BLOG,USER,PASSWORD)
post_data = "picture.png"   
title = "Title of my entry"
body = "this is a story with a picture"

api.write_regular(title, body + post_data)

当我运行它时,结果是博客到达,而不是:

我的条目标题

这是一个有照片的故事

[图片]

我明白了:

我的条目标题

这是一个带有picturepicture.png的故事

4

3 回答 3

2

您实际上并没有发送图像数据,您只是发送了一个包含文件名的字符串,所以这并不奇怪。该write_regular调用允许 HTML,因此如果您可以将照片上传到某处,您应该能够<img src="..." />在帖子文本中使用标签以使图像显示在您的帖子中。

或者,您可以使用write_photo调用将照片(而不仅仅是文件名!)上传到 Tumblr,然后以某种方式获取该 URL 并在您<img>的帖子标签中使用它。

于 2011-02-08T20:50:18.437 回答
2

在您当前的代码中,您没有发布图像,而是发送了一个名为“picture.png”的字符串。正如 Daniel DiPaolo 所说,你必须使用写一张照片。例如,write_photo 的参数是图像的链接。

#!/usr/bin/python
from tumblr import Api
import sys

BLOG='example.tumblr.com'
USER='example@example.com'
PASSWORD='example'
api = Api(BLOG,USER,PASSWORD)
api.write_photo('http://example.org/somewhere/lolcat.jpg')

如果您想发送 HTML,您可以创建一个包含您选择的标签的长正文。

title = "life is amazing" 
body = """
_here my html code_
"""

然后用API写

api.write_regular(title,body)

你应该准备好了。

数据上传

更准确地说;)如果您要发送数据,则必须打开对象。假设您的图像是“lolcat.jpg”

数据 = open('lolcat.jpg').read()

于 2011-02-08T22:24:05.360 回答
1

我在这里用 API v2 https://gist.github.com/1242662做了一个例子

于 2011-09-28T07:58:17.657 回答