Fehlerbehebung

Selbst der erfahrene Entwickler schreibt Code selten richtig auf der ersten die Fehlerbehebung zu einem wichtigen Bestandteil des Entwicklungsprozesses machen. In In diesem Abschnitt geht es um Techniken, die Ihnen helfen können, Fehler in Ihren Skripts zu beheben.

Fehlermeldungen

Wenn in Ihrem Skript ein Fehler auftritt, wird eine Fehlermeldung angezeigt. Die Nachricht wird eine Zeilennummer für die Fehlerbehebung angezeigt. Es gibt zwei grundlegende Fehlertypen: Syntaxfehler und Laufzeitfehler.

Syntaxfehler

Syntaxfehler werden durch das Schreiben von Code verursacht, der nicht den JavaScript- und die Fehler werden erkannt, sobald Sie versuchen, das Skript zu speichern. Das folgende Code-Snippet enthält beispielsweise einen Syntaxfehler:

function emailDataRow(rowNumber) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var rowData = data[rowNumber-1].join(" ";
  MailApp.sendEmail('john@example.com',
                    'Data in row ' + rowNumber,
                    rowData);
}

Das Syntaxproblem hier ist ein fehlendes )-Zeichen am Ende des vierten Zeichens Zeile. Wenn Sie versuchen, das Skript zu speichern, erhalten Sie folgende Fehlermeldung:

Fehlendes ")"-Zeichen nach Argumentliste (Zeile 4)

Diese Fehlertypen sind in der Regel einfach zu beheben, da sie und haben in der Regel einfache Ursachen. Sie können Folgendes nicht speichern: die Syntaxfehler enthält, d. h., dass nur gültiger Code in für Ihr Projekt.

Laufzeitfehler

Diese Fehler werden durch falsche Verwendung einer Funktion oder Klasse verursacht und können nach der Skriptausführung erkannt werden. Der folgende Code verursacht einen Laufzeitfehler:

function emailDataRow(rowNumber) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var rowData = data[rowNumber-1].join(" ");
  MailApp.sendEmail('john',
                    'Data in row ' + rowNumber,
                    rowData);
}

Der Code ist richtig formatiert, aber wir übergeben den Wert „john“. für die E-Mail-Adresse beim Anruf bei MailApp.sendEmail. Da dies kein gültige E-Mail-Adresse wird beim Ausführen des Skripts der folgende Fehler ausgegeben:

Ungültige E-Mail-Adresse: max (Zeile 5)

Die Behebung dieser Fehler erschwert die Behebung des Problems, an eine Funktion übergeben wird, nicht im Code geschrieben, sondern aus einer Tabelle, einem Formular oder einer anderen externen Datenquelle. Debugging verwenden können Sie die Ursache dieser Fehler ermitteln.

Häufige Fehler

Im Folgenden finden Sie eine Liste mit häufigen Fehlern und ihren Ursachen.

Dienst zu oft aufgerufen: <Aktionsname>

Dieser Fehler gibt an, dass Sie Ihr Tageskontingent für eine bestimmte Aktion überschritten haben. Dieser Fehler kann beispielsweise auftreten, wenn Sie zu viele E-Mails in einem an einem Tag. Die Kontingente sind auf verschiedenen Ebenen für Nutzer, Domain und Premium-Konten. Diese können sich jederzeit ohne vorherige . Die Kontingentlimits für verschiedene Aktionen finden Sie in der Dokumentation zu Apps Script-Kontingenten

Der Server ist nicht verfügbar. oder Ein Serverfehler ist aufgetreten. Bitte versuchen Sie es noch einmal.

Für diese Fehler gibt es mehrere mögliche Ursachen:

  • Ein Google-Server oder -System ist vorübergehend nicht verfügbar. Einen Moment warten und versuchen Sie, das Skript erneut auszuführen.
  • Ihr Skript enthält einen Fehler, für den es keinen entsprechenden Fehler gibt angezeigt. Versuchen Sie, den Fehler in Ihrem Skript zu beheben. So können Sie das Problem eingrenzen.
  • Dieser Fehler wird durch einen Programmfehler in Google Apps Script verursacht. Für Anleitungen zum Suchen und Einreichen von Fehlerberichten finden Sie in der Programmfehler. Bevor Sie einen neuen Fehler melden, suchen Sie um zu sehen, ob es bereits von anderen Nutzern gemeldet wurde.

Zum Ausführen dieser Aktion ist eine Autorisierung erforderlich.

