Google drive api 当realtime.load工作时,调用realtime.loadAppDataDocument失败?

Google drive api 当realtime.load工作时,调用realtime.loadAppDataDocument失败?,google-drive-api,google-drive-realtime-api,Google Drive Api,Google Drive Realtime Api,调用realtime.loadAppDataDocument后,我收到错误: XMLHttpRequest cannot load https://drive.google.com/load? access_token=ya29.AHES6ZRoDqY0PmpHlbUjniB8wIl… Kzw &id=1xAp1SMlamIfjnUGO9pDwfNF5IphdtnZsCw36KalJss27wy00LJ-rCN9MpcHMx408Xg. Origin http://localhost:4

调用realtime.loadAppDataDocument后,我收到错误:

XMLHttpRequest cannot load https://drive.google.com/load?
access_token=ya29.AHES6ZRoDqY0PmpHlbUjniB8wIl… Kzw
&id=1xAp1SMlamIfjnUGO9pDwfNF5IphdtnZsCw36KalJss27wy00LJ-rCN9MpcHMx408Xg.
Origin http://localhost:4567 is not allowed by Access-Control-Allow-Origin. 
但是,如果我使用文件ID调用realtime.load,它就会工作。请参阅下面的代码摘录

if (fileId === null) {
    // this call fails
    gapi.drive.realtime.loadAppDataDocument(onFileLoaded, initializeStorageModel, handleErrors);  
} else {
    // this call succeeds
    gapi.drive.realtime.load(fileId, onFileLoaded, initializeStorageModel, handleErrors);
}   
在此点之前使用的变量传递给google作为访问令牌:

LOAD_APIS = 'auth:client,drive-realtime,drive-share';
SCOPE = [
'https://www.googleapis.com/auth/drive.appdata',
'https://www.googleapis.com/auth/drive.file'
 ];
LOAD_CLIENT_APIS = ['drive', 'v2'];
有人知道如何让realtime.loadAppDataDocument方法工作吗


更新:我认为该请求可能实际收到401响应,但由于CORS标头未与401响应一起发送,因此访问控制允许源错误被称为

谷歌对实时API进行了一些更改,解决了问题。

嗨,杰克-你是不是碰巧使用了Safari?这项功能依赖于重定向,不幸的是,重定向在带有CORS XHRs的Safari中不起作用。事实上,这与上周导致Safari上realtime.load失败的问题相同。我们能够找到realtime.load的解决方案,但不幸的是,我们没有realtime.loadAppDataDocument的解决方案。好消息是,我们已经在Safari上修复了这一功能,该功能将于下周三上线。嘿,Brian,这是Mac上的Chrome,一个快速测试表明Windows上的Chrome也失败了。我无法测试,也就是说,因为我还没有运行SSL401,这通常表示授权失败,尽管我不确定为什么您会看到realtime.loadAppDataDocument而不是realtime.load的授权失败,除非您缺少drive.appdata作用域,至少根据代码,您没有。不幸的是,我无法在我的测试应用程序中重现您的问题。你能分享完整的代码吗?嘿,布莱恩,我在这里发布了一个临时的应用程序淡化版本:忽略https错误,而且由于没有https,这将在IE中失败,只需注意两个源错误。PS:如果我从作用域中删除drive.appdata,我会得到403响应。