- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我允许用户在 Twitter 上发帖。现在我想让他们通过媒体更新他们的状态。
在 twython.py
中,我看到一个方法 update_status_with_media
从文件系统读取图像并上传到 twitter。我的图像不在文件系统中,而是在 S3 存储桶中。
如何使用 S3 存储桶 URL 使其工作?
在 file_
变量中传递 url,因 IO 错误而失败,没有这样的文件或目录。
传递 StringIO 失败,出现 UnicodeDecode 错误。
传递 urllib.urlopen(url).read()
给出 file() 参数 1 必须是没有 NULL 字节的编码字符串,而不是 str
。
我还尝试使用 post
方法并从 twitter api 得到 403 Forbidden,Error creating status。
刚刚解决了
呸,终于让它工作了!也许它会帮助其他人节省我花费的几个小时。
twitter = Twython(
app_key=settings.TWITTER_CONSUMER_KEY, app_secret=settings.TWITTER_CONSUMER_SECRET,
oauth_token=token.token, oauth_token_secret=token.secret
)
img = requests.get(url=image_obj.url).content
tweet = twitter.post('statuses/update_with_media',
params={'status': msg},
files={'media': (image_obj.url,
BytesIO(img))})
最佳答案
很高兴看到您找到了答案!我们最近在 repo issue 中处理了一个类似的问题 - 基本上,您可以使用 StringIO 执行以下操作,然后像您一样将其直接传递给 twitter.post:
from StringIO import StringIO
from twython import Twython
t = Twython(...)
img = open('img_url').read()
t.post('/statuses/update_with_media', params = {'status': 'Testing New Status'}, files = {
'media': StringIO(img)
# 'media': ('OrThisIfYouWantToNameTheFile.lol', StringIO(img))
})
这不是对您问题的直接回答,所以我不期待任何投票或任何东西,但我认为它对某些人似乎有用并且有些相关,所以我会写个便条。
关于python - Twython - 如何使用媒体 url 更新状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16518689/
使用 python 时,我在导入 twython 时遇到问题。安装似乎没问题,但由于某种原因,我收到以下错误。第一次尝试导入时,出现错误“ImportError:无法导入名称 ProtocolErro
您将如何添加点赞转推的帖子以及关注发帖用户的功能。 naughty_words = [" -RT"] good_words = ["CSGO", "skins", "csgo giveaway" "c
我正在使用 Twython 来获取推文流。我用过this教程,预计我没有使用 GPIO。 我的代码如下: import time from twython import TwythonStreamer
在我的研究中,我试图从与某些关键字相关的推文中获取坐标或地名。我的编程经验很少,Python 的经验更少,但我正在尝试:)。我正在使用 Twython 来传输推文。我能够获取推文、tweetid 和用
我正在尝试提取发布有关某个关键字的推文的某人的屏幕名称。我已经能够使用 twitter.search 功能转发推文,所以我知道这是有效的。 我从下面的代码中得到以下错误 名称错误:名称“screen_
请求方式:POST Django 版本:1.5 异常类型:TypeError 异常值:init() 收到意外的关键字参数“twitter_secret” 设置.py TWITTER_CONSUMER_
我正在制作一个自动转发和收藏包含关键字“澳大利亚”的任何推文的机器人 我成功地能够自动转发和收藏推文,但我不知道如何自动关注它们(自动关注我转发的所有人) search_results = twitt
使用 Twython 3.1.0 尝试获得另一个用户的关注者。 followers = twitter.get_followers_list(screen_name=user, count=500)
我希望能够在没有用户交互的情况下让我的 twython 应用程序长时间运行。它只是打印出针对我的推文。该程序正在运行,但过了一会儿我收到以下错误: HTTPSConnectionPool(host='
我刚刚开始使用 twython,但在第一个示例中: from twython import Twython t = Twython() t.search(q='python') 我收到异常: Trac
如何使用 twython 发布对任何 Twitter ID 的回复? 这个很棒的 twython 库在 Twitter 上发布状态更新的方法如下 - try: a = twit
我正在使用 Twython 制作一个从文件夹中发布随机图像的机器人,这是代码! from twython import Twython import glob import random app_ke
我正在用在 Raspbian 中运行的 python 编写一个小脚本来发布速度测试结果,并且我正在尝试附加图像,这是代码: import sys, urllib, cStringIO from PIL
我正在使用 Twython(Twitter API 的 Python 包装器,发现 here。) 目标:我正在尝试制作一个简单的机器人来搜索关键字并回复包含关键字的推文。 示例:发送搜索请求以搜索 #
在我的应用程序中,我允许用户在 Twitter 上发帖。现在我想让他们通过媒体更新他们的状态。 在 twython.py 中,我看到一个方法 update_status_with_media 从文件系
尝试仅访问多伦多趋势的“名称”部分。到目前为止我有这个但是它给我错误: toronto = t.get_place_trends(id=4118) trend_array = [] for trend
使用 Twython ,如何仅使用推文 ID_STR 获取单个推文? 我知道我可以这样调用它 ( TwitterDocuentation ) "https://api.twitter.com/1/st
我想允许注册用户添加多个 Twitter 帐户。我按照 twython-django 的例子,得到了一个用户的工作版本 - 一个 Twitter 帐户。如果用户尝试再次使用 Twitter 登录,再次
我希望能够通过从服务器 cron 运行的 Python 脚本发布推文。我一直在关注 Twython 文档 ( https://twython.readthedocs.org/en/latest/usa
如何使用Twython获取用户头像? 我看到了 show_user() 方法,但是使用 api key 和 secret + oauth token 和 secret 实例化 Twython,并调用此
我是一名优秀的程序员,十分优秀!