Twython - 如何使用媒体 url 更新状态

2024-05-13

在我的应用程序中,我允许用户在 Twitter 上发帖。现在我想让他们通过媒体更新他们的状态。

In twython.py我看到一个方法update_status_with_media从文件系统读取图像并上传到 Twitter。我的图像不在文件系统中,而是在 S3 存储桶中。

如何使其与 S3 存储桶 url 一起使用?

将 url 传入file_变量,因 IO 错误而失败,没有此类文件或目录。

传递 StringIO 因 UnicodeDecodeError 失败。

Passing urllib.urlopen(url).read() gives file() argument 1 must be encoded string without NULL bytes, not str.

我也尝试过使用post方法并从 Twitter api 获取 403 Forbidden,创建状态时出错。

刚刚解决了

呸,终于开始工作了!也许它会帮助其他人节省我花费的几个小时。

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))})

很高兴看到您找到答案!我们最近在处理一个类似的问题回购问题 https://github.com/ryanmcgrath/twython/issues/191- 基本上,您可以使用 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))
})

这不是对你的问题的直接回答,所以我不期待任何投票或任何东西,但我认为它对某些人来说似乎有用并且有些相关,所以我会留下一条注释。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Twython - 如何使用媒体 url 更新状态 的相关文章

  • 如何编写嵌套的 __init__.py 文件

    我正在努力解决嵌套问题 init py在我正在编写的Python包中 该包具有以下架构 module init py submodule1 init py source py submodule2 init py source py sub
  • 错误:process_executor.py:702: ... 当一些作业被分配给执行器时,工作人员停止了。这可能是由于工作超时太短造成的

    根据主题中的错误 修复方法是什么 环境 Python 3 9 或 3 10 Windows 10 x64 使用时出现错误joblib https joblib readthedocs io en latest 对于并行处理 result c
  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • 此 TypeError 消息中提到的“代码对象”是什么?

    在尝试使用Python时exec声明 我收到以下错误 TypeError exec arg 1 must be a string file or code object 我不想传递字符串或文件 但什么是代码对象 如何创建一个 创建代码对象的
  • 在python中将数据库表写入文件的最快方法

    我正在尝试从数据库中提取大量数据并将其写入 csv 文件 我正在尝试找出最快的方法来做到这一点 我发现在 fetchall 的结果上运行 writerows 比下面的代码慢 40 with open filename a as f writ
  • 将 numpy 数组合并为单个 int

    numpy 数组怎么可以这样 10 22 37 45 转换为单个 int32 数字 如下所示 10223745 这可以工作 gt gt gt int join map str 10 22 37 45 10223745 基本上你使用map s
  • Mypy 无法从文字列表推断项目的类型

    我有一个变量x和一个文字列表 例如 0 1 2 我想转换x这些文字之一 如果x在列表中 我将其退回 否则我返回一个后备值 from typing import Literal Set Foo Literal 0 1 2 foos Set F
  • 是否可以从 Julia 调用 Python 函数并返回其结果?

    我正在使用 Python 从网络上抓取数据 我想使用这些数据在 Julia 中运行计算 是否可以在 Julia 中调用该函数并返回其结果 或者我最好直接导出到 CSV 并以这种方式加载数据 绝对地 看PyCall jl https gith
  • 使用 Boto3 以字符串形式打开 S3 对象

    我知道使用 Boto 2 可以使用以下命令将 S3 对象作为字符串打开 get contents as string http boto readthedocs org en latest ref file html highlight c
  • 根据其他单元格值更改多个单元格值

    我想更改包含的单元格moving to movingToOpenor movingToClose基于下一个单元格中给出的状态 有时循环会被中断并且不会从open to close or close to open 这是我当前的数据框 Dat
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • 两个不同长度的数据帧的列之间的余弦相似度?

    我在 df1 中有文本列 在 df2 中有文本列 df2 的长度将与 df1 的长度不同 我想计算 df1 text 中每个条目与 df2 text 中每个条目的余弦相似度 并为每场比赛给出分数 输入样本 df1 mahesh suresh
  • 查找 Pandas DF 行中的最短日期并创建新列

    我有一个包含多个日期的表 有些日期将为 NaN 我需要找到最旧的日期 所以一行可能有 DATE MODIFIED WITHDRAWN DATE SOLD DATE STATUS DATE 等 因此 对于每一行 一个或多个字段中都会有一个日期
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • 是否需要关闭没有引用它们的文件?

    作为一个完全的编程初学者 我试图理解打开和关闭文件的基本概念 我正在做的一项练习是创建一个脚本 允许我将内容从一个文件复制到另一个文件 in file open from file indata in file read out file
  • Airflow 1.9 - 无法将日志写入 s3

    我在 aws 的 kubernetes 中运行气流 1 9 我希望将日志发送到 s3 因为气流容器本身的寿命并不长 我已经阅读了描述该过程的各种线程和文档 但我仍然无法让它工作 首先是一个测试 向我证明 s3 配置和权限是有效的 这是在我们
  • 使用 PIL 在 Tkinter 中显示动画 GIF

    我正在尝试制作一个程序来使用 Tkinter 显示动画 GIF 这是我最初使用的代码 from future import division Just because division doesn t work right in 2 7 4
  • 如何将带有参数的Python装饰器实现为类?

    我正在尝试实现一个接受一些参数的装饰器 通常带有参数的装饰器被实现为双重嵌套闭包 如下所示 def mydecorator param1 param2 do something with params def wrapper fn def
  • rpy2 无法加载外部库

    希望有人能帮忙解决这个问题 R版本 2 14 1rpy2版本 2 2 5蟒蛇版本 2 7 3 一直在尝试在 python 脚本中使用 rpy2 加载 R venneuler 包 该包以 rJava 作为依赖项 venneuler 和 rJa
  • 如何(安全)将 Python 对象发送到我的 Flask API?

    我目前正在尝试构建一个 Flask Web API 它能够在 POST 请求中接收 python 对象 我使用 Python 3 7 1 创建请求 使用 Python 2 7 运行 API 该 API 设置为在我的本地计算机上运行 我试图发

