개요

Google Forms API는 양식과 퀴즈를 만들고 수정하고, 양식 응답과 퀴즈 성적을 가져오고, 자동 피드백이 포함된 퀴즈 답변 키를 설정하고, 푸시 알림을 수신할 수 있는 RESTful 인터페이스입니다. 이 API의 가장 일반적인 용도는 다음과 같습니다.

  • 양식 또는 퀴즈 만들기
  • 양식 또는 퀴즈 업데이트
  • 양식 또는 퀴즈에서 응답 가져오기
  • 양식 콘텐츠 및 메타데이터 읽기
  • 푸시 알림 설정 및 수신

다음은 Forms API에서 사용되는 일반적인 용어 목록입니다.

양식

Drive에 생성되어 저장된 Google Forms 문서. 각 형식은 Form 리소스로 표시되며 문자, 숫자, 하이픈, 밑줄이 포함된 고유한 formId 값을 갖습니다. Google Forms URL에서 양식 ID를 확인할 수 있습니다.

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

퀴즈

답변 키에 따라 양식 응답을 평가할 수 있는 특정 유형의 Google Forms 문서입니다. 퀴즈는 batchUpdate() 메서드를 사용하여 기존 양식의 isQuiz 설정을 true로 업데이트하는 방법으로만 만들 수 있습니다.

평가
질문의 점수, 답안, 의견으로, isQuiztrue일 때 적용됩니다. Grading 리소스로 표현됩니다.
의견
퀴즈의 질문에 응답할 때 최종 사용자에게 제공되는 응답으로, Feedback 리소스로 표시됩니다.
항목

양식의 단일 요소로, Item 리소스로 표현됩니다. Item는 섹션, 질문 그룹, 질문, 텍스트, 이미지 또는 동영상을 포함할 수 있는 반복되는 요소입니다.

질문

양식의 단일 질문으로, Question 리소스로 표시됩니다.

질문 그룹

가능한 답변 집합이 모두 동일한 질문 그룹 (예: 1~5점의 평점 그리드) QuestionGroupItem 리소스로 표현됩니다.

Section

섹션은 양식을 여러 페이지로 나누고 조건부 로직을 추가하는 방법입니다 (예: 사용자의 답변에 따라 특정 질문만 표시). 섹션은 PageBreakItem 리소스에 해당합니다.

답변

질문에 대한 최종 사용자의 답변으로, Answer 리소스로 표시됩니다. 성적 정보 (있는 경우), 메타데이터 및 답변 내용이 모두 포함됩니다.

응답

FormResponse 리소스로 표시되는 최종 사용자의 양식 제출입니다.

워치

양식 스키마 변경사항 (예: 질문 수정) 또는 양식 응답 제출의 변경사항을 추적하고 변경사항이 발생하면 푸시 알림을 전송하는 트리거입니다. Watch 리소스로 표현됩니다.

양식 구조

양식과 퀴즈를 관리할 때 여러 양식 객체가 여러 방식으로 서로 중첩될 수 있으므로 여러 필드를 지정하는 방법을 이해하는 것이 복잡할 수 있습니다. 양식의 시각적 표현이 필드에 어떻게 매핑되는지 확인하려면 UI를 사용하여 애플리케이션에서 생성할 수 있는 몇 가지 형식의 예를 만드는 것이 좋습니다. 그런 다음 비교할 수 있도록 forms.get() 메서드를 사용하여 해당 JSON을 검색합니다. 예를 들어 이 퀴즈 예시는 다음 JSON에 해당합니다.

{
  "formId": "FORM_ID",
  "info": {
    "title": "Famous Black Women",
    "description": "Please complete this quiz based off of this week's readings for class.",
    "documentTitle": "API Example Quiz"
  },
  "settings": {
    "quizSettings": {
      "isQuiz": true
    }
  },
  "revisionId": "00000021",
  "responderUri": "https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform",
  "items": [
    {
      "itemId": "5d9f9786",
      "imageItem": {
        "image": {
          "contentUri": "DIRECT_URL",
          "properties": {
            "alignment": "LEFT"
          }
        }
      }
    },
    {
      "itemId": "72b30353",
      "title": "Which African American woman authored \"I Know Why the Caged Bird Sings\"?",
      "questionItem": {
        "question": {
          "questionId": "25405d4e",
          "required": true,
          "grading": {
            "pointValue": 2,
            "correctAnswers": {
              "answers": [
                {
                  "value": "Maya Angelou"
                }
              ]
            }
          },
          "choiceQuestion": {
            "type": "RADIO",
            "options": [
              {
                "value": "Maya Angelou"
              },
              {
                "value": "bell hooks"
              },
              {
                "value": "Alice Walker"
              },
              {
                "value": "Roxane Gay"
              }
            ]
          }
        }
      }
    },
    {
      "itemId": "0a4859c8",
      "title": "Who was the first Dominican-American woman elected to state office?",
      "questionItem": {
        "question": {
          "questionId": "37fff47a",
          "grading": {
            "pointValue": 2,
            "correctAnswers": {
              "answers": [
                {
                  "value": "Grace Diaz"
                }
              ]
            }
          },
          "choiceQuestion": {
            "type": "RADIO",
            "options": [
              {
                "value": "Rosa Clemente"
              },
              {
                "value": "Grace Diaz"
              },
              {
                "value": "Juana Matias"
              },
              {
                "value": "Sabrina Matos"
              }
            ]
          }
        }
      }
    }
  ]
}

다음 단계

  • 인증 및 승인 처리를 포함하여 Google Workspace API를 사용한 개발에 대해 자세히 알아보려면 Workspace 개발자로 시작하기를 참조하세요.
  • 간단한 Forms API 앱을 구성하고 실행하는 방법은 빠른 시작 개요를 참고하세요.