当realtime.load工作时,调用realtime.loadAppDataDocument会失败吗?

时间:2013-08-14 16:05:05

标签: 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:4567 is not allowed by Access-Control-Allow-Origin. 

但是,如果我用fileid调用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);
}   

在此之前使用的变量(传递给谷歌获取访问令牌):

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响应(但因为没有发送带有401响应的CORS头,所以调用了Access-Control-Allow-Origin错误)< / p>

1 个答案:

答案 0 :(得分:0)

谷歌推动了对Realtime API的一些修改,这些修改解决了这个问题。