Apps Komut Dosyası projesi oluşturun

Google Formlar API'yi doğrudan REST çağrısı aracılığıyla çağırmak için bir Apps Komut Dosyası projesi oluşturmak oldukça kolaydır. Daha önce bir Google Cloud projesi yapılandırdığınızı varsayarsak aşağıdakileri yapın:

  1. Yeni bir Apps Komut Dosyası projesi oluşturun.
  2. İlişkili Google Cloud proje numarasını, Google Formlar API için etkinleştirdiğiniz projeyle eşleşecek şekilde değiştirin.
  3. Gerekli OAuth kapsamlarını eklemek için Manifest dosyasını (appsscript.json) düzenleyin.
  4. Bir OAuth jetonu getirmek ve jetonu kullanarak REST çağrısı yapmak için Apps Komut Dosyası kodunu ekleyin.

Bu adımlarla ilgili kısa bir açıklama aşağıda verilmiştir.

Yeni bir Apps Komut Dosyası projesi oluşturun ve yapılandırın

  1. GCP projenizi yapılandırdığınız Google kimliğini kullanarak Apps Komut Dosyası Kontrol Paneli'ne gidip Yeni proje'yi tıklayın.
  2. Projeniz açıldıktan sonra Proje Ayarları'nı tıklayın.
  3. Düzenleyicide "appsscript.json" manifest dosyasını göster onay kutusunu seçin.
  4. Google Cloud Platform (GCP) Projesi bölümünde Projeyi değiştir'i tıklayın ve Formlar API için yapılandırdığınız GCP proje numarasını girin.

Apps Komut Dosyası projeniz artık Google Formlar API'ye erişecek şekilde yapılandırılmıştır. Sonraki gerekli adım, doğru OAuth kapsamlarını eklemektir.

OAuth kapsamları ekleme

Apps Komut Dosyası'nda doğru kapsamlı bir OAuth jetonu oluşturmak için gerekli kapsamları, projenin manifest dosyasında ayarlamanız gerekir.

  1. Düzenleyicide appsscript.json öğesini açın.
  2. Kapsamları, manifestin gövdesine ekleyin.

    {
      ...
    "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. Projeyi kaydet'i tıklayın ve gerekirse söz dizimi hatalarını düzeltin. Artık projeniz REST çağrısıyla Google Formlar API'yi çağırabilir.

API'yi çağırmak için Apps Komut Dosyası kodunu ekleme

Bir formu çağırmak için kodu yazmadan önce, size ait olan yanıtları olan bir formu tanımlamanız ve form kimliğini not etmeniz gerekir. Form kimliğini, form düzenlerken URL'de bulabilirsiniz:

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

API'yi çağırmak için bir Apps Komut Dosyası UrlFetchApp çağrısı kullanırsınız.

  1. Code.gs dosyasını açın ve aşağıdaki kodu ekleyin:

    formlar-api/snippet'ler/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. YOUR_FORM_ID değerini daha önce not ettiğiniz değerle değiştirin.

    Örnek: var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';

  3. Projeyi kaydet'i tıklayın ve gerekirse söz dizimi hatalarını düzeltin.

Kodu test etme

  1. Çalıştır'ı tıklayın.
  2. Öncekiyle aynı Google kimliğini kullanarak projeyi gerektiği şekilde yetkilendirin.

İşlem başladıktan sonra Yürütme günlüğünde aşağıdakine benzer bir yanıt görürsünüz:

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

Sonraki adımlar

Apps Komut Dosyası ile API'yi başarılı bir şekilde çağırdıktan sonra referans belgelerini inceleyin ve API'ye başka çağrılar yapmayı deneyin.