REST Resource: forms

Referensi: Formulir

Dokumen Google Formulir. Formulir dibuat di Drive, dan menghapus formulir atau mengubah perlindungan aksesnya dilakukan melalui Drive API.

Representasi JSON
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
Kolom
formId

string

Hanya output. ID formulir.

info

object (Info)

Wajib. Judul dan deskripsi formulir.

settings

object (FormSettings)

Setelan formulir. Nama ini harus diperbarui dengan UpdateSettingsRequest; dan akan diabaikan selama forms.create dan UpdateFormInfoRequest.

items[]

object (Item)

Wajib. Daftar item formulir, yang dapat mencakup header bagian, pertanyaan, media tersemat, dll.

revisionId

string

Hanya output. ID revisi formulir. Digunakan di WriteControl dalam permintaan update untuk mengidentifikasi revisi yang menjadi dasar perubahan.

Format ID revisi dapat berubah seiring waktu, sehingga harus diperlakukan dengan jelas. ID revisi yang dikembalikan hanya dijamin valid selama 24 jam setelah dikembalikan dan tidak dapat dibagikan kepada pengguna lain. Jika ID revisi tidak berubah di antara panggilan, berarti formulir tidak berubah. Sebaliknya, ID yang diubah (untuk formulir dan pengguna yang sama) biasanya berarti formulir telah diperbarui; tetapi, perubahan ID juga dapat disebabkan oleh faktor internal seperti perubahan format ID.

responderUri

string

Hanya output. URI formulir yang akan dibagikan kepada responden. Tindakan ini akan membuka halaman yang memungkinkan pengguna untuk mengirimkan respons tetapi tidak dapat mengedit pertanyaan.

linkedSheetId

string

Hanya output. ID Spreadsheet Google tertaut yang mengumpulkan respons dari Formulir ini (jika Spreadsheet tersebut ada).

Info

Informasi umum untuk formulir.

Representasi JSON
{
  "title": string,
  "documentTitle": string,
  "description": string
}
Kolom
title

string

Wajib. Judul formulir yang dapat dilihat oleh responden.

documentTitle

string

Hanya output. Judul dokumen yang terlihat di Drive. Jika Info.title kosong, documentTitle dapat muncul di UI Google Formulir dan terlihat oleh responden. documentTitle dapat ditetapkan saat dibuat, tetapi tidak dapat diubah melalui permintaan om. Harap gunakan Google Drive API jika Anda perlu mengupdate documentTitle secara terprogram.

description

string

Deskripsi formulir.

FormSettings

Setelan formulir.

Representasi JSON
{
  "quizSettings": {
    object (QuizSettings)
  }
}
Kolom
quizSettings

object (QuizSettings)

Setelan yang terkait dengan formulir dan penilaian kuis.

QuizSettings

Setelan yang terkait dengan formulir dan penilaian kuis. Setelan ini harus diperbarui dengan UpdateSettingsRequest.

Representasi JSON
{
  "isQuiz": boolean
}
Kolom
isQuiz

boolean

Apakah formulir ini berupa kuis atau bukan. Jika benar, respons akan dinilai berdasarkan pertanyaan Grading. Jika disetel ke salah (false), semua pertanyaan Grading akan dihapus.

Item

Satu item dalam formulir. kind menentukan jenis itemnya.

Representasi JSON
{
  "itemId": string,
  "title": string,
  "description": string,

  // Union field kind can be only one of the following:
  "questionItem": {
    object (QuestionItem)
  },
  "questionGroupItem": {
    object (QuestionGroupItem)
  },
  "pageBreakItem": {
    object (PageBreakItem)
  },
  "textItem": {
    object (TextItem)
  },
  "imageItem": {
    object (ImageItem)
  },
  "videoItem": {
    object (VideoItem)
  }
  // End of list of possible types for union field kind.
}
Kolom
itemId

string

ID item.

Saat pembuatan, ID dapat diberikan, tetapi ID ini tidak boleh sudah digunakan dalam formulir. Jika tidak diberikan, ID baru akan ditetapkan.

