今天 Google Picker 在我的 Google Sheets 插件中停止工作,代码没有任何更改。模态对话中的错误内容如下:
无效的原始值。
控制台中的错误是:
无法在“DOMWindow”上执行“postMessage”:提供的目标源(“https://docs.google.com”)与收件人窗口的源(“https://n-a6p4dqsl***d6wq-0lu”)不匹配-script.googleusercontent.com')
丢弃 postMessage .. 来自意外的窗口
丢弃 postMessage .. 来自意外的窗口
加载“https://docs.google.com/picker?protocol=gadgets&origin=https%3A%2F%2Fdocs.google.com%2F&sdr=true&title&oauth_token=<oathToken>&developerKey=”时遇到无效的“X-Frame-Options”标头<developerKey>&hostId=n-a6p4dq***d6wq-0lu-script.googleusercontent.com&relayUrl=https%3A%2F%2Fn-a6p4dq***d6wq-0lu-script.googleusercontent.com%2Ffavicon.ico&nav=((% 22documents%22%2Cnull%2C%7B%22selectFolder%22%3Atrue%2C%22parent%22%3A%22root%22%7D)%2C(%22documents%22%2Cnull%2C%7B%22dr%22%3Atrue% 2C%22includeFolders%22%3Atrue%7D))&rpcService=qhurmoc5w4l7&rpctoken=xssf8g42xc2&thirdParty=true#rpctoken=xssf8g42xc2':'ALLOW-FROM https://docs.google.com/'不是公认的指令 标题将被忽略。
也许错误与我所做的这行代码有关setOrigin():
var picker = new google.picker.PickerBuilder()
.addView(driveView)
.addView(drivesView)
.hideTitleBar()
.setOAuthToken(token)
.setDeveloperKey(DEVELOPER_KEY)
.setCallback(pickerCallback)
--> .setOrigin(google.script.host.origin)
.setSize(DIALOG_DIMENSIONS.width - 2,
DIALOG_DIMENSIONS.height - 2)
.build();
Run Code Online (Sandbox Code Playgroud)
但这行代码直接来自 Google Picker API 的文档,并且之前工作正常。如果我更改google.script.host.origin,它会https://docs.google.com作为 url返回到https://n-a6p4dqsl***6wcd6wq-0lu-script.googleusercontent.com,我会收到相同的错误和一个新错误,所以不是这样。
我也无法将其添加为 GCP 项目中的授权 javascript 源,因为它返回以下错误:
无效的来源:使用了禁止的域
(这种情况已经有一段时间了)
这似乎是一个新错误,我无法在 Google 的问题跟踪器和 StackOverflow 上找到答案。
任何人都面临这个问题或知道如何处理它?
javascript google-apps-script google-picker google-cloud-platform