Google 使用数字签名生成返回 403 禁止的距离矩阵 Rest 模板调用

Google Distance Matrix Rest template call with digital signature generation returning 403 forbidden

我正在尝试从其余模板访问 google 距离矩阵。我有一个有效的 API 键,当我从浏览器拨打电话时,它似乎工作正常。我使用此 link 中的 google 代码来生成 google 签名。当我获取数字签名并将其手动附加到 URL 时,它似乎工作正常。

当我通过 rest 模板传递它时出现问题。这个电话似乎有效,但我收到了 403 禁止。我做了一些研究,似乎我的数字签名对于相应的 URL 无效。谁能阐明我的 URL 如何在浏览器中有效以及为什么它在 rest 模板调用中无效?

如果您将 URL 传递给其余模板,它将主要转换为 encoded URL,后者将具有相同的数字签名。但是由于这个 URL 和你生成的数字签名的 URL 不同,这个签名对于编码后的 URL.

是无效的

不要使用 URL 进行其余模板调用,而是使用 URI。 URI 不会被其余模板编码,您可以使用相应的 URI 验证您的数字签名。

如果您需要进一步说明,请告诉我!!