Apps Komut Dosyası projesi oluşturun

Google Formlar API'sini doğrudan bir REST çağrısıyla çağırmak için Apps Komut Dosyası projesi oluşturmak birkaç adım gerektirir. Google Cloud projesi yapılandırdığınızı varsayarak aşağıdakileri yapın:

  1. Yeni bir Apps Komut Dosyası projesi oluşturun.
  2. İlişkili Google Cloud proje numarasını, Forms 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. OAuth jetonu getirmek ve jetonu kullanarak REST çağrısı yapmak için Apps Komut Dosyası kodu ekleyin.

Yeni bir Apps Komut Dosyası projesi oluşturma ve yapılandırma

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

Apps Komut Dosyası projeniz artık Forms API'ye erişecek şekilde yapılandırılmıştır. Bir sonraki zorunlu adım, uygun OAuth kapsamlarını eklemektir.

OAuth kapsamları ekleme

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

  1. Düzenleyicide appsscript.json simgesini 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. Projeniz artık REST çağrısı kullanarak Forms API'yi çağırabilir.

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

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

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çıp aşağıdaki kodu ekleyin:

    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. 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. Projeyi gerektiği gibi, daha önce kullandığınız Google Hesabı ile yetkilendirin.

Başladıktan sonra Execution log'da şuna 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

API'yi Apps Komut Dosyası ile başarıyla çağırdıktan sonra referans belgelerine göz atın ve API'ye başka çağrılar yapmayı deneyin.