REST Resource: forms

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Recurso: Form

Un documento de Formularios de Google Se crea un formulario en Drive y se puede borrar un formulario o cambiar sus protecciones de acceso a través de la API de Drive.

Representación JSON
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
Campos
formId

string

Solo salida. El ID del formulario.

info

object (Info)

Obligatorio. Corresponde al título y la descripción del formulario.

settings

object (FormSettings)

La configuración del formulario. Se debe actualizar con UpdateSettingsRequest; se ignora durante forms.create y UpdateFormInfoRequest.

items[]

object (Item)

Obligatorio. Una lista de los elementos del formulario, que puede incluir encabezados de secciones, preguntas, contenido multimedia incorporado, etc.

revisionId

string

Solo salida. El ID de revisión del formulario. Se usa en el WriteControl en las solicitudes de actualización para identificar la revisión en la que se basan los cambios.

El formato del ID de revisión puede cambiar con el tiempo, por lo que se debe tratar de manera opaca. Un ID de revisión que se muestra solo está garantizado durante 24 horas después de que se haya mostrado y no se puede compartir entre usuarios. Si el ID de revisión no cambia entre llamadas, el formulario no se modificará. Por el contrario, un ID modificado (para el mismo formulario y usuario) suele significar que el formulario se actualizó; sin embargo, un ID modificado también puede deberse a factores internos, como cambios de formato de ID.

responderUri

string

Solo salida. El URI del formulario para compartir con los encuestados. Se abrirá una página que le permite al usuario enviar respuestas, pero no editar las preguntas.

linkedSheetId

string

Solo salida. Es el ID de la Hoja de cálculo de Google vinculada que acumula respuestas desde este Formulario (si la Hoja de cálculo existe).

Información

La información general de un formulario.

Representación JSON
{
  "title": string,
  "documentTitle": string,
  "description": string
}
Campos
title

string

Obligatorio. Título del formulario que es visible para los encuestados.

documentTitle

string

Solo salida. El título del documento que está visible en Drive. Si Info.title está vacío, es posible que documentTitle aparezca en su lugar en la IU de Formularios de Google y sea visible para los encuestados. Se puede configurar documentTitle durante la creación, pero no se puede modificar mediante una solicitud batchUpdate. Usa la API de Google Drive si necesitas actualizar documentTitle de manera programática.

description

string

Corresponde a la descripción del formulario.

Configuración del formulario

La configuración de un formulario.

Representación JSON
{
  "quizSettings": {
    object (QuizSettings)
  }
}
Campos
quizSettings

object (QuizSettings)

Configuración relacionada con los formularios y las calificaciones del cuestionario.

Configuración del cuestionario

Configuración relacionada con los formularios y las calificaciones del cuestionario. Deben actualizarse con UpdateSettingsRequest.

Representación JSON
{
  "isQuiz": boolean
}
Campos
isQuiz

boolean

Si este formulario es un cuestionario o no. Cuando es verdadero, las respuestas se califican en función de la pregunta Grading. Si la estableces como falsa, se borrarán todas las preguntas de Grading.

Elemento

Corresponde a un elemento individual del formulario. kind define de qué tipo es el elemento.

Representación 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.
}
Campos
itemId

string

Es el ID de artículo.

Se puede proporcionar durante la creación, pero el ID no debe usarse aún en el formulario. Si no se proporciona, se asignará un ID nuevo.

title

string

Corresponde al título del artículo.

description

string

Es la descripción del artículo.

Campo de unión kind. Obligatorio. Este es el tipo de elemento. kind solo puede ser una de las siguientes opciones:
questionItem

object (QuestionItem)

Le hace una pregunta al usuario.

questionGroupItem

object (QuestionGroupItem)

Plantea una o más preguntas para el usuario con un solo mensaje importante.

pageBreakItem

object (PageBreakItem)

Inicia una nueva página con un título.

textItem

object (TextItem)

Muestra un título y una descripción en la página.

imageItem

object (ImageItem)

Muestra una imagen en la página.

videoItem

object (VideoItem)

Muestra un video en la página.

Pregunta

Un elemento de formulario que contiene una sola pregunta.

Representación JSON
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
Campos
question

object (Question)

Obligatorio. La pregunta que se muestra.

image

object (Image)