title

string

Judul item.

description

string

Deskripsi item.

Kolom union kind. Wajib. Jenis item ini. kind hanya dapat berupa salah satu dari yang berikut:
questionItem

object (QuestionItem)

Mengajukan pertanyaan kepada pengguna.

questionGroupItem

object (QuestionGroupItem)

Memunculkan satu atau beberapa pertanyaan kepada pengguna dengan satu perintah utama.

pageBreakItem

object (PageBreakItem)

Memulai halaman baru dengan judul.

textItem

object (TextItem)

Menampilkan judul dan deskripsi di halaman.

imageItem

object (ImageItem)

Menampilkan gambar di halaman.

videoItem

object (VideoItem)

Menampilkan video di halaman.

QuestionItem

Item formulir yang berisi satu pertanyaan.

Representasi JSON
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
Kolom
question

object (Question)

Wajib. Pertanyaan yang ditampilkan.

image

object (Image)

Gambar yang ditampilkan dalam pertanyaan.

Question

Pertanyaan apa pun. Jenis pertanyaan tertentu diketahui dengan kind-nya.

Representasi JSON
{
  "questionId": string,
  "required": boolean,
  "grading": {
    object (Grading)
  },

  // Union field kind can be only one of the following:
  "choiceQuestion": {
    object (ChoiceQuestion)
  },
  "textQuestion": {
    object (TextQuestion)
  },
  "scaleQuestion": {
    object (ScaleQuestion)
  },
  "dateQuestion": {
    object (DateQuestion)
  },
  "timeQuestion": {
    object (TimeQuestion)
  },
  "fileUploadQuestion": {
    object (FileUploadQuestion)
  },
  "rowQuestion": {
    object (RowQuestion)
  }
  // End of list of possible types for union field kind.
}
Kolom
questionId

string

Hanya baca. ID pertanyaan.

Saat pembuatan, ID dapat diberikan, tetapi ID ini tidak boleh sudah digunakan dalam formulir. Jika tidak diberikan, ID baru akan ditetapkan.

required

boolean

Apakah pertanyaan tersebut harus dijawab agar responden mengirimkan responsnya.

grading

object (Grading)

Penyiapan penilaian untuk pertanyaan.

Kolom union kind. Wajib. Jenis pertanyaan yang ditawarkan kepada responden. kind hanya ada berupa salah satu diantara berikut:
choiceQuestion

object (ChoiceQuestion)

Responden dapat memilih dari serangkaian opsi yang telah ditentukan.

textQuestion

object (TextQuestion)

Responden dapat memasukkan respons teks bebas.

scaleQuestion

object (ScaleQuestion)

Responden dapat memilih angka dari rentang.

dateQuestion

object (DateQuestion)

Responden dapat memasukkan tanggal.

timeQuestion

object (TimeQuestion)

Responden dapat memasukkan waktu.

fileUploadQuestion

object (FileUploadQuestion)

Responden dapat mengupload satu atau beberapa file.

rowQuestion

object (RowQuestion)

Baris QuestionGroupItem.

ChoiceQuestion

Pertanyaan radio/kotak centang/{i>dropdown<i}.

Representasi JSON
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
Kolom
type

enum (ChoiceType)

Wajib. Jenis pertanyaan pilihan.

options[]

object (Option)

Wajib. Daftar opsi yang harus dipilih responden.

shuffle

boolean

Apakah opsi harus ditampilkan dalam urutan acak untuk berbagai instance kuis. Hal ini sering digunakan untuk mencegah kecurangan oleh responden yang mungkin melihat layar responden lain, atau untuk mengatasi bias dalam survei yang mungkin timbul dengan selalu menempatkan opsi yang sama di posisi pertama atau terakhir.

ChoiceType

Jenis pilihan.

