JavaScript从Google驱动器或Dropbox上的txt文件中读取所有文本

时间:2016-07-18 22:44:14

标签: javascript google-drive-api xmlhttprequest text-files dropbox

我想使用JavaScript将Google云端硬盘或Dropbox上的txt文件的全部内容读入字符串变量。我已经看过类似的问题了,但我想完全用JavaScript完成它。我已经尝试了一些方法,但我不断得到" XMLHttpRequest无法加载...没有' access-control-allow-origin' "和"无法执行'发送' "错误。我也想在没有任何外部API或安装的情况下这样做。

2 个答案:

答案 0 :(得分:3)

这是一个从Google Drive下载文本文件的javascript函数。 使用fetch API。

protected LogHandler createLogHandler(Configuration conf, Context context,
    DeletionService deletionService) {
  if (conf.getBoolean(YarnConfiguration.LOG_AGGREGATION_ENABLED,
      YarnConfiguration.DEFAULT_LOG_AGGREGATION_ENABLED)) {
    return new LogAggregationService(this.dispatcher, context,
        deletionService, dirsHandler);
  } else {
    return new NonAggregatingLogHandler(this.dispatcher, deletionService,
                                        dirsHandler,
                                        context.getNMStateStore());
  }
}

如果是Google文档文件,请参阅here

答案 1 :(得分:1)

s007回答非常好,但我不知道为什么返回数据缺少一些内容。下面我使用google drive javascript api中的files.get函数。因此,在您进行身份验证后,这将起作用。

this.readFile = function(fileId,callback){
    var request = gapi.client.drive.files.get({
      fileId: fileId,
      alt: 'media'
    })
    request.then(function(response){
        console.log(response); //response.body has the text content of the file
        if (typeof callback === "function") callback(response.body); 
    },function(error){
        console.error(error)
    })
    return request; //for batch request
}