2

两个月前,在Authorization of Google Drive using JavaScript中,
@Nivco写了一篇关于“处理文件内容”的文章,非常诱人:

我们还可以改进文件内容服务器,使其支持 XHR 请求。

那么,“我们”在哪里可以找到有关此功能的 新闻或路线图、信息等?



实际上,这个问题是一个答复......(对另一个问题

4

2 回答 2

4

这是一个使用CORS的简短示例。
文件的 ID 存储在变量 < theID> 中;此 ID 是唯一的,只要文件未被删除(已删除的文件未被删除)就不会更改

  • 首先gapi.client.request检索 downloadUrl 属性;返回值是一个短暂的值;
  • 然后,callback: function发送一个经过身份验证的请求以检索文件的内容,这要归功于它的 <downloadUrl> ;
  • 获胜者是……通过返回onreadystatechange = function( theProgressEvent )

.

gapi.client.request({
    'path': '/drive/v2/files/'+theID,
    'method': 'GET',
    callback: function ( theResponseJS, theResponseTXT ) {
        var myToken = gapi.auth.getToken();
        var myXHR   = new XMLHttpRequest();
        myXHR.open('GET', theResponseJS.downloadUrl, true );
        myXHR.setRequestHeader('Authorization', 'Bearer ' + myToken.access_token );
        myXHR.onreadystatechange = function( theProgressEvent ) {
            if (myXHR.readyState == 4) {
//          1=connection ok, 2=Request received, 3=running, 4=terminated
                if ( myXHR.status == 200 ) {
//              200=OK
                    console.log( myXHR.response );
                }
            }
        }
        myXHR.send();
    }
});

使用“Chrome 20.0.1132.57 m”和“Firefox 14.0.1”测试

于 2012-07-24T15:55:15.960 回答
2

文件下载端点现在支持 CORS 请求。实际上,我昨天已经更新了使用 JavaScript 对 Google Drive 授权的答案正文,以确保它反映了 API 的最新状态。我刚刚删除了您所指的尾随评论:)

于 2012-07-21T01:43:12.900 回答