Google脚本来源请求网址

时间:2016-06-28 14:52:05

标签: url google-apps-script cors

我正在开发Google表格附加组件。加载项调用API。在API配置中,必须将类似https://longString-script.googleusercontent.com的网址添加到允许来自其他域的请求的网址列表中。 今天,我注意到这个网址已更改为https://sameLongString-0lu-script.googleusercontent.com。 开发开始后,网址改变了约3个月。

我想知道是什么让网址发生变化,因为它也意味着每次都会改变我们后端的配置。

编辑:感谢您的答复到目前为止。帮助我更好地理解这是如何工作的,但我仍然不知道url是否/何时/如何/为什么会改变。 快速更新,网址的变化部分今天是另一个用户的“-1lu”(但在我测试时不适合我)。由于我们无法在google dev控制台重定向uri字段中使用通配符,因此非常烦人。我应该将大量的“-xlu”uris与x从1粘贴到10,所以我不需要触摸它一段时间吗?

3 个答案:

答案 0 :(得分:0)

网址由主机以各种方式管理。在最基本的层面上,当您构建Web服务器时,您可以决定将其称为什么以及在其上调用任何页面的内容。谷歌和其他大型内容提供商拥有服务器和冗余数据中心的农场,一切都将以不同的方式管理它,但就你的目的而言,它实际上是相同的...你需要问他们,因为他们是托管云内容提供商。

可能与之相关的是谷歌推出了一些最近处理googleusercontent.com域和picassa图像的更改(或至少计划这样做。)所以谷歌支持论坛将是这样的方式问题是最新鲜的答案,因为URL更改的原因通常是特定于那个时刻,而不是你必须担心重复更改的事情。但同样,他们需要确认这是与最近计划的变更有关的事情......或者不是。 : - )

当您发现某些内容时,您可以更新此问题,以防其他人使用。 特别是,如果他们告诉你这不是一次性的事情来处理他们的结果。

答案 1 :(得分:0)

这更可能与同源政策中的Changing origin相关。如上所述:

  

页面可能会因某些限制而改变自己的来源。脚本可以将document.domain的值设置为其当前域或其当前域的超域。如果它将其设置为当前域的超域,则较短的域将用于后续的原始检查。

     

例如,假设http://store.company.com/dir/other.html文档中的脚本执行以下语句:   document.domain = "company.com";

     

执行该语句后,页面可以使用http://company.com/dir/page.html

传递原点检查

所以,如上所述:

  

使用document.domain允许子域安全地访问其父域时,您需要在父域和子域中将document.domain设置为相同的值。即使这样做只是将父域设置回其原始值,这也是必要的。如果不这样做,可能会导致权限错误。

答案 2 :(得分:0)

对于现在遇到此问题的人们,我们在开发Google加载项时也遇到了此问题。我们需要按照OP提到的longString-#lu-script.googleusercontent.com模式向我们的oauth客户端添加多个原始URL,以进行登录。

这很烦人,因为每个URL必须在授权的URL字段中分别输入(不允许子域或通配符匹配)。同样,这非常脆弱,因为如果Google更改其托管我们加载项的URL,它就会中断。此外,我无法从Google找到任何文档来确认这些是脚本的起源。