Опубликовать картинку на Tumblr используя Python - PullRequest
3 голосов
/ 08 февраля 2011

Я пытаюсь опубликовать картинку на Tumblr, используя, в частности, python: 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)

Когда я запускаю этоВ результате блог приходит, но вместо:

Название моей записи

это история с картинкой

[img]

Я получаю это:

Название моей записи

Это история с картинкой picturepicture.png

Ответы [ 3 ]

2 голосов
/ 09 февраля 2011

В своем текущем коде вы не публикуете изображение, но отправляете строку, которая называется "picture.png".Как сказал Даниэль ДиПаоло, вы должны написать фото.Аргументом для 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»

data = open ('lolcat.jpg'). Read ()

2 голосов
/ 08 февраля 2011

Вы на самом деле не отправляете данные изображения, вы просто отправляете строку с именем файла, так что это не слишком удивительно. write_regular вызов разрешает HTML , поэтому, если вы можете загрузить фотографию куда-нибудь, вы сможете использовать тег <img src="..." /> в тексте вашего сообщения, чтобы изображение отображалось в вашем сообщении.

Или вы можете использовать вызов write_photo, чтобы загрузить фотографию (а не только имя файла!) В Tumblr, а затем каким-то образом получить URL-адрес и использовать его в теге <img> для ваш пост.

1 голос
/ 28 сентября 2011

Я сделал пример здесь с API v2 https://gist.github.com/1242662

...