我正在构建一个AWS Lambda函数,该函数使用Node.js从Google Calendar API中提取信息。然后,Node应用程序将html响应发送给第三方应用程序。我基本上遵循this guide from 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列入了白名单,但是仍然出现该错误。 Here's a screenshot.
我也曾尝试将“ us-west-2.amazonaws.com”列入白名单,但没有运气。谢谢!
答案 0 :(得分:2)
您需要将Lambda的IP地址列入白名单,而不能根据域名将其列入白名单。您可以在此处查看IP地址的当前列表:https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html
您注意到您的请求来自us-west-2
,因此您可以仅通过查找与该区域匹配的条目将该IP列入白名单。根据我的计算,这是122个很大的工作!
否则,您可以考虑在VPC内设置NAT,并针对该IP使用IP将该唯一IP列入白名单?