2017-12-21 6 views
1

Ich habe Probleme beim Zugriff auf Google Text & Tabellen über ein Google Mail-Add-On.Zugriff auf Google Docs über das Google Mail-Add-On

Ich möchte bestimmte Google Docs-Dateien aus meinem Google Mail-Add-On kopieren und dann das neue Dokument bearbeiten. Ich bin in der Lage ein neues Dokument aus meiner Vorlage doc zu erstellen, mit:

var docTemplate="<DOCUMENT ID>"; 
    var docName = "Generated Document 123"; 
    var copyId = DriveApp.getFileById(docTemplate).makeCopy(docName).getId(); 

Allerdings, wenn ich versuche, die Datei zu öffnen, mit diesem Code:

var copyDoc = DocumentApp.openById(copyId); 

ich einen Fehler in der GMail erhalten hinzufügen -Auf Bereich sagen "Sie haben keine Berechtigung openById verlangen [line: 36, Funktion: getContextualAddOn, Datei: Code]"

ich habe diesen gleichen Code erfolgreich in Apps Script in Google Sheets verwendet, so Ich nehme an, dass ich meine Berechtigungen nicht korrekt eingerichtet habe.

In meinem Manifest-Datei, habe ich die oauthScopes Werte wie:

"oauthScopes": [ 
    "https://www.googleapis.com/auth/gmail.addons.execute", 
    "https://www.googleapis.com/auth/gmail.readonly", 
    "https://www.googleapis.com/auth/drive", 
    "https://www.googleapis.com/auth/script.external_request" 
    ] 

Der/Auth/Antrieb Genehmigung erlaubt es mir DriveApp.getFileById() zu nennen, aber was für unterschiedliche Erlaubnis kann ich DocumentApp anrufen müssen. openById()? Oder gibt es ein anderes Problem?

Alle Hinweise/Anleitung hier würde sehr geschätzt werden! diese

Antwort

1

hinzufügen: "https://www.googleapis.com/auth/documents"

Upvote wenn diese Antwort, die Sie geholfen ...

+0

Das Hinzufügen von "https://www.googleapis.com/auth/documents" zu meinen oAuthScopes hat es gelöst. Vielen Dank! (Mein Upvote wurde aufgezeichnet, aber nicht angezeigt.) –

+0

Ja, das bringt Sie über den Berechtigungsbereich hinaus. Ich bin danach auf einen weiteren Fehler gestoßen, der zu dem Punkt des Kommentars unten sprechen könnte. Wie hast du das gemacht? –

+1

Ich kann problemlos auf meine Dokumente (Google Docs) zugreifen. Zum Beispiel 'var doc = DocumentApp.create (myFileName);' –

1

Das in Using Apps Script services erwähnt wird:

Anders als die meisten anderen Arten von Apps Scripts, benutzerdefinierte Funktionen nie Fragen Sie Benutzer den Zugriff auf personenbezogene Daten zu autorisieren. Folglich können sie nur Dienste aufrufen, die Zugriff auf personenbezogene Daten nicht haben, insbesondere die folgenden:

> Kann nicht andere Tabellen öffnen (SpreadsheetApp.openById() oder SpreadsheetApp.openByUrl())