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로 업데이트하는 방법으로만 만들 수 있습니다.
- 항목
- 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"
              }
            ]
          }
        }
      }
    }
  ],
  "publishSettings" : {
    "isPublished": true,
    "isAcceptingResponses": true
  }
}
다음 단계
- 인증 및 승인 처리를 비롯한 Google Workspace API를 사용한 개발에 대해 알아보려면 Workspace 개발자 시작하기를 참고하세요.
- 기본 Forms API 앱을 구성하고 실행하는 방법을 알아보려면 빠른 시작 개요를 참고하세요.