Dieser Fehler weist darauf hin, dass dem Skript die erforderliche Autorisierung zum Ausführen fehlt. Wenn ein Skript im Skripteditor oder über einen benutzerdefinierten Menüpunkt ausgeführt wird, Das Dialogfeld für die Autorisierung wird dem Nutzer angezeigt. Wenn jedoch ein Skript ausgeführt wird, über einen Trigger, in eine Google Sites-Seite eingebettet oder als Service ausgeführt, kann nicht angezeigt werden und dieser Fehler wird angezeigt.

Um das Skript zu autorisieren, öffnen Sie den Skripteditor und führen Sie eine beliebige Funktion aus. Die wird eine Autorisierungsaufforderung angezeigt, damit Sie das Skriptprojekt autorisieren können. Wenn die Skript neue nicht autorisierte Dienste enthält, müssen Sie es erneut autorisieren.

Dieser Fehler wird häufig durch Trigger, die ausgelöst werden, bevor Nutzer autorisiert hat. Wenn Sie keinen Zugriff auf das Skriptprojekt haben weil der Fehler bei einem Add-on auftritt, das Sie verwenden, können Sie das Skript in der Regel mit dem Add-on autorisieren, noch einmal. Wenn ein Trigger weiterhin ausgelöst wird und diesen Fehler verursacht, können Sie den wie folgt ausgelöst:

  1. Klicken Sie links neben dem Apps Script-Projekt auf Trigger .
  2. Klicken Sie rechts neben dem Trigger, den Sie entfernen möchten, auf das Dreipunkt-Menü . &gt; Trigger löschen.

Sie können problematische Add-on-Trigger auch entfernen: Deinstallieren Sie das Add-on.

Zugriff verweigert: DriveApp oder Drive-Apps von Drittanbietern wurden aufgrund der Domainrichtlinien deaktiviert

Administratoren von Google Workspace Domains haben die die Möglichkeit, den Modus Drive API für die Domain, die verhindert, dass Nutzer beim Installieren und Verwenden von Google Drive-Apps. Außerdem wird verhindert, dass Nutzer Apps Script-Add-ons nicht mehr nutzen können, Google Drive-Dienst oder Erweiterter Google Drive-Dienst Dies gilt auch dann, wenn das Skript autorisiert wurde, bevor der Administrator die Drive API deaktiviert hat.

Wenn jedoch ein Add-on oder eine Webanwendung, die Google Drive verwendet, domainweite Installation und wird vom Administrator für einige oder alle Nutzer in der Domain installiert, Skript-Funktionen für diese Nutzer, selbst wenn die Drive API im .

Das Skript ist nicht berechtigt, die Identität des aktiven Nutzers abzurufen.

Gibt an, dass die Identität und E-Mail-Adresse des aktiven Nutzers für den . Diese Warnung ergibt sich aus einem Aufruf von Session.getActiveUser() Er kann auch aus einem Aufruf an Session.getEffectiveUser() Das Skript wird in einem anderen Autorisierungsmodus als AuthMode.FULL Wenn diese Warnung angezeigt wird, werden nachfolgende Aufrufe von User.getEmail() gibt nur „“ zurück.

Es gibt verschiedene Möglichkeiten, diese Warnung zu beheben. Autorisierungsmodus, in dem das Skript ausgeführt wird. Der Autorisierungsmodus ist in ausgelösten Funktionen als authMode-Eigenschaft von e Ereignisparameter:

  • In AuthMode.FULL können Sie Folgendes verwenden: Session.getEffectiveUser() .
  • Achten Sie in AuthMode.LIMITED darauf, dass der Eigentümer das Skript autorisiert hat.
  • Vermeiden Sie es bei anderen Autorisierungsmodi, eine der beiden Methoden aufzurufen.
  • Wenn Sie als Google Workspace Kunde erst seit Kurzem wenn diese Warnung aufgrund eines installierbaren Trigger festlegen, wird der Trigger als Nutzer in Ihrer Organisation ausgeführt.

Mediathek fehlt

Wenn du deinem Skript eine beliebte Bibliothek hinzufügst, erhalten Sie möglicherweise eine Fehlermeldung, dass es fehlt, obwohl die Bibliothek als Abhängigkeit für in Ihrem Skript. Möglicherweise greifen zu viele Personen auf die Bibliothek zu. gleichzeitig. Um diesen Fehler zu vermeiden, versuchen Sie eine der folgenden Lösungen:

  • Kopieren Sie den Code der Bibliothek, fügen Sie ihn in Ihr Skript ein und entfernen Sie die Bibliothek. Abhängigkeit.
  • Kopieren Sie das Bibliotheksskript und stellen Sie es als Bibliothek aus Ihrem Konto bereit. Achten Sie darauf, , um die Abhängigkeit im ursprünglichen Skript auf die neue Bibliothek zu aktualisieren statt der öffentlichen.

