Web Design

E kiʻi i nā memo Gmail ma kahi Google Sheet

Me ka Google Apps Script, hiki i nā mea kūʻai ke hopu i nā memo Gmail, hoʻokaʻawale iā lākou no ka ʻike pili, a hoʻohui iā lākou i kēlā me kēia lālani i kahi pālahalaha Google.

Hiki ke kōkua nui kēia no ka hopu ʻana i nā alakaʻi a i ʻole nā ​​pilina.

Eia kekahi hiʻohiʻona. E noʻonoʻo ua hoʻoholo kāu ʻoihana ecommerce e hana me kahi aloha. Hoʻouna nā mea komo i nā noi ma o ka pūnaewele o ke aloha. ʻO kāu hana ka heluhelu ʻana i kēlā mau noi, koho i nā poʻe i hiki i kāu ʻoihana ke kōkua, a e hoʻopili iā lākou e hoʻomaka.

ʻO ka pilikia, ua kūkulu ʻia ka pūnaewele o ke aloha i ka makahiki 1990 ma kahi kahua paʻa i lalo. ʻAʻole hiki ke hoʻohui ʻia nā hoʻouna ma ka pūnaewele i kahi waihona a mālama ʻia paha. Akā, hiki ke leka uila iā ʻoe i kēlā mau hoʻouna ma ke ʻano kikokikona.

ʻO ka hoʻonā? E hoʻopaʻa a paʻi i kēlā mau leka uila no ka launa pū ʻana me ka hoʻohui ʻana iā lākou i kahi Google Sheet. Ma kēia ʻatikala, e wehewehe wau pehea e hana ai i kēia.

Pepa a me ka Palapala

Hoʻomaka ka hana me ka hana ʻana i kahi Google Sheet hou. E kapa wau iā ia "Charity Email Example."

E hoʻomaka me kahi Google Sheet hou.

E hoʻomaka me kahi Google Sheet hou.

E poʻo i ka papa kuhikuhi "Tools" ma ka pepa a koho i ka mea papa kuhikuhi "Script editor".

Hoʻopili i nā pāpalapala Google me nā palapala maʻamau ma o ka

E hoʻohui i nā pāpalapala Google me nā palapala maʻamau ma o ka "Kōpili hoʻoponopono."

E wehe ana kēia loulou i kahi mea hoʻoponopono palapala Google hou, kahi e hana ai mākou i kā mākou hana. Ua kapa au i kēia palapala "Charity Email Example." Hāʻawi ka mea hoʻoponopono palapala iā mākou e kākau i nā hana JavaScript e holo ana ma kā mākou pālahalaha.

E hoʻohana i ka mea hoʻoponopono palapala e kākau i nā hana JavaScript e holo ma ka pāpalapala.

E hoʻohana i ka mea hoʻoponopono palapala e kākau i nā hana JavaScript e holo ma ka pāpalapala.

Nui nā ala e kākau ai i kahi palapala e kiʻi ai i nā memo Gmail a hoʻohui iā lākou i kahi pāpalapala Google. Ma kēia laʻana, e hoʻohana au i ʻehā mau hana: ma ka wehe, e'ākoakoa, getGmail, a parseEmail.

ma ka wehe

ka ma ka wehe ʻokoʻa ka hana ma Google Apps Scripts. E holo mau ana ke wehe ʻia kahi pepa. No laila, pono ka inoa ma ka wehe. Hiki iā ʻoe ke hana i nā mea āpau āu e makemake ai. I kā mākou hihia, e hoʻohui mākou i kahi papa kuhikuhi hou a me kahi mea papa inoa i ka pepa.

hana maOpen() {const spreadsheet = SpreadsheetApp.getActive(); let menuItems = [ {inoa: 'E hōʻiliʻili i nā leka uila', functionName: 'hui'}, ]; spreadsheet.addMenu('Charity', menuItems); }

ʻEkolu ʻāpana o kēia hana.

