是否 possible/worthwhile 从客户端 Javascript 签署街景静态 API 请求?

Is it possible/worthwhile to sign Streetview Static API requests from clientside Javascript?

我需要从浏览器客户端调用 Google 街景静态地图 API,以响应用户点击。

我说的对吗,尝试按需对这些调用进行数字签名是没有意义的,因为我需要公开我的秘密客户端?我没有签署服务器端的选项。 (我只是在 github.io 上使用 JS 托管 HTML。)

就是说,我只有固定数量的街景可能参数 API - 比如说十个可能的不同 lat/long 调用。我可以手动签署每一个并包含每个签名,但滥用者仍然可以编写重复点击这些按钮的脚本,因此签名没有多大意义。

基本上我觉得没有办法保护我的配额不被滥用?

当然,你不应该在客户端创建数字签名,因为你会暴露你的密钥。

另一方面,您应该对 API 密钥应用 HTTP 引用限制。请注意,街景静态 API 有两个级别的保护:第一个是 API 受 HTTP 引荐来源网址保护的密钥,第二个是数字签名。

看看这篇常见问题解答文章: https://developers.google.com/maps/faq#keysystem

如果您对 Street View Static API 的使用率不是很高,可能只需使用受保护的 API 密钥就可以了。当您使用带有受保护 API 密钥且没有数字签名的请求时,您的每日配额限制为 25 000 个请求。数字签名(必须在服务器端计算)允许克服每天 25 000 个请求的限制。因此,如果您每天需要超过 25 000 个请求,您应该实施服务器端数字签名。

https://developers.google.com/maps/documentation/streetview/usage-and-billing#other-usage-limits

希望我的解释能解决你的疑惑。