Ein Fehler ist aufgrund einer fehlenden Bibliotheks- oder Bereitstellungsversion aufgetreten. Fehlercode „Not_Found“

Diese Fehlermeldung deutet auf einen der folgenden Fälle hin:

  • Die bereitgestellte Version des Skripts wurde gelöscht. So aktualisieren Sie die bereitgestellte -Version Ihres Skripts, erhalten Sie unter Versionierte Bereitstellung.
  • Die vom Skript verwendete Version einer Bibliothek wurde gelöscht. Um zu prüfen, welche Bibliothek fehlt, klicken Sie neben dem Namen der Bibliothek auf Mehr &gt; In neuem Tab öffnen. Die fehlende Bibliothek wird eine Fehlermeldung angezeigt. Wenn du die Bibliothek gefunden hast, die du aktualisieren möchtest, eine der folgenden Aktionen ausführen: <ph type="x-smartling-placeholder">
      </ph>
    • Aktualisieren Sie die Bibliothek, um eine andere Version zu verwenden. Weitere Informationen finden Sie unter Aktualisieren eines Bibliothek.
    • Entfernen Sie die gelöschte Bibliothek aus Ihrem Skriptprojekt und -code. Weitere Informationen finden Sie unter Mediathek entfernen
  • Das Skript einer Bibliothek, die Ihr Skript verwendet, enthält ein anderes die eine gelöschte Version verwendet. Führen Sie eine der folgenden Aktionen aus: <ph type="x-smartling-placeholder">
      </ph>
    • Wenn Sie Bearbeitungszugriff auf die von Ihrem Skript verwendete Bibliothek haben, aktualisieren Sie das der sekundären Bibliothek in diesem Skript auf eine vorhandene Version.
    • Aktualisieren Sie die Bibliothek, um eine andere Version zu verwenden. Weitere Informationen finden Sie unter Aktualisieren eines Bibliothek.
    • Entfernen Sie die Bibliothek aus Ihrem Skriptprojekt und ‐code. Weitere Informationen finden Sie unter Mediathek entfernen

Error 400: invalid_scope beim Aufrufen der Google Chat API mit dem erweiterten Dienst

Wenn Error 400: invalid_scope mit der Fehlermeldung angezeigt wird Some requested scopes cannot be shown, dass Sie keine Autorisierungsbereiche in der Datei appsscript.json des Apps Script-Projekts. In den meisten Fällen Apps Script bestimmt automatisch, welche Bereiche ein Skript benötigt, Wenn Sie den erweiterten Chat-Dienst verwenden, müssen Sie jedoch die Autorisierungsbereiche, die das Skript für Ihre Manifestdatei des Apps Script-Projekts. Weitere Informationen finden Sie unter Explizite Bereiche festlegen

Fügen Sie die entsprechenden Autorisierungsbereiche hinzu, um den Fehler zu beheben in die Datei appsscript.json des Apps Script-Projekts als Teil von Das Array oauthScopes. Um zum Beispiel die spaces.messages.create fügen Sie Folgendes hinzu:

"oauthScopes": [
  "https://www.googleapis.com/auth/chat.messages.create"
]

Debugging

Nicht alle Fehler führen zu einer Fehlermeldung. Möglicherweise gibt es eine Fehler, bei denen der Code technisch korrekt ist und ausgeführt werden kann, Ergebnisse nicht Ihren Erwartungen entsprechen. Hier sind einige Strategien für den Umgang mit solchen und ein Skript, das nicht so ausgeführt wird, zu erwarten ist.

Logging

Bei der Fehlerbehebung ist es oft hilfreich, Informationen als Skriptprojekt aufzuzeichnen. ausgeführt wird. Google Apps Script bietet zwei Methoden zur Protokollierung von Informationen: Cloud Logging-Dienst und die einfacheren Protokollierungs- und Konsolendienste die im Apps Script-Editor integriert sind.

Weitere Informationen finden Sie im Leitfaden für die Protokollierung.

Error Reporting

Ausnahmen, die aufgrund von Laufzeitfehlern auftreten, werden automatisch ausgeführt. mit dem Google Cloud Error Reporting-Dienst erfasst wurden. Mit diesem Dienst können Sie Ausnahmemeldungen suchen und filtern, die Ihr Skriptprojekt erstellt.