Enum
CHOICE_TYPE_UNSPECIFIED Nilai default. Tidak digunakan.
RADIO Tombol pilihan: Semua pilihan ditampilkan kepada pengguna, yang hanya dapat memilih salah satunya.
CHECKBOX Kotak centang: Semua pilihan ditampilkan kepada pengguna, yang dapat memilih berapa pun jumlahnya.
DROP_DOWN Menu drop-down: Pilihan hanya ditampilkan kepada pengguna sesuai permintaan, jika tidak, hanya pilihan saat ini yang akan ditampilkan. Hanya satu opsi yang dapat dipilih.

Opsi

Opsi untuk pertanyaan Pilihan.

Representasi JSON
{
  "value": string,
  "image": {
    object (Image)
  },
  "isOther": boolean,

  // Union field go_to_section can be only one of the following:
  "goToAction": enum (GoToAction),
  "goToSectionId": string
  // End of list of possible types for union field go_to_section.
}
Kolom
value

string

Wajib. Pilihan seperti yang ditampilkan kepada pengguna.

image

object (Image)

Tampilkan gambar sebagai opsi.

isOther

boolean

Apakah opsi tersebut adalah "lainnya". Saat ini hanya berlaku untuk jenis pilihan RADIO dan CHECKBOX, tetapi tidak diizinkan di QuestionGroupItem.

Kolom union go_to_section. Bagian mana yang akan dibuka jika opsi ini dipilih. Saat ini hanya berlaku untuk jenis pilihan RADIO dan SELECT, tetapi tidak diizinkan di QuestionGroupItem. go_to_section hanya dapat berupa salah satu dari berikut:
goToAction

enum (GoToAction)

Jenis navigasi bagian.

goToSectionId

string

ID item dari header bagian yang akan dibuka.

GoToAction

Konstanta untuk navigasi bagian.

Enum
GO_TO_ACTION_UNSPECIFIED Nilai default. Tidak digunakan.
NEXT_SECTION Buka bagian berikutnya.
RESTART_FORM Kembali ke awal formulir.
SUBMIT_FORM Segera kirim formulir.

Gambar

Data yang mewakili gambar.

Representasi JSON
{
  "contentUri": string,
  "altText": string,
  "properties": {
    object (MediaProperties)
  },

  // Union field image_source can be only one of the following:
  "sourceUri": string
  // End of list of possible types for union field image_source.
}
Kolom
contentUri

string

Hanya output. URI tempat Anda dapat mendownload gambar; ini hanya berlaku untuk waktu terbatas.

altText

string

Deskripsi gambar yang ditampilkan saat kursor diarahkan dan dibaca oleh pembaca layar.

properties

object (MediaProperties)

Properti gambar.

Kolom union image_source. Jenis sumber gambar. Hanya satu kolom sumber gambar yang harus ditetapkan saat membuat gambar baru. image_source hanya ada berupa salah satu diantara berikut:
sourceUri

string

Hanya input. URI sumber adalah URI yang digunakan untuk menyisipkan gambar. URI sumber dapat kosong saat diambil.

MediaProperties

Properti media.

Representasi JSON
{
  "alignment": enum (Alignment),
  "width": integer
}
Kolom
alignment

enum (Alignment)

Posisi media.

width

integer

Lebar media dalam piksel. Saat media ditampilkan, media itu akan diskalakan ke yang lebih kecil dari nilai ini atau lebar bentuk yang ditampilkan. Rasio aspek asli media dipertahankan. Jika lebar tidak ditentukan saat media ditambahkan ke formulir, lebar akan disetel ke lebar sumber media. Lebar harus antara 0 dan 740, inklusif. Menyetel lebar ke 0 atau tidak ditentukan hanya diizinkan saat memperbarui sumber media.

Perataan

Perataan pada halaman.

Enum
ALIGNMENT_UNSPECIFIED Nilai default. Tidak digunakan.
LEFT Rata kiri.
RIGHT Rata kanan.
CENTER Tengah.

TextQuestion

Pertanyaan berbasis teks.

Representasi JSON
{
  "paragraph": boolean
}
Kolom
paragraph

boolean

Apakah pertanyaan tersebut berupa pertanyaan paragraf atau bukan. Jika tidak, pertanyaannya adalah pertanyaan teks singkat.

