google-drive-api - 当有多个帐户登录时 gapi.drive.share.ShareClient 失败
问题描述
我收到以下错误:
“抱歉,暂时无法分享,请稍后再试”。
我正在使用以下代码
var shareClient = new gapi.drive.share.ShareClient(this.appId);
shareClient.setOAuthToken(gapi.auth.getToken().access_token);
shareClient.setItemIds([id]);
shareClient.showSettingsDialog();
控制台显示以下错误:
无法在“DOMWindow”上执行“postMessage”:提供的目标来源(“ https://docs.google.com ”)与收件人窗口的来源(“ https://example.com ” )不匹配。
加载“ https://docs.google.com/picker?protocol=gadgets&origin= ...时遇到无效的“X-Frame-Options”标头
仅在使用 GSuite 帐户并使用多个帐户(例如,我的个人帐户和我的企业 GSuite 帐户)登录时才会出现此错误
在相同的设置中使用我的个人帐户可以正常工作
我在 2014 年发现了关于类似问题的老问题。谷歌解决了这个问题(通过引入 setOAuthToken 函数)。所以,似乎那些老问题与我当前的问题无关
谢谢
更新:
我发现只有第一个登录到 Google 的帐户才能与共享客户端一起使用(无论其类型如何)
例如:
(1) 以用户 X 登录
(2) 以用户 Y 登录
(3) 以用户 X 的身份调用 ShareClient(有效)
(4) 以用户 Y 的身份调用 ShareClient(失败)
从这两个帐户中唱出然后反向
(1) 以用户 Y 登录
(2) 以用户 X 登录
(3) 以用户 Y 的身份调用 ShareClient(有效)
(4) 以用户 X 的身份调用 ShareClient(失败)