La imagen que se muestra dentro de la pregunta

Pregunta

Cualquier pregunta. El tipo específico de pregunta se conoce por su kind.

Representación 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.
}
Campos
questionId

string

Solo lectura El ID de la pregunta.

Se puede proporcionar durante la creación, pero el ID no debe usarse aún en el formulario. Si no se proporciona, se asignará un ID nuevo.

required

boolean

Indica si se debe responder la pregunta para que el encuestado pueda enviar su respuesta.

grading

object (Grading)

Configuración de la calificación para la pregunta.

Campo de unión kind. Obligatorio. Es el tipo de pregunta que se les ofrece a los encuestados. Las direcciones (kind) solo pueden ser una de las siguientes opciones:
choiceQuestion

object (ChoiceQuestion)

Los encuestados pueden elegir entre un conjunto predefinido de opciones.

textQuestion

object (TextQuestion)

Quienes responden pueden ingresar una respuesta de texto libre.

scaleQuestion

object (ScaleQuestion)

El encuestado puede elegir un número de un rango.

dateQuestion

object (DateQuestion)

El encuestado puede ingresar una fecha.

timeQuestion

object (TimeQuestion)

El encuestado puede ingresar una hora.

fileUploadQuestion

object (FileUploadQuestion)

Quienes responden pueden subir uno o más archivos.

rowQuestion

object (RowQuestion)

Una fila de un QuestionGroupItem

Pregunta de elección

Una pregunta de selección/casilla de verificación o de selección.

Representación JSON
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
Campos
type

enum (ChoiceType)

Obligatorio. El tipo de pregunta de elección.

options[]

object (Option)

Obligatorio. Lista de opciones que debe elegir un encuestado.

shuffle

boolean

Indica si las opciones se deben mostrar en orden aleatorio para diferentes instancias del cuestionario. Con frecuencia, esto se utiliza para evitar que los usuarios que buscan la pantalla de otro encuestado hagan trampa o para sesgar el sesgo en una encuesta que se puede introducir siempre con las mismas opciones en primer lugar.

Tipo de opción

El tipo de elección.

Enumeradores
CHOICE_TYPE_UNSPECIFIED Valor predeterminado. No se utiliza.
RADIO Botones de selección: Todas las opciones se muestran al usuario, el cual solo puede elegir una de ellas.
CHECKBOX Casillas de verificación: todas las opciones se le muestran al usuario, quien puede elegir cualquier cantidad.
DROP_DOWN Menú desplegable: Las opciones solo se muestran al usuario cuando lo solicita. De lo contrario, solo se muestra la opción actual. Solo se puede elegir una opción.

Opción

Es una opción para una pregunta de opción.

Representación 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.
}
Campos
value

string

Obligatorio. Es la elección que se presenta al usuario.

image

object (Image)

Mostrar imagen como opción.

isOther

boolean

Indica si la opción es "otro". Actualmente, solo se aplica a los tipos de opción RADIO y CHECKBOX, pero no se permite en QuestionGroupItem.

Campo de unión go_to_section. A qué sección se dirige si se selecciona esta opción. Actualmente, solo se aplica a los tipos de opción RADIO y SELECT, pero no se permite en un QuestionGroupItem. go_to_section puede ser solo una de las siguientes opciones:
goToAction

enum (GoToAction)

Tipo de navegación de secciones.

goToSectionId

string

ID de artículo del encabezado de la sección a la que se va.

Ir a la acción

Constantes para la navegación de secciones.

Enumeradores
GO_TO_ACTION_UNSPECIFIED Valor predeterminado. No se utiliza.
NEXT_SECTION Ve a la siguiente sección.
RESTART_FORM Vuelve al principio del formulario.
SUBMIT_FORM Envía el formulario de inmediato.

Imagen

Datos que representan una imagen.

Representación JSON
{
  "contentUri": string,
  "altText": string,
  "properties": {
    object (MediaProperties)
  },
  "sourceUri": string
}
Campos
contentUri

string

Solo salida. Un URI desde el cual puedes descargar la imagen; es válido solo por un tiempo limitado.

altText

string

Es una descripción de la imagen que se muestra al desplazar el cursor sobre los lectores de pantalla y leerla.

properties

object (MediaProperties)

Propiedades de una imagen.

sourceUri

string

