imgur - 无法将图像上传到 Imgur 以获得 400 禁止响应
问题描述
我无法将图像上传到我的 imgur 帐户以获取 400 禁止响应。
我曾多次尝试将图片上传到我在中国的 Imgur 帐户,但总是以 400 响应失败。喜欢,
{
"data": {
"error": "These actions are forbidden."
},
"success": false,
"status": 400
}
这是我的步骤,
- 注册应用程序
(1) 在浏览器中请求https://api.imgur.com/oauth2/addclient,然后添加回调重定向URL。
(2) 获取客户端ID和秘密。
- 进行授权并获取令牌
在“ https://api.imgur.com/oauth2 ”中,它显示了三个response_type,如code、token和pin。但是我可以而且只能使用token类型直接获取访问token和刷新token。如果我使用code或pin类型进行授权,然后通过邮递员请求token,会出现400错误,“这些操作被禁止。” 所以这是我使用带有令牌的 response_type 请求访问代码的内容。
(1) 在网络浏览器中输入以下 URL 并允许应用程序连接到我的帐户。 https://api.imgur.com/oauth2/authorize?response_type=token&client_id=xxxx&state=state
(2)然后在重定向URL中获取访问令牌和刷新令牌, https://app.getpostman.com/oauth2/callback?state=state #access_token=xxx&expires_in=315360000&token_type=bearer&refresh_token=xxx&account_username=xxx&account_id=xxx
- 上传图片
(1) 到目前为止,我可以简单地使用邮递员上传图片。
(2) postman like生成的相对curl命令。curl --request POST \ --url https://api.imgur.com/3/image \ --header '授权:承载 xxxx' \ --header '邮递员令牌:7edabb12-7f1f-4f30-9e9b-e87ad1cae0ee ' \ --header '缓存控制:无缓存' \ --header '内容类型:多部分/表单数据;边界=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ --form image=@/xxx/xxx/IMG_3310.JPG
我尝试在中国或美国使用不同的 IP 地址在不同的机器上上传不同大小的图像,但失败了。我也不知道为什么我不能使用代码或密码来交换令牌。
解决方案
也许你的图像太大了。
我一直在尝试在那里上传一个 12MB 的 GIF,但它总是返回 400。然后我尝试剪切它,然后上传另一个小于 5.7MB 的大小,它成功了。
我建议调查 imgur 支持和允许的内容领域,而不仅仅是身份验证和内容。
推荐阅读
- java - 想要从 android 应用程序小部件写入文件,但从小部件访问时 FileInputStream 为空
- python - 如何在python中解码部分转义的unicode字符串(混合unicode和转义unicode)?
- r - gganimate: data present only in some frames
- sql - Is there a way to use ST_BUFFER on Snowflake?
- swiftui - How to get at a value in a coordinator class of a UIRepresentable?
- .net-core - 在没有 ServiceProvider 的情况下获取 AuthorizationHandler 的实例
- angular - 如何正确创建 Firestore 动态查询
- c++ - 包括
路径和起点 - javascript - How to map inside of the map component?
- python - Taking an Arbitrary Power for a Keras Loss Function