Apps Script-Projekt einrichten

Das Einrichten eines Apps Script-Projekts zum direkten Aufrufen der Google Forms API über einen REST-Aufruf ist ganz einfach. Angenommen, Sie haben bereits ein Google Cloud-Projekt konfiguriert, gehen Sie so vor:

  1. Erstellen Sie ein neues Apps Script-Projekt.
  2. Ändern Sie die verknüpfte Google Cloud-Projektnummer so, dass sie mit dem Projekt übereinstimmt, das Sie für die Google Forms API aktiviert haben.
  3. Bearbeiten Sie die Manifestdatei (appsscript.json), um die erforderlichen OAuth-Bereiche hinzuzufügen.
  4. Fügen Sie Apps Script-Code hinzu, um ein OAuth-Token abzurufen und mit dem Token einen REST-Aufruf auszuführen.

Hier eine kurze Anleitung für diese Schritte:

Neues Apps Script-Projekt erstellen und konfigurieren

  1. Rufen Sie mit derselben Google-ID, mit der Sie Ihr GCP-Projekt konfiguriert haben, das Apps Script-Dashboard auf und klicken Sie dann auf Neues Projekt.
  2. Klicken Sie im geöffneten Projekt auf  Projekteinstellungen.
  3. Klicken Sie das Kästchen Manifestdatei „appsscript.json“ im Editor anzeigen an.
  4. Klicken Sie im Abschnitt Google Cloud Platform-Projekt (GCP) auf Projekt ändern und geben Sie die GCP-Projektnummer ein, die Sie für die Forms API konfiguriert haben.

Ihr Apps Script-Projekt ist jetzt für den Zugriff auf die Google Forms API konfiguriert. Im nächsten Schritt müssen Sie die richtigen OAuth-Bereiche hinzufügen.

OAuth-Bereiche hinzufügen

Wenn Sie in Apps Script ein OAuth-Token mit dem richtigen Umfang generieren möchten, müssen Sie die erforderlichen Bereiche in der Manifestdatei des Projekts festlegen.

  1. Öffnen Sie im Editor appsscript.json.
  2. Fügen Sie die Bereiche in den Body des Manifests ein.

    {
      ...
    "oauthScopes": [
        "https://www.googleapis.com/auth/script.external_request",
        "https://www.googleapis.com/auth/drive",
        "https://www.googleapis.com/auth/drive.readonly",
        "https://www.googleapis.com/auth/forms.body",
        "https://www.googleapis.com/auth/forms.body.readonly",
        "https://www.googleapis.com/auth/forms.responses.readonly"
      ],
     ...
     }
    
  3. Klicken Sie auf  „Projekt speichern“ und beheben Sie bei Bedarf alle Syntaxfehler. Ihr Projekt sollte jetzt die Google Forms API über einen REST-Aufruf aufrufen können.

Apps Script-Code zum Aufrufen der API hinzufügen

Bevor Sie den Code zum Aufrufen eines Formulars schreiben, müssen Sie ein Formular mit Antworten identifizieren und sich die Formular-ID notieren. Die Formular-ID finden Sie in der URL, wenn Sie das Formular bearbeiten:

https://docs.google.com/forms/d/<FORM_ID>/edit

Zum Aufrufen der API verwenden Sie einen Apps Script-UrlFetchApp-Aufruf.

  1. Öffnen Sie Code.gs und fügen Sie den folgenden Code hinzu:

    forms-api/snippets/retrieve_all_responses.gs
     function callFormsAPI() {
      console.log('Calling the Forms API!');
      var formId = '<YOUR_FORM_ID>';
    
      // Get OAuth Token
     var OAuthToken = ScriptApp.getOAuthToken();
     console.log('OAuth token is: ' + OAuthToken);
     var formsAPIUrl = 'https://forms.googleapis.com/v1/forms/' + formId + '/' + 'responses';
     console.log('formsAPIUrl is: ' + formsAPIUrl);
     var options = {
        'headers': {
          Authorization: 'Bearer ' + OAuthToken,
          Accept: 'application/json'
        },
        'method': 'get'
      };  
    var response = UrlFetchApp.fetch(formsAPIUrl, options);
     console.log('Response from forms.responses was: ' + response);
    }
  2. Ersetzen Sie YOUR_FORM_ID durch den zuvor notierten Wert.

    Beispiel: var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';

  3. Klicken Sie auf Projekt speichern und beheben Sie bei Bedarf alle Syntaxfehler.

Code testen

  1. Klicken Sie auf Ausführen.
  2. Autorisieren Sie das Projekt nach Bedarf mit derselben Google-ID wie zuvor.

Nach dem Start sollte im Ausführungsprotokoll eine Antwort ähnlich der folgenden angezeigt werden:

Execution started
Calling the Forms API!
OAuth token is: ya29.a0ARrdaM8IMjtlv…
formsAPIUrl is: https://forms.googleapis.com/v1beta/forms/…/responses
Response from Forms.responses was: {
"responses": [
    {
      "responseId":"...",
      "createTime": "2021-03-25T01:23:58.146Z",
      "lastSubmittedTime": "2021-03-25T01:23:58.146607Z",
      "answers": {
        "1e9b0ead": {
          "questionId": "1e9b0ead",
          "textAnswers": {
            "answers": [
              {
                "value": "Red"
              }
            ]
          }
        },
        "773ed8f3": {
          "questionId": "773ed8f3",
          "textAnswers": {
            "answers": [
              {
                "value": "Tesla"
              }
            ]
          }
        }
      }
    }
  ]
}
Execution completed

Nächste Schritte

Nachdem Sie die API mit Apps Script erfolgreich aufgerufen haben, lesen Sie die Referenzdokumentation und führen Sie weitere API-Aufrufe aus.