ʻO ka mua, e hoʻohana mākou i ka SpreadsheetApp papa e kiʻi i ka pepa hana — ʻo ia hoʻi, ka pepa a ka mea hoʻohana e nānā nei. Hāʻawi ʻia kēia mea pepa i ka "spreadsheet" mau JavaScript.

papapalapala const = SpreadsheetApp.getActive();

Ma hope aʻe, e hana wau i kahi ʻano o nā mea papa inoa. I kēia laʻana, hoʻokahi wale nō mea papa kuhikuhi kā mākou hui, akā hiki ke loaʻa hou aku. ʻO ke kākau ʻana i kēia ala e maʻalahi ai ka hoʻohui ʻana i nā mea papa inoa e like me ka mea e pono ai.

e hoailona oukou ia inoa hana wehewehe i ka hana hoʻihoʻi e holo i ka wā e kaomi ai ka mea hoʻohana i ka mea "E hōʻiliʻili i nā leka uila". I kēia hihia, e kāhea wau i kahi hana i kapa ʻia e'ākoakoa.

let menuItems = [ {inoa: 'E hōʻiliʻili i nā leka uila', functionName: 'hui'}, ];

Hōʻike kikoʻī ka palapala a Google pehea e hoʻohui ai i kahi papa kuhikuhi. No kā mākou hana, pono ʻoe e hoʻohana wale i ka addMenu ʻano - ka hāʻawi ʻana iā ia, ʻo ka mua, i ka inoa o ka papa kuhikuhi a, ʻo ka lua, i ka papa kuhikuhi o nā mea papa inoa.

spreadsheet.addMenu('Charity', menuItems);

Ma ka mea hoʻoponopono palapala, hiki iā mākou ke holo i kēia hana ma ke kaomi ʻana i ke pihi holo, ka triangle ʻeleʻele e like me ke pihi pāʻani no kahi wikiō. ʻO kahi ʻē aʻe, hiki iā mākou ke hōʻano hou i ka pālahalaha, akā e pani ia i ka mea hoʻoponopono palapala. Inā pani ʻia, hiki iā mākou ke wehe hou mai ka papa kuhikuhi Mea Hana.

Hiki i ka pihi holo ke hoʻokō i kahi hana i koho ʻia i loko o ka mea hoʻoponopono palapala.

Hiki i ka pihi holo ke hoʻokō i kahi hana i koho ʻia i loko o ka mea hoʻoponopono palapala.

ʻO ka manawa mua āu e holo ai i ka polokalamu, pono ʻoe e ʻae iā ia e komo i kāu moʻokāki Google.

Hāʻawi i ka ʻae ʻana i ka palapala i kāu moʻokāki Google.

Hāʻawi i ka ʻae ʻana i ka palapala i kāu moʻokāki Google.

Ma hope o ka holo ʻana o kēia hana, e neʻe mākou i kahi papa kuhikuhi hou a me ka papa kuhikuhi i loko o ka pāpaʻi aloha.

E hōʻike ʻia kahi papa kuhikuhi hou a me ka papa kuhikuhi ma ka pā.

E hōʻike ʻia kahi papa kuhikuhi hou a me ka papa kuhikuhi ma ka pā.

e'ākoakoa

A laila, e kākau kākou i ka e'ākoakoa hana.

Pono ka inoa maanei. Iaʻu, ʻo ka "hui" ka manaʻo o ka ʻohi a me ka hoʻonohonoho ʻana. Eia naʻe, hiki iā ʻoe ke inoa i ka hana i kāu makemake.

hana e hōʻiliʻili () { e ʻae i nā memo = getGmail (); let curSheet = SpreadsheetApp.getActive(); messages.forEach(message => {curSheet.appendRow(parseEmail(message))}); }

Hoʻopau ka hana i ʻekolu mau hana.

