我有一个脚本,使我的发票的PDF,并将其发送到谷歌驱动器文件夹。现在我想从它刚刚制作的文件中获取“可共享链接”,并将其粘贴到谷歌表格中的特定单元格中。我没有编码背景,最多能理解和修改一些代码。所以我使用我在网上找到的代码来创建PDF。我试图为可共享链接制作自己的代码,但毫无进展。谁能帮帮我。这是我正在使用的PDF代码。如果我能提供更多有用的信息,请告诉我。谢谢你!:)
// Get the currently active spreadsheet URL (link)
var ss = SpreadsheetApp.getActiveSpreadsheet();
var token = ScriptApp.getOAuthToken();
var sheet = ss.getSheetByName("Invoice");
//Creating an exportable URL
var url = "https://docs.google.com/spreadsheets/d/SS_ID/export?".replace("SS_ID", ss.getId());
var folderID = "#### Folder ID ####"; // Folder id to save in a folder.
var folder = DriveApp.getFolderById(folderID);
var invoiceNumber = ss.getRange("'Invoice'!I16").getValue()
var InvoiceDate = ss.getRange("!I17").getValue()
var pdfName = "Invoice #"+ invoiceNumber + " - " + Utilities.formatDate(new Date(), "GMT-7", "MM-dd-yyyy");
/* Specify PDF export parameters
From: https://code.google.com/p/google-apps-script-issues/issues/detail?id=3579
*/
var url_ext = 'exportFormat=pdf&format=pdf' // export as pdf / csv / xls / xlsx
+ '&size=letter' // paper size legal / letter / A4
+ '&portrait=true' // orientation, false for landscape
+ '&fitw=true&source=labnol' // fit to page width, false for actual size
+ '&sheetnames=false&printtitle=false' // hide optional headers and footers
+ '&pagenumbers=false&gridlines=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&gid='; // the sheet's Id
// Convert individual worksheet to PDF
var response = UrlFetchApp.fetch(url + url_ext + sheet.getSheetId(), {
headers: {
'Authorization': 'Bearer ' + token
}
});
//convert the response to a blob
var blobs = response.getBlob().setName(pdfName + '.pdf');
//saves the file to the specified folder of Google Drive
var newFile = folder.createFile(blobs);
// Define the scope
Logger.log("Storage Space used: " + DriveApp.getStorageUsed());
}```
直觉上,你只能靠自己取得很多成就,这是开始时要走的路:
您希望检索pdf的链接,这样您就可以确定,只有在创建pdf时才会发生这种情况,即在这一行var newFile=folder之后。创建文件(blob)
因此,
newFile
是您创建的PDF,剩下的只是获取此文件的链接,您可以使用getUrl()
或getId()
:
var newFileLink=newFile。getUrl()
或
var newFileLink=”http://drive.google.com/uc?export=view
现在您已经存储了创建的PDF的链接,并且您希望将数据写入特定单元格中的电子表格中,也许您希望它在J16中,因为您正在使用
发票号=ss.get范围('发票'!I16"). getValue()
从I16获取值
假设您想在J16中设置一个值。直观地说,由于
getValue
检索某些内容,因此,某些链接setValue
可能会起到相反的作用:
var WritePDFLink=ss.get范围("'发票'!j16"). setValue(newFileLink)
希望这是有见地的。
对于我的Google App Engine应用程序,我希望使用服务帐户自己的Google驱动器,即我不希望创建“常规”gmail帐户并向我的服务帐户授予特权,也不希望与任何其他人共享文件,我只希望将该驱动器用作应用程序的“内部文件系统”,仅由应用程序访问。 我的问题是: 1) 是否仍提供此类服务,即是否允许服务帐户使用其自己的专用驱动器,或者我是否被迫使用“新”谷歌云存储? 2)我在哪里可以找到任
在继续使用GoogleApps脚本构建Google电子表格的过程中,我已经完成了获取Bittrex和Poloniex余额的工作,但无法使用Cryptopia。 下面是我与Bittrex将JSON对象数组映射到字符串的斗争的链接 以下是官方API链接:https://www.cryptopia.co.nz/Forum/Thread/256 以下是一些例子: https://www.cryptopia
我有一个谷歌硬盘视频文件(比如https://drive.google.com/file/d/FILE_ID/view)我想要它的重定向器。谷歌视频。com链接。 像http://api.getlinkdrive.com/这样的网站是如何做到的?我尝试过使用谷歌硬盘REST应用编程接口(v2和v3),但仍然找不到方法。许多电视节目和电影网站将其内容托管在谷歌驱动器上,并使用这个过期的“隐蔽”网址,
我有两个电子表格: 预算表,包括估计成本和实际成本 成本跟踪表,包括实际成本和收据参考 目前,我正在导入预算表中的实际成本,通过引用跟踪表中的实际成本行 所以我的预算表是这样引用成本跟踪表的:=(importrange(spreadsheet_key,sheet_name!I76")) 这很好,但是,如果我在成本跟踪表中插入一个新行,该行位于我已经引用的一些值之上,它将不会动态更新。 因此,如果我
我试图使用一个谷歌脚本,从检索2个证券字段,并将输出保存到Google Sheet文件。我还需要脚本将datetime添加到工作表的第一列。 我创建了一个包含3列的基本Google工作表: A的格式为DateTime。第1行中有列名称date,第2行之后为空 以下是我的功能: 以下是输出: C和D列的输出正确。A列输出错误。每次我运行该函数时,每一行都会在最后一行的上方添加: 我第一次运行该函数是
我希望每天凌晨1点从外部来源将一些数据输入到谷歌的工作表中。进口产品的数量将有所不同。 然后,我希望在数据上传完成后,按价格对数据进行排序,这将是凌晨1:05左右。 我看到它是可能的运行功能为谷歌工作表在一个时间的基础上。 我需要什么样的脚本来按价格对数据进行排序,所以最便宜的项目是每天早上运行脚本后的第2行。 要在Google Sheets中手动执行此操作,我会这样做-*突出显示第2行到数据,排