您可以使用Drive REST API添加现有Google Doc的新版本吗?

时间:2015-10-21 20:06:33

标签: rest google-drive-api

想知道是否有人使用Drive REST API实际添加了新版本的文档,自动执行右键单击驱动器中的文档,转到管理版本,上传新版本的手动过程?我想在我的案例中添加新版本的PDF。

我最近通过Drive REST API文档找到了答案,使用File:update:

https://docs.python.org/2/library/ast.html

但是我没有在那里看到它是否真的会添加新版本,留下历史版本。

提前感谢任何意见或建议,

戴夫

1 个答案:

答案 0 :(得分:0)

答案是肯定的,只要您对文件/文件夹执行更新,

 Drive mGOOSvc;
 ...
/****************************************************************
   * update file in GOODrive,  see https://youtu.be/r2dr8_Mxr2M 
   * @param resId  file  id
   * @param titl  new file name (optional)
   * @param mime  new mime type (optional, "application/vnd.google-apps.folder" indicates folder)
   * @param file  new file content (optional)
   * @return      file id  / null on fail
   */
  String update(String resId, String titl, String mime, String desc, java.io.File file){
    com.google.api.services.drive.model.File gFl = null;
    if (mGOOSvc != null  && resId != null) try {
      com.google.api.services.drive.model.File meta = new File();
      if (titl != null) meta.setTitle(titl);
      if (mime != null) meta.setMimeType(mime);
      if (desc != null) meta.setDescription(desc);

      if (file == null)
        gFl = mGOOSvc.files().patch(resId, meta).execute();
      else
        gFl = mGOOSvc.files().update(resId, meta, new FileContent(mime, file)).execute();

    } catch (Exception e) { e.printStackTrace();}
    return gFl == null ? null : gFl.getId();
  }

您将看到使用drive.google.com的新版本对象 - >管理版本......

它适用于更新'分支,我没有测试补丁'但是,分支。

祝你好运