我正在尝试向 unsplash.com 发出异步 XMLHttpRequest 来抓取图片。我创建了一个开发帐户,并获得了以下信息:
- 授权码
- 应用程序 ID
- secret
我将授权代码放入 setRequestHeader() 中,但收到 401 错误
"{"errors":["OAuth 错误:访问 token 无效"]}"
imgRequest.open('GET', `https://api.unsplash.com/search/photos?page=1&query=${searchedForText}`);
imgRequest.setRequestHeader('Authorization','Authorization code');
imgRequest.send();
最佳答案
根据 documentation ,API 需要 token ,并在 header 中以字符串 Client-ID 开头。
因此,您需要将 header 中的值作为 Client-ID YOUR_APPLICATION_ID
传递,而不仅仅是传递 token 。或者,您也可以在查询参数中传递 token ,如下所示:
https://api.unsplash.com/photos/?client_id=YOUR_APPLICATION_ID
以上是专门针对公共(public)行为的,例如抓取照片。对于私有(private)操作,您需要执行一项复杂的任务,这超出了本问题的范围。
关于javascript - 异步JS请求: setrequestheader authorization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47880512/