Apps Script-Projekt einrichten

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

  1. Erstellen Sie ein neues Apps Script-Projekt.
  2. Ändern Sie die zugeordnete 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 finden Sie 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 auf Neues Projekt.
  2. Klicken Sie nach dem Öffnen des Projekts auf die Projekteinstellungen.
  3. Aktivieren Sie das Kästchen Manifestdatei „appsscript.json“ im Editor anzeigen.
  4. Klicken Sie im Abschnitt Google Cloud Platform (GCP)-Projekt 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 Text 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 korrigieren Sie bei Bedarf alle Syntaxfehler. Ihr Projekt sollte jetzt in der Lage sein, die Google Forms API über einen REST-Aufruf aufzurufen.

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 auswählen, das Ihnen gehört, und 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 UrlFetchApp-Aufruf in Apps Script.

  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!');
      const formId = '<YOUR_FORM_ID>';
    
      // Get OAuth Token
     const OAuthToken = ScriptApp.getOAuthToken();
     console.log('OAuth token is: ' + OAuthToken);
     const formsAPIUrl = 'https://forms.googleapis.com/v1/forms/' + formId + '/' + 'responses';
     console.log('formsAPIUrl is: ' + formsAPIUrl);
     const options = {
        'headers': {
          Authorization: 'Bearer ' + OAuthToken,
          Accept: 'application/json'
        },
        'method': 'get'
      };  
    const response = UrlFetchApp.fetch(formsAPIUrl, options);
     console.log('Response from forms.responses was: ' + response);
    }
  2. Ersetzen Sie YOUR_FORM_ID durch den Wert, den Sie zuvor notiert haben.

    Beispiel: var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';

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

Code testen

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

Nach dem Start sollte im Ausführungsprotokoll eine Antwort wie diese 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, können Sie in der Referenzdokumentation nachlesen und mit anderen API-Aufrufen experimentieren.