【问题标题】:Google Drive using JavaScript: Handling file content使用 JavaScript 的 Google Drive:处理文件内容
【发布时间】:2012-07-19 16:19:48
【问题描述】:

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

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

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



其实这个问题是一个回复……(给another question

【问题讨论】:

    标签: javascript google-drive-api


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 非常高效,像往常一样。但是,我可以要求一个使用 CORS 来下载文件的小示例,类似于作为上传示例给出的示例吗?顺便说一句,我们如何设置参数来创建+上传文件并将其链接到某个文件夹,仅在一个请求中?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2016-01-17
      相关资源
      最近更新 更多