Guide for developing apps for Gmail


Develop locally using clasp



From https://gitlab.com/powr/powr-gmail-integration's Readme


Widgets


Signing in into POWr using Oauth2



const readline = require("readline");
const fs = require("fs");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const template = {
timeZone: "Pacific/Pago_Pago",
dependencies: {},
oauthScopes: [
"https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
"https://www.googleapis.com/auth/gmail.addons.current.action.compose",
"https://www.googleapis.com/auth/gmail.addons.execute",
"https://www.googleapis.com/auth/script.external_request"
],
urlFetchWhitelist: ["https://www.powr.io/"],
gmail: {
name: "POWr for Gmail 🌟✉️🌟",
logoUrl:
"https://s3-us-west-1.amazonaws.com/powr/powr_logos/POWr-Badge-500x500.png",
primaryColor: "#5287DF",
secondaryColor: "#5287DF",
openLinkUrlPrefixes: ["https://www.powr.io/"],
composeTrigger: {
selectActions: [
{
text: "Add POWr Plugin",
runFunction: "run"
}
],
draftAccess: "METADATA"
}
}
};
rl.question(
"Please enter your ngrock url (for example 'https://d6a799de.ngrok.io') => ",
nkrockUrl => {
const data = `var baseUrl = "${nkrockUrl}";`;
fs.writeFileSync("baseUrl.js", data);
template.urlFetchWhitelist.push(nkrockUrl + "/");
template.gmail.openLinkUrlPrefixes.push(nkrockUrl + "/");
fs.writeFileSync("appsscript.json", JSON.stringify(template, null, 2));
rl.close();
}
);


More details here: https://gitlab.com/powr/powr-gmail-integration
Developing apps for Gmail
By Sergey Tyan
Developing apps for Gmail
- 6