【问题标题】:"Undefined index: media" when I want upload a media with Twitter API“未定义索引:媒体”当我想使用 Twitter API 上传媒体时
【发布时间】:2021-07-22 06:26:27
【问题描述】:

我使用 TwitterOauth,这是一个用于 Twitter API 的 Abraham Williams 库。

我想上传要插入私信的媒体。

当我尝试上传 base64 编码 PNG 图像时出现错误,无论是否分块。

$upload = $connection->upload('media/upload', [
    'media_data' => $base64Encoded,
    'media_type' => 'image/png',
], true); // chunked

dd($upload);

有些人谈论将 media_data 传递给媒体并提供文件的路径,但 Twitter API 允许提供 base64 编码的媒体,所以我试图让它工作,因为我不想将媒体传输到将服务器上传到 Twitter 之前,即使是暂时的,因为我没有服务器的写入权限。

所以我生成了一个 base64 图像,我只想通过 API 和 TwitterOauth SDK 将它上传到 Twitter。

图片是用PHP生成的,我用base64编码。我想直接上传到 Twitter API 而不保存图像。 Twitter API 允许使用 media_data 参数,但我不知道如何使用它。

这里是我执行脚本时遇到的错误。

如何从 Twitter API 上传媒体?

【问题讨论】:

  • 我认为,在 github.com/abraham/twitteroauth/blob/main/src/… 中,参数变量使用 media 而不是 media_data。
  • 您对此有何疑问?您尝试过什么来解决问题?
  • @NicoHaase 我尝试了很多在 Google 上找到的解决方案。有些人谈论将 media_data 传递给媒体并提供文件的路径,但是 Twitter API 允许提供 base64 编码的媒体,所以我试图让它工作,因为我不想将媒体传输到服务器甚至暂时。
  • “我不想将媒体传输到服务器”是什么意思?请通过编辑为您的问题添加所有说明
  • @NicoHaase 感谢您的帮助。

标签: php twitter twitter-oauth


【解决方案1】:

根据https://github.com/abraham/twitteroauth/issues/681,这个问题已经解决了几年,但没有任何进展。如果库还不支持从原始字符串读取,您应该将原始字符串写入文件(因为从文件读取数据以上传数据支持),或者您可以继续那张票可以在图书馆内完成。

这就是开源的美妙之处:如果一个库不支持您的需求,您可以扩展它并让可能有同样问题的其他人高兴:)

【讨论】:

    猜你喜欢
    • 2015-03-06
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多