ScaleQuestion

Sebuah pertanyaan skala. Pengguna memiliki rentang nilai numerik yang dapat dipilih.

Representasi JSON
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
Kolom
low

integer

Wajib. Nilai serendah mungkin untuk skala.

high

integer

Wajib. Nilai tertinggi yang memungkinkan untuk skala.

lowLabel

string

Label untuk ditampilkan yang menjelaskan titik terendah pada skala.

highLabel

string

Label untuk ditampilkan yang menjelaskan titik tertinggi pada skala.

DateQuestion

Pertanyaan terkait tanggal. Default pertanyaan tanggal adalah hanya bulan + hari.

Representasi JSON
{
  "includeTime": boolean,
  "includeYear": boolean
}
Kolom
includeTime

boolean

Apakah akan menyertakan waktu sebagai bagian dari pertanyaan.

includeYear

boolean

Apakah akan menyertakan tahun sebagai bagian dari pertanyaan.

TimeQuestion

Pertanyaan tentang waktu.

Representasi JSON
{
  "duration": boolean
}
Kolom
duration

boolean

true jika pertanyaannya tentang waktu yang berlalu. Jika tidak, durasinya sekitar satu hari.

FileUploadQuestion

Pertanyaan terkait upload file. API tersebut saat ini tidak mendukung pembuatan pertanyaan upload file.

Representasi JSON
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
Kolom
folderId

string

Wajib. ID folder Drive tempat file yang diupload disimpan.

types[]

enum (FileType)

Jenis file yang diterima oleh pertanyaan ini.

maxFiles

integer

Jumlah maksimum file yang dapat diupload untuk pertanyaan ini dalam satu respons.

maxFileSize

string (int64 format)

Jumlah maksimum byte yang diizinkan untuk satu file yang diupload ke pertanyaan ini.

FileType

Jenis file yang dapat diupload ke pertanyaan upload file.

Enum
FILE_TYPE_UNSPECIFIED Nilai default. Tidak digunakan.
ANY Tidak ada batasan pada jenis.
DOCUMENT Dokumen Google Dokumen.
PRESENTATION Presentasi Google Slide.
SPREADSHEET Spreadsheet Google Spreadsheet.
DRAWING Gambar.
PDF PDF.
IMAGE Gambar.
VIDEO Video.
AUDIO File audio.

RowQuestion

Konfigurasi untuk pertanyaan yang merupakan bagian dari grup pertanyaan.

Representasi JSON
{
  "title": string
}
Kolom
title

string

Wajib. Judul untuk satu baris di QuestionGroupItem.

Penilaian

Penilaian untuk satu pertanyaan

Representasi JSON
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
Kolom
pointValue

integer

Wajib. Jumlah maksimum poin yang bisa didapatkan responden secara otomatis untuk jawaban yang benar. Nilai ini tidak boleh negatif.

correctAnswers

object (CorrectAnswers)

Wajib. Kunci jawaban dari pertanyaan. Respons akan dinilai secara otomatis berdasarkan kolom ini.

whenRight

object (Feedback)

Masukan ditampilkan untuk respons yang benar. Masukan ini hanya dapat ditetapkan untuk pertanyaan pilihan ganda yang memiliki jawaban yang benar.

whenWrong

object (Feedback)

Masukan ditampilkan untuk respons yang salah. Masukan ini hanya dapat ditetapkan untuk pertanyaan pilihan ganda yang memiliki jawaban yang benar.

generalFeedback

object (Feedback)

Masukan yang ditampilkan untuk semua jawaban. Pertanyaan seperti ini biasanya digunakan untuk pertanyaan dengan jawaban singkat ketika pemilik kuis ingin segera memberi responden beberapa pemahaman apakah mereka menjawab pertanyaan dengan benar sebelum diberi kesempatan untuk menilai respons secara resmi. Masukan umum tidak dapat ditetapkan untuk pertanyaan pilihan ganda yang dinilai secara otomatis.

CorrectAnswers

Kunci jawaban untuk sebuah pertanyaan.

