【问题标题】:Code to Automatically Post Images To My Twitter Account via Python Script通过 Python 脚本自动将图像发布到我的 Twitter 帐户的代码
【发布时间】:2015-07-01 01:37:20
【问题描述】:

我想在我自己(而不是其他人)的 Twitter 帐户上以编程方式发布图像。为此,我尝试使用 tweepy 库——但他们有一个名为 api.update_with_media('the 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(状态='嘿')。

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

` 导入 urllib 导入tweepy

@app.route('/') 默认测试():

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"

`

【问题讨论】:

标签: python twitter oauth twitter-oauth tweepy


【解决方案1】:

我改用这个库解决了这个问题: http://geduldig.github.io/TwitterAPI/examples.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 2013-08-06
    相关资源
    最近更新 更多