Google Drive JavaScript SDK-共享对话框不工作
我使用Google Drive SDK设置了一个应用程序() 我主要用PHP处理这个应用程序的数据,但有一些功能(如共享对话框)使用JavaScript APIGoogle Drive JavaScript SDK-共享对话框不工作,javascript,html,google-drive-api,Javascript,Html,Google Drive Api,我使用Google Drive SDK设置了一个应用程序() 我主要用PHP处理这个应用程序的数据,但有一些功能(如共享对话框)使用JavaScript API <script type="text/javascript" src="https://apis.google.com/js/api.js"></script> <script type="text/javascript"> init = function() { s = ne
<script type="text/javascript" src="https://apis.google.com/js/api.js"></script>
<script type="text/javascript">
init = function() {
s = new gapi.drive.share.ShareClient('737617002551');
s.setItemIds(["ncle837jp4berdbjftouwixsjub1fvt2"]);
}
window.onload = function() {
gapi.load('drive-share', init);
}
</script>
init=函数(){
s=新的gapi.drive.share.ShareClient('737617002551');
s、 setItemId([“ncle837jp4berdbjftouwixsjub1ft2]”);
}
window.onload=函数(){
gapi.load('drive-share',init);
}
问题是,当我尝试使用s.showSettingsDialog()启动共享对话框时代码>共享系统故障。一个带有加载消息的空白模式弹出,几秒钟后,我收到以下错误消息:
抱歉,目前无法共享。请稍后再试
经进一步调查,开发控制台中的错误消息也可用:
拒绝在帧中显示“…”,因为它将“X-frame-Options”设置为“SAMEORIGIN”
该消息出现两次:当gapi.load()时出现一次代码>调用,当s.showSettingsDialog()时再次调用代码>呼叫已发出。在谷歌的文档中,它说共享模式只有三个要求:
用户已登录到Google
用户已安装您的应用程序
启动对话框的页面的URL必须与为应用程序注册的打开URL具有相同的来源
然而,据我所知,我的应用程序符合这三条规则。因此,该对话框应该看起来像正常的一样。共享对话框对内容安全策略有严格的要求。您的应用程序必须遵守这些严格要求。任何偏差都会导致共享对话框出现类似问题
此链接可能有助于您进一步了解这些要求:显示有相当多的人有类似的问题。可能的原因包括:在框架内使用共享按钮、页面URL/打开URL之间存在微小(尾随斜杠)差异以及未能授权用户。