ʻO ka mea mua, hoʻihoʻi ia i nā leka uila aloha āpau ma ke kāhea ʻana i ka getGmail hana, aʻu e kākau ai ma hope.

e ʻae i nā memo = getGmail ();

A laila, hoʻohana ia i ka SpreadsheetApp papa e kiʻi i ka pepa hana.

let curSheet = SpreadsheetApp.getActive();

ʻO ka hope, hoʻololi ka hana i nā memo āpau, me ka hoʻohui ʻana i nā ʻike i makemake ʻia mai kēlā me kēia i ka pāpalapala ma hope o ka hoʻouna ʻana i ka parseEmail hana a mākou e kākau ai.

messages.forEach(message => {curSheet.appendRow(parseEmail(message))});

Nui nā mea e hana nei i kēia pae hope, no laila e nānā kākou.

Mahalo memo in memo, loaʻa ka hana i ka pepa o kēia manawa, papa kuhikuhi.

A laila hoʻohana ʻo ia i kā Google appendRow ala e hoʻohui i kahi lālani i ka pepa. Lawe pinepine kēia ʻano hana i kahi mea array. Akā i kēia hihia, hāʻawi mākou i ka hopena o kahi hana ʻē aʻe, parseEmail, ʻo ia hoʻi, e hāʻawi i ka array pono.

getGmail

ka getGmail ʻO ka hana ka hana nui loa.

ʻO ka mea mua, hoʻonoho mākou i ka waiwai o kahi JavaScript mau i kapa ʻia ʻo "query" i kahi string huli Gmail.

const query = "mai:a@e.com AND kumuhana:Charity Example NOT label: done";

ʻO kēia kaula hulina ka mea āu e hoʻohana ai no ka huli holomua ma Gmail. E hoʻomaopopo mākou i ka helu "mai" a me ka leka uila "kumuhana." Hoʻomaopopo pū mākou ʻaʻole i hoʻokomo ʻia ka leka uila i ka lepili "hana".

Ua like ke kaula hulina me kahi hulina holomua ma Gmail.

Ua like ke kaula hulina me kahi hulina holomua ma Gmail.

A laila, hoʻohana mākou i kā Google GmailApp papa e holo i ka huli ma ka pahu komo o ka mea hoohana. ʻO ka hopena o ia ʻimi ʻana, ʻo ia nā pae āpau mai ke aloha me ke kumuhana kūpono.

let threads = GmailApp.search(query);

Inā nui nā memo ma kāu moʻokāki Gmail, hiki iā ʻoe ke loaʻa nā pūʻulu he ʻumi. E wikiwiki ana kēia i ka palapala.

let threads = GmailApp.search(query,0,10);

ʻO nā laina ʻelua e hiki mai ana o ka hana ke pale aku i ka leka uila mai ka hoʻohui ʻana i ʻelua manawa i kā mākou pālahalaha.

E hoʻomanaʻo, ma ka ʻimi hulina, ua kāpae mākou i nā memo me ka lepili "hana". No laila, hoʻohui mākou i ka lepili "hana" i nā memo a mākou i kiʻi hou ai. Ke holo ka palapala aʻe, e haʻalele ia i kēia mau memo.

Hoʻohana ka laina mua i kā Google getUserLabelByName ala e ʻimi ai i ka lepili "hana" a hāʻawi iā ia i ka "label". Inā ʻaʻole i loaʻa kēlā lepili i ka moʻokāki Gmail o ka mea hoʻohana, na ka laina aʻe e hana.

let label = GmailApp.getUserLabelByName("hana"); inā (!label) {label = GmailApp.createLabel("hana")}

ʻO ka ʻāpana hope o kēia hana e hōʻiliʻili i kēlā me kēia leka uila, hoʻohui iā ia i ka pūʻulu "message", a hoʻopaʻa inoa iā ia "hana."

threads.forEach(thread => {mess.push(thread.getMessages()[0].getPlainBody()); label.addToThread(thread);});

