有没有办法在没有客户端密钥的情况下使用 API?
Is there a way to utilize an API without a client key?
正在尝试访问 API 的 Shortboxed:https://api.shortboxed.com/ 使用 Visual Studio 代码。我在网站上看到没有生成密钥的方法,而且不完全习惯使用APIs,请问有没有办法只用API域访问数据.
以下图片是我的代码,很可能这是其中的一个错误。
这取决于 API 的开发方式。许多 API 会使用 authentication/authorization(不完全相同,但在这里组合在一起以保持简单)。这涉及到 HTTP 请求的发送者标识自己,通常是通过包含客户端密钥或令牌。
您会知道 API 是否通过调用它来回答未经身份验证或未经授权的请求。如果您收到 2xx 响应(200、204 等),则您可以这样做。如果 API 的开发人员严格遵守 HTTP 规范,他们将 return 一个状态代码,如 401 Unauthorized (https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400)。您通常可以在 API 文档中找到这些信息,这样您就不必尝试从头开始弄明白了。
所以在这一点上,由特定 API 的 public 文档向您描述其 authentication/authorization 以便您知道如何调用它。
我注意到你说:
I saw that on the website there is no way to generate a key
因此,如果您已经查阅了他们的文档并且它说您不需要密钥来调用 API,但是您收到了类似 401 的响应代码,您应该联系他们的支持以查找找出可能出了什么问题。
还值得一提的是,无论使用何种 HTTP 客户端,这都可以正常工作。 Visual Studio Code、curl、Insomnia、Postman、网络浏览器(只要支持CORS)等
正在尝试访问 API 的 Shortboxed:https://api.shortboxed.com/ 使用 Visual Studio 代码。我在网站上看到没有生成密钥的方法,而且不完全习惯使用APIs,请问有没有办法只用API域访问数据.
以下图片是我的代码,很可能这是其中的一个错误。
这取决于 API 的开发方式。许多 API 会使用 authentication/authorization(不完全相同,但在这里组合在一起以保持简单)。这涉及到 HTTP 请求的发送者标识自己,通常是通过包含客户端密钥或令牌。
您会知道 API 是否通过调用它来回答未经身份验证或未经授权的请求。如果您收到 2xx 响应(200、204 等),则您可以这样做。如果 API 的开发人员严格遵守 HTTP 规范,他们将 return 一个状态代码,如 401 Unauthorized (https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400)。您通常可以在 API 文档中找到这些信息,这样您就不必尝试从头开始弄明白了。
所以在这一点上,由特定 API 的 public 文档向您描述其 authentication/authorization 以便您知道如何调用它。
我注意到你说:
I saw that on the website there is no way to generate a key
因此,如果您已经查阅了他们的文档并且它说您不需要密钥来调用 API,但是您收到了类似 401 的响应代码,您应该联系他们的支持以查找找出可能出了什么问题。
还值得一提的是,无论使用何种 HTTP 客户端,这都可以正常工作。 Visual Studio Code、curl、Insomnia、Postman、网络浏览器(只要支持CORS)等