Informationen zum Zugriff auf Error Reporting finden Sie unter Cloud-Logs und Fehlerberichte ansehen in der Google Cloud Platform Console

Ausführungen

Jedes Mal, wenn Sie ein Skript ausführen, zeichnet Apps Script die Ausführung, einschließlich der Cloud-Logs. Anhand dieser Einträge können Sie ermitteln, Aktionen, die Ihr Skript ausgeführt hat.

Die Ausführungen Ihres Skripts finden Sie in der Apps Script-Projekt auf der linken Seite auf Ausführungen.

Apps Script-Dienststatus prüfen

Seltene, manchmal spezifische Google Workspace- (z. B. Gmail oder Drive) vorübergehende Probleme auftreten, die zu Dienstausfällen führen können. Wenn diese App Script-Projekte, die mit diesen Diensten interagieren, wie erwartet.

Sie können prüfen, ob ein Google Workspace-Dienst vorhanden ist angezeigt wird, Google Workspace-Status-Dashboard Wenn ein Ausfall warten Sie entweder auf die Behebung des Problems oder weitere Hilfe im Google Workspace-Hilfe oder die Bekannte Probleme in Google Workspace Dokumentation.

Debugger und Haltepunkte verwenden

Wenn Sie in Ihrem Script Probleme finden möchten, können Sie es im Debug-Modus ausführen. Bei Ausführung in im Debug-Modus angehalten wird, wenn es einen Breakpoint erreicht. Das ist eine Zeile, die im Skript markiert sind, die Ihrer Meinung nach ein Problem haben könnte. Wenn ein Skript pausiert die Anzeige den Wert jeder Variablen zu einem bestimmten Zeitpunkt anzeigen, sodass Sie die Funktionsweise eines Skripts kennen, ohne viele Logging-Anweisungen hinzufügen zu müssen.

Haltepunkt hinzufügen

Um einen Haltepunkt hinzuzufügen, bewegen Sie die Maus über die Zeilennummer der Zeile, der Sie den den Haltepunkt hinzu. Klicken Sie links neben der Zeilennummer auf den Kreis. Die folgenden Beispiel für einen Haltepunkt in einem Skript:

Haltepunkt hinzufügen

Skript im Debug-Modus ausführen

Wenn Sie das Skript im Debug-Modus ausführen möchten, klicken Sie oben im Editor auf Fehler beheben.

Bevor das Skript die Zeile mit dem Breakpoint ausführt, pausiert es und zeigt eine Tabelle mit Informationen zur Fehlerbehebung. Sie können diese Tabelle verwenden, um Daten wie die folgenden zu überprüfen: -Werte von Parametern und den in Objekten gespeicherten Informationen.

Wenn Sie festlegen möchten, wie das Skript ausgeführt wird, „Step In“, „Step-over“ und „Step Out“ Schaltflächen. Damit können Sie die Erstellen Sie zeilenweise das Script und untersuchen Sie, wie sich die Werte im Laufe der Zeit ändern.

Probleme mit mehreren Google-Konten

Wenn du in mehreren Google-Konten gleichzeitig angemeldet bist, haben Probleme beim Zugriff auf Ihre Add-ons und Web-Apps. Mehrfachanmeldung oder gleichzeitige Anmeldung in mehreren Google-Konten, wird für Apps nicht unterstützt. Skripts, Add-ons oder Web-Apps

  • Wenn Sie den Apps Script-Editor öffnen, während Sie in mehreren Konten angemeldet sind, gilt Folgendes: Aufforderungen von Google wählen Sie das gewünschte Konto aus.

  • Wenn Sie eine Webanwendung oder ein Add-on öffnen und Probleme mit der Mehrfachanmeldung auftreten, versuchen Sie Folgendes: folgende Lösungen:

    • Melden Sie sich von allen Google-Konten ab und melden Sie sich nur in dem Konto mit dem das Add-on oder die Web-App, auf die Sie zugreifen möchten.
    • Öffnen Sie in Google Chrome ein Inkognitofenster oder ein ähnliches privates Surfen. und melden Sie sich in dem Google-Konto an, in dem sich das Add-on oder die Web-App befindet. auf die Sie zugreifen möchten.

Hilfe erhalten

Das Beheben eines Problems mit den oben aufgeführten Tools und Techniken kann eine Es kann aber auch zu Problemen kommen, die einige zu unterstützen. Weitere Informationen finden Sie auf unserer Supportseite für wo Fragen gestellt und Fehler gemeldet werden können.