使用JavaScript的Google云端硬盘:处理文件内容

时间:2012-07-20 11:33:37

标签: javascript google-drive-api

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

  

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

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



实际上,这个问题是回复......(another question

2 个答案:

答案 0 :(得分:4)

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

  • 首先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”测试

答案 1 :(得分:2)

文件下载端点现在支持CORS请求。我昨天更新了Authorization of Google Drive using JavaScript的答案正文,以确保它反映了API的最新状态。我刚刚删除了你所指的那个尾随评论:)