【发布时间】:2020-01-18 09:17:20
【问题描述】:
我目前正在尝试构建一个应用程序来代表用户将视频发布到 Twitter。
所以我目前有application-key、application-secret、access-token 和access-secret。
final TwitterTemplate twitterTemplate = new TwitterTemplate(
"application-key",
"application-secret",
"access-token",
"access-secret");
因此,使用它我实际上可以发布包含 only 文本的推文。 如果我想包含一张图片,我必须包含在 spring-social-twitter 的bug 上发布的解决方法“解决方案”。这解决了图像,但视频仍然无法上传。
所以理性的想法是尝试与邮递员一起上传以“隔离”调用本身。
在上图中我们可以看到授权过程。这对于我拨打的每个电话都是一样的。
有了这个 Auth,一个简单的 POST 到 https://api.twitter.com/1.1/statuses/update.json?status=hello 就可以工作了。与 2 次图像调用相同。
-
POST到https://upload.twitter.com/1.1/media/upload.json?media_category=tweet_image用于上传图片(正文 -> 媒体:图片)。 -
POST到https://api.twitter.com/1.1/statuses/update.json将 media_id 与新推文合并。
但是当我发送这个时,再次回到twitter的官方指南之后的视频
回应是
当请求 media_type 不包含 / 时,将从带有 media_id 的高音扬声器返回有效响应,我们称之为 X。
所以我在X 上附加一个视频(第二个命令),然后在X 上完成视频(第三个命令)。但正如预期的那样,响应是
因为从未提供过 media_type。另一方面,如果第二步的视频被推送为 base64 编码(并包括 base64 编码的标头),则响应为
到目前为止,无论我做了什么,我都无法发布视频。我什至使用 Postman 作为 twurl 的代理,并捕获了 确实 上传视频的 twurl 请求。用我的更改了身份验证(因为需要重新创建随机数)并且请求无法上传视频!
一些注意事项:
- 凭据是最新的,并且可以从 twurl 工作。
- 视频有效,可以通过 tweeter ui 和 twurl 上传命令上传。
- base64 转换使用 linux base64 工具进行编码/解码,通过管道传输到文件并验证大小相同。
如果需要任何其他说明,请告诉我!
提前谢谢你
【问题讨论】:
标签: java video twitter postman spring-social-twitter