Representasi JSON
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
Kolom
answers[]

object (CorrectAnswer)

Daftar jawaban yang benar. Respons kuis dapat dinilai secara otomatis berdasarkan jawaban ini. Untuk pertanyaan bernilai tunggal, respons ditandai sebagai benar jika cocok dengan nilai apa pun dalam daftar ini (dengan kata lain, beberapa jawaban yang benar dimungkinkan). Untuk pertanyaan bernilai banyak (CHECKBOX), respons ditandai sebagai benar jika berisi nilai yang sama persis dalam daftar ini.

CorrectAnswer

Satu jawaban yang benar untuk sebuah pertanyaan. Untuk pertanyaan bernilai banyak (CHECKBOX), beberapa CorrectAnswer mungkin diperlukan untuk mewakili satu opsi respons yang benar.

Representasi JSON
{
  "value": string
}
Kolom
value

string

Wajib. Nilai jawaban yang benar. Lihat dokumentasi TextAnswer.value untuk mengetahui detail tentang cara berbagai jenis nilai diformat.

QuestionGroupItem

Mendefinisikan pertanyaan yang terdiri dari beberapa pertanyaan yang dikelompokkan bersama.

Representasi JSON
{
  "questions": [
    {
      object (Question)
    }
  ],
  "image": {
    object (Image)
  },

  // Union field kind can be only one of the following:
  "grid": {
    object (Grid)
  }
  // End of list of possible types for union field kind.
}
Kolom
questions[]

object (Question)

Wajib. Daftar pertanyaan yang termasuk dalam grup pertanyaan ini. Pertanyaan hanya boleh dimiliki satu grup. kind grup dapat memengaruhi jenis pertanyaan yang diizinkan.

image

object (Image)

Gambar yang ditampilkan dalam grup pertanyaan di atas pertanyaan tertentu.

Kolom union kind. Wajib. Jenis grup pertanyaan, yang menentukan jenis pertanyaan yang diizinkan dan bagaimana pertanyaan ditampilkan. kind hanya ada berupa salah satu diantara berikut:
grid

object (Grid)

Grup pertanyaan adalah petak dengan baris pertanyaan pilihan ganda yang memiliki opsi yang sama. Jika grid ditetapkan, semua pertanyaan di grup harus memiliki jenis row.

Kisi

Petak pilihan (kotak radio atau centang) dengan setiap baris merupakan pertanyaan terpisah. Setiap baris memiliki pilihan yang sama, yang ditampilkan sebagai kolom.

Representasi JSON
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
Kolom
columns

object (ChoiceQuestion)

Wajib. Pilihan yang dibagikan oleh setiap pertanyaan dalam petak. Dengan kata lain, nilai pada kolom. Hanya pilihan CHECK_BOX dan RADIO yang diizinkan.

shuffleQuestions

boolean

Jika true, pertanyaan akan diurutkan secara acak. Dengan kata lain, baris tersebut muncul dalam urutan yang berbeda untuk setiap responden.

PageBreakItem

Batas halaman. Judul dan deskripsi item ini ditampilkan di bagian atas halaman baru.

TextItem

Item teks.

ImageItem

Item yang berisi gambar.

Representasi JSON
{
  "image": {
    object (Image)
  }
}
Kolom
image

object (Image)

Wajib. Gambar yang ditampilkan dalam item.

VideoItem

Item yang berisi video.

Representasi JSON
{
  "video": {
    object (Video)
  },
  "caption": string
}
Kolom
video

object (Video)

Wajib. Video yang ditampilkan dalam item.

caption

string

Teks yang ditampilkan di bawah video.

Video

Data yang mewakili video.

Representasi JSON
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
Kolom
youtubeUri

string

Wajib. URI YouTube.

properties

object (MediaProperties)

Properti video.

Metode

batchUpdate

Ubah formulir dengan batch pembaruan.

create

Buat formulir baru menggunakan judul yang diberikan dalam pesan formulir yang disediakan dalam permintaan.

get

Dapatkan formulir.