所以我知道这个问题以前在这里被问过,但并不是专门针对RapidAPI提出的。无论如何,RapidAPI页面将文档转发到https://api.imgur.com/,后者进一步转发到https://apidocs.imgur.com/,在那里我们最终可以找到api端点https://api.imgur.com/3/upload。

现在这个端点与rapidapi不兼容,因为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}这基本上告诉我,它不能解析文件格式,因为当上传任何类型的图像时,它都可以工作。那到底是怎么回事?
发布于 2021-05-08 09:53:39
这对我来说很有效:
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'))发布于 2021-05-09 03:10:27
据我所知,他们的API /3/upload是用于视频和图像的,但需要一个令牌才能使用。
/3/image仅用于图像,应用于上传匿名图像而无需用户身份验证。
但我不能100%确定这一点,因为我自己无法获得一个令牌来上传到/upload。(因为我想上传到我的帐户中的两条腿的OAuth,这看起来不支持?)
因此,您需要做的是调用/auth来获取令牌,将此令牌交换为使用/upload路径的持有者令牌。
希望这能解释一下。
https://stackoverflow.com/questions/67443364
复制相似问题