개요

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"
              }
            ]
          }
        }
      }
    }
  ]
}

다음 단계