2017-01-18 4 views
0

Ich habe ein apps-Skript erstellt, das einen einfachen Seriendruck unter Verwendung der Kontaktdaten ausführt, um einen neuen E-Mail-Entwurf zu erstellen. Es funktioniert wie erwartet, aber ich möchte die Signatur des aktuellen Benutzers in der Vorlage verwenden.Apps Script, um die Signatur des Benutzers zu erhalten

Die Dokumentation dazu ist veraltet und unvollständig. Ich habe den untenstehenden Code aus dem, was ich gefunden habe, erstellt, musste aber insgesamt abschätzen, was er braucht, weil ich die offizielle Dokumentation nicht finden kann.

var params; 
params = {method:"post", 
      contentType: "application/json", 
      headers: {"Authorization": "Bearer " + ScriptApp.getOAuthToken()}, 
      muteHttpExceptions:true 
     }; 

var resp = UrlFetchApp.fetch("https://apps-apis.google.com/a/feeds/emailsettings/2.0/{domain}/me/signature", params); 
var rCode = resp.getResponseCode(); 
var rText = resp.getContentText(); 

Dies ist die Antwort:

rCode = 400 
rText = Invalid request URI 

Was ist der richtige Anforderungs-URI? Gibt es dafür eine neue API?

Antwort

2

Google Mail-Signaturen sind jetzt über die Google Mail-API zugänglich. Ich habe unten einen Liner hinzugefügt, um die Signatur des aktuellen Benutzers zu erhalten. Ich habe list anstelle von get verwendet, weil ein Benutzer E-Mail standardmäßig als einen anderen Benutzer als ihr angemeldetes Konto senden kann. Also ich list alle Konten und filtern Sie die Standard-Konten.

https://developers.google.com/gmail/api/v1/reference/users/settings/sendAs

var signature = Gmail.Users.Settings.SendAs.list("me").sendAs.filter(function(account){if(account.isDefault){return true}})[0].signature; 
+0

dachte ich, es eine Möglichkeit hatte, es zu tun, aber Google-Suche brachte mich nicht auf 'Einstellungen/sendAs'. – davids

+0

Ja, es ist ziemlich neu, also deuten die meisten Links wahrscheinlich immer noch auf die abgeschriebene API hin. –

+0

Wissen Sie, ob die neue API dem apps-Skript das Senden eines Entwurfs ermöglicht, ohne den Entwurfskörper vor dem Senden in eine neue E-Mail zu kopieren? Ich möchte einen Entwurf senden, ohne einen neuen Thread zu erstellen. – davids

Verwandte Themen