Solo entrada. El URI de origen es el URI que se usa para insertar la imagen. El URI de origen puede estar vacío cuando se recupera.

Propiedades multimedia

Propiedades del contenido multimedia.

Representación JSON
{
  "alignment": enum (Alignment),
  "width": integer
}
Campos
alignment

enum (Alignment)

Posición de los medios.

width

integer

El ancho del medio en píxeles. Cuando se muestra el contenido multimedia, se ajusta al menor de este valor o al ancho del formulario que se muestra. Se conserva la relación de aspecto original del contenido multimedia. Si no se especifica el ancho cuando se agrega contenido multimedia al formulario, se establece en el ancho de la fuente del contenido multimedia. El ancho debe estar entre 0 y 740, inclusive. Solo se permite establecer el ancho en 0 o sin especificar cuando se actualiza la fuente del contenido multimedia.

Alineación

Alineación en la página.

Enumeradores
ALIGNMENT_UNSPECIFIED Valor predeterminado. No se utiliza.
LEFT Alinear a la izquierda.
RIGHT Alinear a la derecha
CENTER Centro.

Pregunta de texto

Una pregunta basada en texto.

Representación JSON
{
  "paragraph": boolean
}
Campos
paragraph

boolean

Indica si la pregunta es de párrafo o no. Si no es así, se trata de una breve pregunta textual.

Pregunta de escala

Una pregunta de escala. El usuario tiene un rango de valores numéricos para elegir.

Representación JSON
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
Campos
low

integer

Obligatorio. El valor más bajo posible para la escala.

high

integer

Obligatorio. El valor más alto posible para la escala.

lowLabel

string

La etiqueta que se muestra que describe el punto más bajo de la escala.

highLabel

string

La etiqueta que se muestra que describe el punto más alto de la escala.

Pregunta de fecha

Una pregunta sobre fechas. De forma predeterminada, las preguntas de fecha solo se mostrarán por mes y día.

Representación JSON
{
  "includeTime": boolean,
  "includeYear": boolean
}
Campos
includeTime

boolean

Indica si se debe incluir la hora como parte de la pregunta.

includeYear

boolean

Indica si se debe incluir el año como parte de la pregunta.

Pregunta de tiempo

Una pregunta sobre tiempos.

Representación JSON
{
  "duration": boolean
}
Campos
duration

boolean

true si la pregunta trata sobre un tiempo transcurrido. De lo contrario, se trata de una hora del día.

Pregunta de carga de archivos

Una pregunta de carga de archivos. En este momento, la API no admite la creación de preguntas de carga de archivos.

Representación JSON
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
Campos
folderId

string

Obligatorio. ID de la carpeta de Drive donde se almacenan los archivos subidos.

types[]

enum (FileType)

Tipos de archivos que acepta esta pregunta.

maxFiles

integer

Cantidad máxima de archivos que se pueden subir para esta pregunta en una sola respuesta.

maxFileSize

string (int64 format)

Cantidad máxima de bytes permitidos para cualquier archivo subido a esta pregunta.

Tipo de archivo

Tipos de archivos que se pueden subir a una pregunta de carga de archivos.

Enumeradores
FILE_TYPE_UNSPECIFIED Valor predeterminado. No se utiliza.
ANY No hay restricciones de tipo.
DOCUMENT Un documento de Google
PRESENTATION Un archivo de Presentaciones de Google
SPREADSHEET Una hoja de cálculo de Google
DRAWING Un dibujo.
PDF Un PDF.
IMAGE Una imagen
VIDEO Un video
AUDIO Un archivo de audio.

Pregunta de fila

Es la configuración de una pregunta que forma parte de un grupo de preguntas.

Representación JSON
{
  "title": string
}
Campos
title

string

Obligatorio. El título de la fila individual en QuestionGroupItem.

Calificaciones

Calificar para una sola pregunta

Representación JSON
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
Campos
pointValue

integer

Obligatorio. Es la cantidad máxima de puntos que un encuestado puede obtener automáticamente para obtener una respuesta correcta. No debe ser un valor negativo.

correctAnswers

object (CorrectAnswers)

Obligatorio. La clave de respuesta para la pregunta. Las respuestas se califican automáticamente en función de este campo.

whenRight

object (Feedback)

