我是API的新手,特别是Imgur API,网站上的示例可能对有经验的人来说很清楚。我觉得我需要填补空洞,但我不清楚。我这样做:
let form = document.querySelector("#img-form");
form.addEventListener("submit", function(event) {
event.preventDefault();
// Get the file data.
let f = form.querySelector("[name=\"file\"]").files[0];
let fr = new FileReader();
fr.readAsDataURL(f);
fr.addEventListener("load", () => {
post(fr.result);
});
});
let post = function(data) {
// Create a new request.
let request =
new Request(
'https://api.imgur.com/3/image',
{
method: 'POST',
body: {
image: data
},
headers: new Headers({
'Content-Type': 'text/plain'
})
});
fetch(request)
.then(res => {
if (res.status == 200) console.log(res.json());
else throw new Error('Something wrong with API');
})
.catch(err =>{
console.error(err)
});
}
一切看起来都很好,除了api说 401(未经授权),我对这个东西太愚蠢了,在上传之前是否有某种身份验证?有人可以帮我发一些循序渐进的教程链接。
答案 0 :(得分:2)
您缺少Auth标头
'Authorization': 'Client-ID YOUR_CLIENT_ID'
对于匿名上传图片,您需要注册申请 Imgur OAuth 2.0 documentation