Google apps script 我的Google应用程序脚本可以成功迭代和提取文件附件,但不能提取超链接附件。有什么方法我可以用吗?
我有一个功能,可以成功地从新电子邮件中提取文件附件。但无法从我们的office扫描仪中检测到类似此电子邮件的超链接附件: 有人知道解决这个问题的方法吗 更新: 我在伦敦发现了一个类似的案例 并在下面修改了我的代码。 结果如下: a) 使用此公开可用URL(people.sc.fsu.edu/~jburkardt/data/csv/addresses.csv)提取超链接附件作为示例附件正常工作,并将其保存在首选文件名中,但 b) 对于来自扫描仪的实际电子邮件,我在执行URLFACHAPP.fetch(url)时收到此错误消息: 异常:错误的请求: 是什么导致了这个问题 (我的修订代码如下):Google apps script 我的Google应用程序脚本可以成功迭代和提取文件附件,但不能提取超链接附件。有什么方法我可以用吗?,google-apps-script,Google Apps Script,我有一个功能,可以成功地从新电子邮件中提取文件附件。但无法从我们的office扫描仪中检测到类似此电子邮件的超链接附件: 有人知道解决这个问题的方法吗 更新: 我在伦敦发现了一个类似的案例 并在下面修改了我的代码。 结果如下: a) 使用此公开可用URL(people.sc.fsu.edu/~jburkardt/data/csv/addresses.csv)提取超链接附件作为示例附件正常工作,并将其保存在首选文件名中,但 b) 对于来自扫描仪的实际电子邮件,我在执行URLFACHAPP.fet
//===================================
函数ExtractEmailAttachmentsJP(){
//===================================
var spr=SpreadsheetApp.getActiveSpreadsheet();
var ss=SpreadsheetApp.getActiveSheet();
var sheet=SS.getSheetByName(“上传程序”);
var logsheet=SS.getSheetByName(“上传的文件”);
TEMPFOLDERID=PropertiesService.getDocumentProperties().getProperty('TEMPFOLDERID');
TEMPFOLDER=DriveApp.getFolderById(TEMPFOLDERID);
//不要覆盖,只需附加到最后一个非空(最大)行
var startRow=lastNonblankRow(“N”,SSID,“上传程序”)+1
计数器=0;//初始化文件附件计数器
var gmailabels=“PeopleDoc”;
var threads=GmailApp.search(“标签:+gmillabels+”是:未读”,0,3);
如果(螺纹长度>0){
SS.toast(“发现新电子邮件。提取附件…”);
/*反复浏览电子邮件的线程*/
对于(var t=0;t如果您想从URL中检索文件,如http://{ipaddress}/,,
,首先,检查是否可以使用UrlfetchApp从URL检索文件如何?我将探索您建议的解决方案,并让您知道结果,Tanaike san。感谢您的快速响应。
//===================================
function ExtractEmailAttachmentsJP() {
//===================================
var spr = SpreadsheetApp.getActiveSpreadsheet();
var ss = SpreadsheetApp.getActiveSheet();
var sheet = SS.getSheetByName("UPLOADER");
var logsheet = SS.getSheetByName("Documents Uploaded");
TEMPFOLDERID = PropertiesService.getDocumentProperties().getProperty('TEMPFOLDERID');
TEMPFOLDER = DriveApp.getFolderById(TEMPFOLDERID);
//do not overwrite, just append to the last non-empty (max) row
var startRow = lastNonblankRow("N",SSID,"UPLOADER")+1
COUNTER = 0; //initialize file attachment counter
var gmailLabels = "PeopleDoc";
var threads = GmailApp.search("label:" + gmailLabels + " is:Unread", 0, 3);
if (threads.length > 0) {
SS.toast("New emails found. Extracting attachment(s)...");
/*Iterate through the threads of emails*/
for (var t=0; t<threads.length; t++) {
var msgs = threads[t].getMessages();
//Iterate through each mail
for (var m=0; m<msgs.length; m++) {
var msg = msgs[m];
var data = msg.getPlainBody();
var urlField = data.indexOf('http://');
var url = data.substr(urlField, 117);
var fileUrl = UrlFetchApp.fetch(url);
var fileBlob = fileUrl.getBlob();
COUNTER = COUNTER + 1;
var timestamp = Utilities.formatDate(new Date(msg.getDate()), "GMT+8", 'dd MMM hh:mm');
var pdfID = TEMPFOLDER.createFile(fileBlob).setName("attachment" + COUNTER + " " + timestamp).getId();
//show each generic file row by row
sheet.getRange(startRow-1+COUNTER, 10).setFormula('=HYPERLINK(\"https://drive.google.com/file/d/' + pdfID + '\", \"' + "attachment" + COUNTER + " " + timestamp + '\")');
sheet.getRange(startRow-1+COUNTER, 15).setValue(pdfID);
sheet.getRange(startRow-1+COUNTER, 16).setValue("Gmail Inbox");
}