ʻO ka hope, hoʻihoʻi ka hana i nā ʻano memo.

hoʻihoʻi i nā leka;

ʻO ka mea i hoʻopau ʻia getGmail hana.

hana getGmail() { const query = "mai:roggio@yahoo.com A me kumuhana:Charity Example NOT label: done"; let threads = GmailApp.search(query); let label = GmailApp.getUserLabelByName("hana"); inā (!label) {label = GmailApp.createLabel("hana")} e ʻae i nā memo = []; threads.forEach(thread => {mess.push(thread.getMessages()[0].getPlainBody()); label.addToThread(thread);}); hoʻihoʻi i nā leka; }

parseEmail

ʻO ka hana hope loa e "parse" i ka leka uila a hoʻopili iā ia e kūpono i kā mākou pāpalapala.

Pono kēia hana e pili i ke ʻano kikokikona maʻalahi o ka memo. No laila, e nānā kākou i ka mea e hoʻouna mai ai ka pūnaewele aloha iā mākou.

lā: Pōʻa, ʻApelila 16, 2020 mua_inoa: Olga hope_name: Razcok leka uila: oraxcok@example.com kelepona: 202-456-1111 ip: 35.138.107.243 ʻōlelo: Makemake au e komo i kēia papahana. kala_makemake: ʻeleʻele

E hoʻohana wau i nā ʻōlelo maʻamau JavaScript e hoʻomaʻemaʻe a hoʻopololei i kēia kope memo. E hoʻohana wau iā Regex Pal, kahi mea hana maʻamau, e hoʻoholo ai i nā ʻōlelo e hana i kaʻu mea e pono ai.

Hōʻike ʻo Regex Pal iā ʻoe e ʻike i nā ʻāpana o ka kikokikona e pili ana i kahi ʻōlelo maʻamau.

Hōʻike ʻo Regex Pal iā ʻoe e ʻike i nā ʻāpana o ka kikokikona e pili ana i kahi ʻōlelo maʻamau.

E hoʻohana au i nā koma ma hope aku e hoʻokaʻawale i nā mea ma ka papa inoa. No laila e wehe au i nā koma i ka lā e pale ai i ka huikau.

lā: Poaha, April 16, 2020

E hoʻololi kēia ʻōlelo maʻamau i nā koma me kahi kaula ʻole, ʻaʻohe mea ʻole.

let parsed = memo.pani (/,/g,'')

I kēia hihia, ʻo "message" ka leka i hāʻawi ʻia i ka parseEmail hana mai ka e'ākoakoa hana aʻu i kākau mua ai.

He mana ka ʻōlelo maʻamau aʻe e like me ka wehe ʻana i ka hapa nui o nā huaʻōlelo laina hou (n) mai kā mākou leka uila kikokikona a holoi i nā huaʻōlelo āpau ma mua, me nā kolona.

No ka laʻana, e hoʻololi ʻo ia i ka "first_name: Olga" i ", Olga," (ʻae, ʻo ia kahi koma, kahi hakahaka, a me ka huaʻōlelo "Olga").

e hoʻokaʻawale = message.replace(/,/g,'')
    .replace(/n*.+:/g,',')

E waiho ka ʻanuʻu mua i kahi koma makemake ʻole ma mua o ka lā. No laila ka mea aʻe kuapo wehe 'ia ka olelo.

let parsed = message.replace(/,/g,'') .replace(/n*.+:/g,',')
    .replace(/^,/,'')

Aia nō ʻelua mau huaʻōlelo laina hou. Hoʻopau kēia ʻōlelo hou iā lākou.

let parsed = message.replace(/,/g,'') .replace(/n*.+:/g,',') .replace(/^,/,'')
    .replace(/n/g,'')

Loaʻa iā mākou kahi kaula i hoʻokaʻawale ʻia i ke koma e like me kēia:

Poaha ʻApelila 16 2020, Olga, Razcok, oraxcok@...

