如何解决使用 Imgur RapidAPI 上传视频
所以我知道这个问题以前曾在这里问过,但不是专门针对 RapidAPI。无论如何,RapidAPI 页面将文档转发给 https://api.imgur.com/ 进一步转发到https://apidocs.imgur.com/ 最后我们可以找到 api 端点 https://api.imgur.com/3/upload
现在这个端点与rapid api 不兼容,因为rapidapi 上根本没有/3/upload 端点。尽管文档中写到 /3/upload
与 /3/image
相同,这会使 https://api.imgur.com/3/upload 变成 https://imgur-apiv3.p.rapidapi.com/3/image。这里的问题是,当我使用视频而不是有效负载中的图像向此端点发出请求时,我得到了此响应 json:
{'data': {'error': 'Could not process upload!','request': '/3/image','method': 'POST'},'success': False,'status': 500}
这基本上告诉我它无法解析文件格式,因为在上传任何类型的图像时它都可以工作。怎么回事?
解决方法
这对我有用:
import requests
url = "https://api.imgur.com/3/upload"
payload = {'album': 'ALBUMID','type': 'file','disable_audio': '0'}
files = [
('video',open('/path/to/Video.mp4','rb'))
]
headers = {
'Authorization': 'Bearer BEARERTOKENHERE'
}
response = requests.request("POST",url,headers=headers,data = payload,files = files)
print(response.text.encode('utf8'))
,
据我所知,他们的 API /3/upload 用于视频和图像,但需要使用令牌。
/3/image 仅用于图片,应用于上传无需用户身份验证的匿名图片。
但我不能 100% 确定这一点,因为我无法获得令牌以上传到 /upload 自己。 (因为我想以看起来不支持的 2 条腿 OAuth 上传到我的帐户?)
所以您需要做的是调用 /auth 来获取您的令牌,将此令牌交换为 BEARER TOKEN 以使用 /upload 路径。
希望这能解释一下。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。