csv - 将 csv 从 gmail 附件导入到 Google 工作表
问题描述
我需要自动将单个发件人的附加 .csv 数据从 Gmail 导入到 GoogleSheet。到目前为止,我在教程中找到了这个:
function RECUP_CSV_PIECE_JOINTE(mail) {
var fil_email=GmailApp.search('from:'+mail +' filename:csv' ,0,1)[0]
var dernier_email= fil_email.getMessages()[fil_email.getMessages().length-1]
var piece_jointe=dernier_email.getAttachments()[0]
var txt=piece_jointe.getDataAsString().replace(/"/g, '')
var csvData = Utilities.parseCsv(txt,",")
return csvData
}
function IMPORT_DATA(csvData){
var LEADS=SpreadsheetApp.getActive().getSheetByName("LEADS")
if(csvData.length>0){
LEADS.getRange(LEADS.getLastRow()+1, 1, csvData.length, csvData[0].length).setValues(csvData)
Logger.log("Import terminé")
}
else{
Logger.log("Aucune données dans le csv")
}
}
function MAIN(){
var mail="contact@mysite.fr"
//L’appel des deux fonctions
IMPORT_DATA(RECUP_CSV_PIECE_JOINTE(mail))
}
它可以工作,但只导入最后一封邮件的附件,我需要导入所有收到的附件。
我的目标是每小时触发一次此脚本,并将所有附件编译在一张纸上。
(对不起,我编辑了两次,发现另一个部分有效但不如这个曾经用马里奥的好建议编辑过的 tut)
解决方案
在GmailApp.search('from:'+mail +' filename:csv' ,0,1)
您告诉搜索最多获得 1 个线程。
如GmailApp 文档中所述:搜索参数为query
, start
, max
:
查询:搜索查询,就像您在 Gmail 中输入的一样
start:开始线程的索引
Max:返回的最大线程数
您将最大值设置为 1。
推荐阅读
- llvm - 如何使用 LLVM 模块级内联汇编定义和调用函数?
- javascript - 合并标题链接css和脚本列表
- list - Haskell:如何附加到元组列表的列表中?
- c++ - 使用带有闭包的 lambda 回调
- python - Pycharm调试docker compose中的manage.py命令
- php - 获取 Wordpress 用户信息
- c++ - 未对 const strlen 函数执行编译器优化
- java - 如何在 Java 套接字编程中解析 index.html 文件中包含的 style.css 的路径
- ios - 即使使用 AVAudioTimePitchAlgorithmSpectral,使用 AVPlayer 慢放的音质也不够好
- javascript - 使用 FORM GET 和 IFRAME 进行 CSRF 攻击