Google Forms API는 양식과 퀴즈를 만들고 수정하고, 양식 응답과 퀴즈 성적을 가져오고, 자동 피드백으로 퀴즈 답안 키를 설정하고, 푸시 알림을 수신할 수 있는 RESTful 인터페이스입니다. 이 API의 가장 일반적인 용도에는 다음 작업이 포함됩니다.
- 양식 또는 퀴즈 만들기
- 양식 또는 퀴즈 업데이트
- 양식 또는 퀴즈에서 응답 가져오기
- 양식 콘텐츠 및 메타데이터 읽기
- 푸시 알림 설정 및 수신
다음은 Forms API에서 사용되는 일반적인 용어의 목록입니다.
- 양식
Drive에서 생성되고 저장된 Google 양식 문서입니다. 각 양식은
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"
}
]
}
}
}
}
]
}
다음 단계
- 인증 및 승인 처리를 비롯하여 Google Workspace API로 개발하는 방법을 알아보려면 Workspace 개발자로 시작하기를 참고하세요.
- 간단한 Forms API 앱을 구성하고 실행하는 방법은 빠른 시작 개요를 참고하세요.