【Day 13】Google Apps Script - API 篇 - Drive Service - 云端硬碟服务范例

Google Drive(云端硬碟) Service 使用到的 API 程序介绍


今日要点:
》Drive Service 使用到的 API 程序码介绍


Drive Service 使用到的 API 程序码介绍

前一天我们简单介绍了 Drive Service 的文件与 Google 云端硬碟的对应,今天继续来介绍这系列会使用的到 API 程序使用范例。

我们在 Drive Service 中会使用到的 API,主要是在指定的资料夹,建立由 Docs 转换後的 .apib 档(API Blueprint),他是一般的文字档,所以我们会使用 DriveApp 类别直接来建立。若是要建立的档案是 google 应用的档案(注*2),则是各自的 class 都有对应的建档的 API。

DriveApp 建立档案

DriveApp 直接写档的方式依不同的参数有 3 个 API,
DriveApp.createFile(blob)
DriveApp.createFile(name, content)
DriveApp.createFile(name, content, mimeType)

直接用 DriveApp 建档,我们先使用 DriveApp.createFile(name, content) 的方式,传入档名跟内容,来建立转换後的 .apib 档,这个会写一个档案到根目录去。

function createGoogleDriveTextFile(content) {
  var fileName = "铁人赛-API-文件-Demo-程序自动产生-" + getTimestemp() + ".apib";
  DriveApp.createFile(fileName,content);
};

DriveApp.Folder 建立档案

也可以指定一个资料夹的 id 来取得资料夹的位置,再把档案存放到指定的资料夹去,我们主要都用这个,把输出的档案跟程序放在一起,比较好找档案。

folder.createFile(name, content)

function createGoogleDriveTextFile(content) {
  var folder = DriveApp.getFolderById("1qihF3An6UJykI8TEii....");  
  var fileName = "铁人赛-API-文件-Demo-程序自动产生-" + getTimestemp() + ".apib";
  var file = folder.createFile(fileName, content);
};

档名通常会加个流水号 getTimestemp() 比较好辨识。

DriveApp 读档

另外如果不是要建一个新的档案,而是要覆写原有的档案,那需要先读档,再写入内容。

DriveApp.getFileById(id)
id:指档案的编号,在网址列可以找到。

function readApibFile(id) {
  id = "1f-iixjzRsWR2ggfH0v3du6rd8wThcaj6";
  textfilecontents = "Demo";
  var textfile = DriveApp.getFileById(id);  
  textfile.setContent(textfilecontents);
 
};

以上介绍我们会使用到的建立档案的 Drive API,很简单吧。其他未使用的 API 就请再自行查阅罗。

附注补充一些相关的资讯,有需要可以一起看看 ^_^。


附注

注*1 - getTimestemp()

function getTimestemp(){
  var time = new Date().toISOString();
  var tzoffset = (new Date()).getTimezoneOffset() * 60000; //offset in milliseconds
  var localISOTime = (new Date(Date.now() - tzoffset)).toISOString().slice(0, 19);   //slice(0, 19)=2021-07-11T15:12:50   //slice(0, -1) = 2021-07-11T15:11:18.273
  var timestemp = localISOTime.replace(/-/g, "").replace(/:/g, "").replace("T", "-"); //20210711-151304
  return timestemp;
}

注*2 - 各应用建档的 API - create

//建立 Google 文件
DocumentApp.create('Document Name');

//建立 Google 简报
SlidesApp.create('Presentation Name');

//建立 Google 表单
FormApp.create('Form Name');

//建立 Google 表格
SpreadsheetApp.create("Finances");

参考


<<:  D13 - 做出鸡蛋糕 new + Constructor

>>:  端点安全防护 - 防毒软件与软件防火墙

Day_08 有线网路应用(一)

延续昨天Day_07 有线网路应用(一)进度 讨论一些我遇到的问题与细节补充。 Troublesho...

资安学习路上-picoCTF 解题(General) 1

最近开始打CTF,决定从最简单的picoCTF 开始,有解决一些题目,觉得有几题蛮有趣的想插播跟大家...

[Day 28] 系统开发导入(下)

资讯审计人员需要能识别和了解所设计的控制,以确保输入和输出各种业务和应用程序的数据授权、完整性和准确...

成为工具人应有的工具包-10 IECookiesView 02

IECookiesView 02 好,昨天学了 IE 饼乾的大略简介,今天来看比较详细的介绍: 如何...

Day 19 [Python ML、资料视觉化] Seaborn介绍

import pandas as pd import matplotlib.pyplot as pl...