我可以在电子应用程序中使用 Google 选择器 API 吗?
Can I use the Google Picker API in an electron app?
我正在尝试使用 Google 选择器 API 为用户显示选择器 select 文件。我在网络应用程序(在普通浏览器中)中运行良好,但是当我 运行 在电子应用程序中使用相同的代码时,我在弹出的 iframe 中看到一条 400 消息,并收到以下控制台错误:
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://docs.google.com') does not match the recipient window's origin ('file://').
Failed to load resource: the server responded with a status of 400 ()
核心问题好像是electron浏览器window起源于file://
。这似乎会导致两个问题:
- (chromium) 浏览器安全阻止跨源 iframe 通信
- Google 拒绝来自有效来源的请求(并且您不能在开发人员控制台中将
file://
添加为来源)
我想不出任何方法来克服这些问题,但我希望有人能出出主意。
您可以创建一个应用程序并将其托管在如下所示的内容中,然后将电子 BrowserWindow 指向 url。
https://app.yourdomain.name/gdrive/picker?token=access_token
我相信这应该有效。
我正在尝试使用 Google 选择器 API 为用户显示选择器 select 文件。我在网络应用程序(在普通浏览器中)中运行良好,但是当我 运行 在电子应用程序中使用相同的代码时,我在弹出的 iframe 中看到一条 400 消息,并收到以下控制台错误:
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://docs.google.com') does not match the recipient window's origin ('file://').
Failed to load resource: the server responded with a status of 400 ()
核心问题好像是electron浏览器window起源于file://
。这似乎会导致两个问题:
- (chromium) 浏览器安全阻止跨源 iframe 通信
- Google 拒绝来自有效来源的请求(并且您不能在开发人员控制台中将
file://
添加为来源)
我想不出任何方法来克服这些问题,但我希望有人能出出主意。
您可以创建一个应用程序并将其托管在如下所示的内容中,然后将电子 BrowserWindow 指向 url。
https://app.yourdomain.name/gdrive/picker?token=access_token
我相信这应该有效。