Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何为Google API白名单AWS Lambda函数_Node.js_Amazon Web Services_Google Api_Aws Lambda_Google Calendar Api - Fatal编程技术网

Node.js 如何为Google API白名单AWS Lambda函数

Node.js 如何为Google API白名单AWS Lambda函数,node.js,amazon-web-services,google-api,aws-lambda,google-calendar-api,Node.js,Amazon Web Services,Google Api,Aws Lambda,Google Calendar Api,我正在构建一个AWS Lambda函数,它使用Node.js从Google日历API中提取信息。然后,节点应用程序向第三方应用程序发送html响应。我基本上是遵循,除了我将html发送到其他地方进行渲染。我一直遇到一个错误,Google告诉我,我没有将来自Lambda的javascript源代码列入白名单。以下是错误文本: {错误:“idpiframe\u初始化\u失败”,详细信息:“不是客户端的有效来源:https://.execute-api.us-west-2.amazonaws.com

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

{错误:“idpiframe\u初始化\u失败”,详细信息:“不是客户端的有效来源:https://.execute-api.us-west-2.amazonaws.com 尚未将客户端ID.apps.googleusercontent.com列入白名单。请转到https://console.developers.google.com/ 并为项目的客户ID将此来源列为白名单。“}

我已经进入了GoogleAPI开发者控制台,并将该URL列入了白名单,但我仍然收到了那个错误


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

您需要将Lambda的IP地址列入白名单,您不能基于域名列入白名单。您可以在此处查看当前的IP地址列表:

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


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

带有NAT网关的VPC将是正确的解决方案。@JorgRoper我相信您的答案偏离了轨道。来源并不意味着IP地址。
Origin
是一个HTTP请求头,类似于
Referer
,即通信正在生成的页面的来源(协议+主机名)(通常)跨源请求。我有理由相信Lambda没有发出此请求。浏览器正在发出此请求。我还没有尝试任何操作,但我想我可能无意中没有提供所有必要的信息。Lambda向另一个应用程序发送html响应,当html呈现在该页面上时,请求就会出现。因此我听起来我必须将第三方应用程序的IP列入白名单,但如果是这样,为什么它会在错误中显示lambda url?我已经更新了原始问题以添加此新信息。“白名单此来源”--此确切来源,
https://x-example.execute-api.us-west-2.amazonaws.com
。这似乎奏效了!