如何将 Google API 的 AWS Lambda 函数列入白名单

Kyl*_*rye 2 google-calendar-api google-api amazon-web-services node.js aws-lambda

我正在构建一个 AWS Lambda 函数,该函数使用 Node.js 从 Google Calendar API 中提取信息。然后 Node 应用程序向第三方应用程序发送一个 html 响应。我基本上遵循google 的本指南,除了我将 html 发送到其他地方进行渲染。我一直遇到一个错误,Google 告诉我我没有将来自 Lambda 的 javascript 来源列入白名单。这是错误文本:

{error: "idpiframe_initialization_failed", details: ""Not a valid origin for the client: https://<Lambda URL>.execute-api.us-west-2.amazonaws.com has not been whitelisted for client ID <My_Google_API_Client_Id>.apps.googleusercontent.com. Please go to https://console.developers.google.com/ and whitelist this origin for your project's client ID."}

我已经进入 Google API 开发人员控制台并将该 URL 列入白名单,但我仍然收到该错误。这是一个屏幕截图。

我也试过将“us-west-2.amazonaws.com”列入白名单,但没有成功。谢谢!!

小智 5

您需要将 Lambda 的 IP 地址列入白名单,您不能根据域名将其列入白名单。您可以在此处查看当前的 IP 地址列表:https : //docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html

您注意到您的请求us-west-2来自该地区,因此您只能通过查找与该地区匹配的条目来将该地区的 IP 列入白名单。122 据我统计,这是一项相当大的工作!

否则,您可以考虑在 VPC 内设置 NAT 并使用 IP 将该唯一 IP 列入白名单?

  • 带有 NAT 网关的 VPC 将是正确的解决方案。 (2认同)