Hiki iā mākou ke hoʻololi i kēia i kahi ʻano me ka JavaScript i kūkulu ʻia hoʻokaʻawale hana.

let parsed = message.replace(/,/g,'') .replace(/n*.+:/g,',') .replace(/^,/,'') .replace(/n/g, '') .māhele(',');

I kēia manawa, ua hoʻokaʻawale ʻia kā mākou leka uila, inā makemake ʻoe, ma ke ʻano he array.

["Ka lā 16 ʻApelila 2020", "Olga", "Razcok", "oraxcok@..."]

Aneane hiki iā ʻoe ke kū i kēia manawa. Hoʻohui i kahi ʻōlelo hoʻihoʻi maʻalahi, a e hana ka palapala.

hoʻihoʻi i ka leka;

Aia nō naʻe kekahi hoʻomaikaʻi hou e hiki iā mākou ke hana. Aia i loko o ka leka uila ka ʻike a mākou e pono ʻole ai, e like me ka helu wahi o ka Internet protocol (IP) a ka mea hoʻouna a me kāna kala punahele.

ip: 35.138.107.243
kala_makemake: ʻeleʻele

Hiki iā mākou ke wehe i kēia mai kā mākou pūʻulu me palapala 'āina, ke ala hoʻonohonoho JavaScript. Eia ka hopena o ka palapala 'āina Hāʻawi ʻia ke ala i ka "hopena" hoʻololi.

let result = [0,1,2,3,4,6] .palapalapala(index => parsed [index]);

ʻOkoʻa kēia laina, no laila e lawe kākou i kēlā me kēia ʻāpana. ʻO ka mea mua, loaʻa iā mākou nā helu helu.

[0,1,2,3,4,6]

Hōʻike nā helu ma kēia ʻano i nā kūlana ma ka memo pūʻulu. E hoʻomanaʻo ʻo nā arrays he zero-based. Ke helu ʻoe i nā kūlana i kahi laha, hoʻomaka ʻoe ma ka ʻole.

  • Lā - kūlana 0
  • Ka inoa mua - kūlana 1
  • Ka inoa hope - kūlana 2
  • Email — kūlana 3
  • Kelepona — kūlana 4
  • IP — kūlana 5
  • Manaʻo - kūlana 6
  • Ka waihoʻoluʻu punahele - kūlana 7

ka palapala 'āina E lawe ke ala i kēlā me kēia helu i ka laha a hāʻawi iā ia i ka waiwai "index", e hana ana i kahi hui hou e hoʻemi i ka IP IP makemake ʻole a me ka ʻikepili kala punahele.

[0,1,2,3,4,6].palapala palapala(Index => hoʻopau ʻia [Index]);

Eia ka mea i hoʻopau ʻia parseEmail hana like me.

hana parseEmail(memo){ let parsed = message.replace(/,/g,'') .replace(/n*.+:/g,',') .replace(/^,/,'') .replace (/n/g,'') .split(','); let result = [0,1,2,3,4,6] .palapalapala(index => parsed [index]); hoʻihoʻi i ka hopena; }

E hoʻāʻo

Ke manaʻo nei ua hoʻouna ke aloha i kahi leka uila maʻalahi me ke ʻano like me ka mea i luna, ke kaomi ʻoe i ka mea papa inoa "E hōʻiliʻili i nā leka uila", e loaʻa iā ʻoe kahi lālani hou.

Hoʻohui ka palapala i kahi lālani i ka pāpalapala. E hoʻohui i kahi lālani no kēlā me kēia leka uila i hoʻouna ʻia e ke aloha i nā manawa a pau e kaomi ʻia ai ka mea papa inoa "E hōʻuluʻulu i nā leka uila".

nā Articles

0 Comments
Nā ʻōlelo Hoʻohui Kūʻai
E nānā i nā ʻōlelo āpau
E hoʻi i ke pihiʻaoʻao