Los comentarios se muestran para las respuestas correctas. Estos comentarios solo se pueden configurar para preguntas de opción múltiple que tengan respuestas correctas.

whenWrong

object (Feedback)

Los comentarios se muestran para respuestas incorrectas. Estos comentarios solo se pueden configurar para preguntas de opción múltiple que tengan respuestas correctas.

generalFeedback

object (Feedback)

Se muestran los comentarios de todas las respuestas. Por lo general, se usa para preguntas de respuesta corta cuando el propietario de un cuestionario quiere darles rápidamente a los encuestados una idea de si respondieron la pregunta correctamente antes de que hayan podido calificar la respuesta de manera oficial. No se pueden establecer comentarios generales para las preguntas de opción múltiple con calificación automática.

Respuestas correctas

La clave de respuesta para una pregunta.

Representación JSON
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
Campos
answers[]

object (CorrectAnswer)

Una lista de respuestas correctas. Una respuesta a un cuestionario se puede calificar automáticamente en función de estas respuestas. En el caso de las preguntas de un solo valor, las respuestas se marcan como correctas si coinciden con algún valor de la lista (es decir, hay varias respuestas correctas posibles). En el caso de las preguntas con valores múltiples (CHECKBOX), se marca una respuesta como correcta si contiene exactamente los valores de esta lista.

Respuesta correcta

Es la única respuesta correcta para una pregunta. En el caso de las preguntas con valores múltiples (CHECKBOX), es posible que se necesiten varios CorrectAnswer para representar una sola opción de respuesta correcta.

Representación JSON
{
  "value": string
}
Campos
value

string

Obligatorio. El valor de respuesta correcto. Consulta la documentación para TextAnswer.value a fin de obtener detalles sobre el formato de varios tipos de valores.

Pregunta en grupo de preguntas

Define una pregunta que comprende varias preguntas agrupadas.

Representación JSON
{
  "questions": [
    {
      object (Question)
    }
  ],
  "image": {
    object (Image)
  },
  "grid": {
    object (Grid)
  }
}
Campos
questions[]

object (Question)

Obligatorio. Es una lista de preguntas que pertenecen a este grupo de preguntas. Una pregunta solo puede pertenecer a un grupo. El kind del grupo puede afectar los tipos de preguntas permitidas.

image

object (Image)

La imagen que se muestra dentro del grupo de preguntas, arriba de las preguntas específicas

grid

object (Grid)

El grupo de preguntas es una cuadrícula con filas de preguntas de opción múltiple que comparten las mismas opciones. Cuando se establece grid, todas las preguntas del grupo deben ser del tipo row.

Cuadrícula

Una cuadrícula de opciones (radio o casilla de verificación) con cada fila que constituye una pregunta separada. Cada fila tiene las mismas opciones que se muestran como columnas.

Representación JSON
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
Campos
columns

object (ChoiceQuestion)

Obligatorio. Son las opciones que comparte cada pregunta en la cuadrícula. En otras palabras, los valores de las columnas. Solo se permiten CHECK_BOX y RADIO opciones.

shuffleQuestions

boolean

Si es true, las preguntas se ordenan de forma aleatoria. En otras palabras, las filas aparecen en un orden diferente para cada encuestado.

Elemento de salto de página

Un salto de página El título y la descripción de este elemento se muestran en la parte superior de la página nueva.

Elemento de texto

Un elemento de texto.

Elemento de imagen

Es un elemento que contiene una imagen.

Representación JSON
{
  "image": {
    object (Image)
  }
}
Campos
image

object (Image)

Obligatorio. La imagen que se muestra en el elemento.

Elemento de video

Un elemento que contiene un video.

Representación JSON
{
  "video": {
    object (Video)
  },
  "caption": string
}
Campos
video

object (Video)

Obligatorio. El video que se muestra en el elemento.

caption

string

El texto que se muestra debajo del video.

Video

Datos que representan un video.

Representación JSON
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
Campos
youtubeUri

string

Obligatorio. Un URI de YouTube.

properties

object (MediaProperties)

Propiedades de un video.

Métodos

batchUpdate

Cambia el formulario con un lote de actualizaciones.

create

Crea un formulario nuevo con el título que se proporcionó en el mensaje del formulario proporcionado en la solicitud.

get

Obtener un formulario