通过Python脚本自动将图像发布到我的Twitter帐户的代码

时间:2015-04-23 04:35:32

标签: python twitter oauth twitter-oauth tweepy

我想在我自己(不是其他人的)推特账户上以编程方式发布图像。为此,我尝试使用tweepy库 - 但他们有一个名为api.update_with_media('image')的方法,它不起作用。

看来twitter已弃用此方法: ...状态/ update_with_media (抱歉截断的html - >我是新来的,所以他们不会让我发布太多的链接)

Twitter指示我们使用此代码: ...公共/上载的媒体

基本上,这是一个两步法。 步骤1)上传媒体并在json中获取一些ID 步骤2)使用此ID更新状态

这两个步骤都需要身份验证。问题是twitter库(可以在这里找到twitter-libraries)实际上并不支持这种新方法。他们在文档中都有一个简单的。

似乎这个问题可以修复它,但是文档没有得到更新(我实际上并没有太深入地使用它 - 在这一点上,我决定将其收缩)。它可以找到here

似乎选项是:

1)从头开始构建代码,包括 a)OAuth(易碎,复杂) b)更新状态脚本(重写库已有的代码)

2)与上述相同,但使用通用OAuth库

3)找到一个支持新上传方法的库 - 该列表中可能只有一个,但它将涉及阅读文档和测试,或

4)我没想到的其他一些想法

我确保这适用于文本更新 - 只需替换 api.update_with_media(图像) 同 api.update_status(状态= '嘿')。

供参考,这是我正在使用的代码:

` import urllib 导入tweepy

@ app.route( '/') def测试():

consumer_key = '---'
consumer_secret = '---'
access_token = '---'
access_token_secret = '---'

#OAuth process, using the keys and tokens
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

#Creation of the actual interface, using authentication
api = tweepy.API(auth)

#should encode the image - I tried this several different way
image = urllib.urlopen('image-url')

try:
    api.update_with_media(image)
except Exception, e:
    print e

return "OK"

`

1 个答案:

答案 0 :(得分:1)

我通过使用这个库来解决它: http://geduldig.github.io/TwitterAPI/examples.html

相关问题