1

我在Google API Console中做了一个项目。该项目使用 2 个服务:YouTube 数据 API 和 Google Maps JavaScript API。第一个服务是服务器到服务器,因此 API 密钥不会暴露。第二个服务是客户端到服务器,因此公开了一个 API 密钥(以 HTML 代码发送到浏览器)。如果我对 Maps API 和 YouTube API 使用相同的密钥,则用户可以获取密钥并使用它代表我与 YouTube 进行交互(这是一个问题)。

一种解决方案是为 API 使用单独的密钥。如何获取允许与 Maps API 一起使用但不允许与 YouTube API 一起使用的 API 密钥?

4

2 回答 2

0

以下是 Google API 当前提供的主要限制:

None
HTTP referrers (web sites)
IP addresses (web servers, cron jobs, etc.)
Android apps
iOS apps

为防止未经授权的使用和配额盗窃,请限制您的密钥。密钥限制允许您指定哪些网站、IP 地址或应用程序可以使用此密钥。了解更多信息:https ://support.google.com/googleapi/answer/6310037?hl=en

因此,您可以设置您的密钥,以便只能从您的域(通过将 HTTP 引荐来源网址设置到您的网页)或 IP 地址使用它。上述链接中的最佳实践。

于 2018-02-10T09:49:12.680 回答
0

在 Google API Console 中创建两个项目:

  1. 启用了服务器到服务器 API 的项目 (YouTube API)。项目 API 密钥仅在服务器上使用,不公开。
  2. 启用了客户端到服务器 API 的项目(Google Maps API)。项目 API 密钥已公开,但无法用于访问 YouTube,因为项目中未启用 YouTube API。
于 2018-02-13T01:21:43.283 回答