随机推荐

  • Google Talk XMPP - 什么是 X-GOOGLE-TOKEN?

    我正在尝试向 Google Talk 进行身份验证 这X OAUTH2使用 OAuth2 令牌的机制是有据可查 https developers google com talk jep extensions oauth 但什么是X GOOG
  • WebView 与 Chrome 自定义选项卡

    我正在构建一个应用程序 在详细活动中我必须显示一个网页 我本来打算使用 WebView 但后来我看到了 Chrome Custom Tab 你们认为最好实施什么 为什么 如果您只想显示某个页面 那么我建议您使用 chrome 自定义选项卡
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • laravel 5:找不到类“输入”

    In my routes php我有的文件 Route get function return view login Route get index function return view index Route get register
  • 尝试拍摄 https://github.com/appsthatmatter/GraphView 的图表快照时出现 IllegalStateException

    我正在尝试拍摄 GraphView 的快照 但它给出了错误 GraphView 必须在硬件加速模式下使用 我正在使用以下代码来拍摄快照 Bitmap bitmap Bitmap createBitmap view getWidth view
  • Android 无法查找支持版本 27.0.0 的窗口

    更新后supportVersion to 27 0 0仅在 Android 5 0 2 上 应用程序会因以下堆栈跟踪而崩溃 W WindowManager Failed looking up window java lang Illegal
  • 如何从android中的webview获取选定的文本?

    我需要从网络视图中获取选定的文本 为此 我这样说 webView loadUrl javascript Android getHtml window getSelection toString 在我的触摸事件中 触摸事件效果很好 Andro
  • 如何使用scrapy抓取xml url

    你好 我正在使用 scrapy 来抓取 xml url 假设下面是我的 Spider py 代码 class TestSpider BaseSpider name test allowed domains www example com s
  • Iexpress 用于大文件(损坏的 Cabinet 文件)

    我希望结合许多安装程序并使用 Iexpress 制作一个 exe 安装程序的总大小为 750MB 我尝试使用 Iexpress 合并并生成 但创建的 exe 文件大小只有 80MB 当我双击并尝试运行该 exe 时 它 指出其内阁文件已损坏
  • 从when语句内的函数返回

    我想做的就是使用 when 语句返回一个值 我想要以下功能 if x return y 我正在尝试使用 when x y 但是when语句并没有以退出函数并返回y的方式进行计算 它只是愉快地继续下一行 有没有办法做到这一点而不需要制作一个看
  • 如何在运行“go test”时排除或跳过特定目录[重复]

    这个问题在这里已经有答案了 go test go list grep v vendor coverprofile testCoverage txt 我正在使用上述命令来测试文件 但有 1 个名为 Store 的文件夹我想从测试中排除 怎样才
  • 传单圆圈绘制/编辑问题

    我第一次制作传单 并面临绘制圆圈和编辑 更改圆圈位置 的问题 我面临的问题是 编辑 移动 圆从一个位置到另一位置会改变其半径 Note 请尝试在给定的小提琴中在地图顶部创建圆圈 然后通过单击编辑按钮将其移动到底部 如果我在地图的顶部创建圆圈
  • 如何在 JavaScript 中检查未定义的变量

    我想检查变量是否已定义 例如 以下内容会引发未定义的错误 alert x 我怎样才能捕获这个错误 在 JavaScript 中 null是一个对象 不存在的事物还有另一种价值 undefined DOM 返回null对于几乎所有无法在文档中
  • 如何收集 Sphinx 中的所有外部链接?

    我必须在手册中放入一些外部链接 并且希望在 部分甚至整本书的末尾 不重要 列出所有链接 而无需手动重复它们 我怎样才能做到这一点 这是带有参考书目的文档的摘录 呈现的版本是here http packages python org pyte
  • 在嵌入式 Jetty 上使用 DefaultServlet 提供静态 html 文件

    我正在开发一个需要独立的项目 因此我决定将 Jetty 嵌入到我的应用程序中 我将提供静态 HTML 页面 一些 JSP 页面 并且还将使用一些自定义 servlet 我找到了一个完美的示例 说明如何设置嵌入式 Jetty 来完成所有这一切
  • 通过 clang++ 的 -finstrument-functions 进行 C++ 函数检测:如何忽略内部 std 库调用?

    假设我有一个类似的函数 template
  • 捕获动态表中 HTML 元素的值

    我有从数据库生成的以下动态表
  • iPhone表情插入MySQL却变成空值

    我们正在开发一个 iPhone 应用程序 它将表情符号从 iPhone 发送到服务器端 PHP 并插入到 MySQL 表中 我正在做服务器端的工作 但是insert语句执行成功后 插入的值变成空了 我可以正确插入字段 varchar 的是文
  • GOPATH值设置

    我用go1 3 1 windows amd64 msi安装go 安装后GOROOT是默认设置 我发现 D Programs Go bin 在 PATH 中 然后我创建一个 GOPATH 环境变量 使用 go get 命令时 出现错误 软件包
  • Twython - 如何使用媒体 url 更新状态

    在我的应用程序中 我允许用户在 Twitter 上发帖 现在我想让他们通过媒体更新他们的状态 In twython py我看到一个方法update status with media从文件系统读取图像并上传到 Twitter 我的图像不在文