首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GoogleJsonResponseException:从API到drive.revisions.get的调用失败,错误:未找到修订:1

GoogleJsonResponseException:从API到drive.revisions.get的调用失败,错误:未找到修订:1
EN

Stack Overflow用户
提问于 2022-01-13 19:34:12
回答 2查看 546关注 0票数 1

下面的代码用于在执行分析脚本之后重新初始化文件。其目标是删除已手动填写的单元格,以进行新的请求。

这个错误是在分析过程结束时得到的,我无法找到问题的根源。

代码语言:javascript
复制
    // Before you run the script, please enable Drive API at Advanced Google services.
function resetFile() {//restore previous version of the file
  var revisionId = "1";  // Please set the revision ID you want to revert.
  var googleDocsFileId = SpreadsheetApp.getActiveSpreadsheet().getId();  // Please set the Google Docs file ID.

  var endpoints = Drive.Revisions.get(googleDocsFileId, revisionId).exportLinks;
  var keys = Object.keys(endpoints);
  for (var i = 0; i < keys.length; i++) {
    if (keys[i].indexOf("application/vnd.openxmlformats-officedocument") > -1) {
      var endpoint = endpoints[keys[i]] + "&access_token=" + ScriptApp.getOAuthToken();
      var mediaData = UrlFetchApp.fetch(endpoint).getBlob();
      Logger.log(mediaData.getBytes().length)
      Drive.Files.update({}, googleDocsFileId, mediaData);
      break;
    }
  }
}

function resetSource(){//pas nécessaire
   var file= SpreadsheetApp.getActiveSpreadsheet().getRangeByName("FileID").getValue(); 
   var fileID = DriveApp.getFileById(file);  
  fileID.setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.EDIT);
}

更新2022-01-14

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-15 00:23:51

从您的错误消息,在您的情况下,如何检索第一个现有的修订版本?当这反映在您的脚本中时,如下所示。

发自:

代码语言:javascript
复制
var revisionId = "1";
var googleDocsFileId = SpreadsheetApp.getActiveSpreadsheet().getId();

至:

代码语言:javascript
复制
var googleDocsFileId = SpreadsheetApp.getActiveSpreadsheet().getId();
var list = Drive.Revisions.list(googleDocsFileId, { fields: "items(id)" }).items;
if (list.length == 0) throw new Error("No revisions were found.");
var revisionId = list[0].id;

参考资料:

票数 2
EN

Stack Overflow用户

发布于 2022-01-13 22:54:31

//在运行脚本之前,请在Advanced服务上启用Drive。

代码语言:javascript
复制
function resetFile() {
    //restore previous version of the file var revisionId = "1"; // Please set the revision ID you want to revert. 
    var googleDocsFileId = SpreadsheetApp.getActiveSpreadsheet().getId();

    // Please set the Google Docs file ID. 
    var endpoints = Drive.Revisions.get(googleDocsFileId, revisionId).exportLinks; 
    var keys = Object.keys(endpoints); 
    for (var i = 0; i < keys.length; i++) { 
        if (keys[i].indexOf("application/vnd.openxmlformats-officedocument") > -1) { 
            var endpoint = endpoints[keys[i]] + "&access_token=" + ScriptApp.getOAuthToken(); 
            var mediaData = UrlFetchApp.fetch(endpoint).getBlob(); 
            Logger.log(mediaData.getBytes().length) 
            Drive.Files.update({}, googleDocsFileId, mediaData); 
            break; 
        } 
    }
} 

function resetSource() {
    //pas nécessaire 
    var file = SpreadsheetApp.getActiveSpreadsheet().getRangeByName("FileID").getValue(); 
    var fileID = DriveApp.getFileById(file); 
    fileID.setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.EDIT);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70702127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档