首页 > 解决方案 > 有没有办法在没有客户端密钥的情况下使用 API?

问题描述

尝试使用 Visual Studio Code访问 Shortboxed 的 API: https ://api.shortboxed.com/。我在网站上看到没有办法生成密钥,也不太习惯使用API​​,请问有没有办法只用API域访问数据。

以下图像是我的代码,很可能这是一个错误。

主 HTML 页面的索引

调用 API 数据的脚本

标签: visual-studio-codeapi-design

解决方案


这取决于 API 的开发方式。许多 API 将使用身份验证/授权(不完全相同,但在这里组合在一起以保持简单)。这涉及到 HTTP 请求的发送者标识自己,通常通过包含客户端密钥或令牌。

您将知道 API 是否通过调用它来回答未经身份验证或未经授权的请求。如果您收到 2xx 响应(200、204 等),那么您可以这样做。如果 API 的开发人员严格遵守 HTTP 规范,他们将返回类似 401 Unauthorized ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 ) 的状态码。您通常可以在 API 文档中找到这些信息,这样您就不必尝试从头开始弄清楚。

因此,此时,由特定 API 的公共文档来向您描述其身份验证/授权,以便您知道如何调用它。

我注意到你说:

我在网站上看到没有办法生成密钥

因此,如果您已经查阅了他们的文档,并且它说您不需要密钥来调用 API,但是您收到了 401 之类的响应代码,您应该联系他们的支持以找出可能出现的问题。

还值得一提的是,无论 HTTP 客户端如何,这都将起作用。Visual Studio Code、curl、Insomnia、Postman、Web 浏览器(只要它支持 CORS)等。


推荐阅读