REST Resource: forms

Recurso: Formulario

Un documento de Formularios de Google Se crea un formulario en Drive, y se borra o se cambia sus protecciones de acceso mediante 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. Es el 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 sección, preguntas, contenido multimedia incorporado, etcétera.

revisionId

string

Solo salida. El ID de revisión del formulario. Se usa en 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 debe tratarse de manera opaca. Solo se garantiza que un ID de revisión que se muestra es válido durante 24 horas después de mostrarse y no se puede compartir entre los usuarios. Si el ID de revisión no cambia entre llamadas, entonces el formulario no ha cambiado. Por el contrario, un ID modificado (para el mismo formulario y usuario) generalmente significa que se actualizó el formulario. Sin embargo, un ID modificado también puede deberse a factores internos, como cambios en el formato del ID.

responderUri

string

Solo salida. El URI del formulario que se compartirá con las personas que responden. Se abrirá una página en la que el usuario puede enviar respuestas, pero no editar las preguntas.

linkedSheetId

string

Solo salida. El ID de la hoja de cálculo de Google vinculada que acumula respuestas de este formulario (si existe).

Información

Es la información general de un formulario.

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

string

Obligatorio. El título del formulario que es visible para las personas que responden.

documentTitle

string

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

description

string

Es la descripción del formulario.

FormSettings

La configuración de un formulario.

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

object (QuizSettings)

La configuración relacionada con los formularios de cuestionarios y las calificaciones.

QuizSettings

La configuración relacionada con los formularios de cuestionarios y las calificaciones. Se deben actualizar con UpdateSettingsRequest.

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

boolean

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

Elemento

Es un elemento único del formulario. kind define qué tipo de elemento es.

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 del artículo.

Se puede proporcionar durante la creación, pero el ID no debe estar en uso en el formulario anteriormente. Si no se proporciona, se asigna uno nuevo.

title

string

Es el 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 puede ser solo uno de los siguientes:
questionItem

object (QuestionItem)

Plantea una pregunta al usuario.

questionGroupItem

object (QuestionGroupItem)

Plantea una o más preguntas al usuario con un solo mensaje principal.

pageBreakItem

object (PageBreakItem)

Inicia una página nueva 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.

QuestionItem

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)

Es la imagen que se muestra en la pregunta.

Pregunta

¿Tienes alguna 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 estar en uso en el formulario anteriormente. Si no se proporciona, se asigna uno nuevo.

required

boolean

Indica si se debe responder la pregunta para que el encuestado envíe su respuesta.

grading

object (Grading)

Configuración de calificación para la pregunta

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

object (ChoiceQuestion)

Los encuestados pueden elegir entre un conjunto de opciones predefinidas.

textQuestion

object (TextQuestion)

Los encuestados pueden ingresar una respuesta de texto libre.

scaleQuestion

object (ScaleQuestion)

Los encuestados pueden elegir un número de un rango.

dateQuestion

object (DateQuestion)

Las personas que responden pueden ingresar una fecha.

timeQuestion

object (TimeQuestion)

Los encuestados pueden ingresar una hora.

fileUploadQuestion

object (FileUploadQuestion)

Las personas que responden pueden subir uno o más archivos.

rowQuestion

object (RowQuestion)

Una fila de QuestionGroupItem.

ChoiceQuestion

Una pregunta desplegable, de radio o con casillas de verificación

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

enum (ChoiceType)

Obligatorio. Es el tipo de pregunta de opción.

options[]

object (Option)

Obligatorio. Lista de opciones que el encuestado debe elegir.

shuffle

boolean

Indica si las opciones deben mostrarse en orden aleatorio para las diferentes instancias del cuestionario. Esto se utiliza a menudo para evitar que los encuestados que estén haciendo trampa en la pantalla de otro encuestado hagan trampa, o para abordar el sesgo en una encuesta que podría presentarse colocando siempre las mismas opciones al principio o al final.

ChoiceType

Es el tipo de elección.

Enumeradores
CHOICE_TYPE_UNSPECIFIED Valor predeterminado. No se utiliza.
RADIO Botones de selección: Se muestran todas las opciones al usuario, quien solo puede elegir una de ellas.
CHECKBOX Casillas de verificación: Se muestran todas las opciones al usuario, quien puede elegir cualquier cantidad.
DROP_DOWN Menú desplegable: Las opciones solo se muestran al usuario on demand; de lo contrario, solo se muestra la opción actual. Solo puedes elegir una opción.

Opción

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 tal como se presenta al usuario.

image

object (Image)

Muestra la 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 ir si está seleccionada esta opción Actualmente, solo se aplica a los tipos de opción RADIO y SELECT, pero no se permite en QuestionGroupItem. go_to_section puede ser una de las siguientes opciones:
goToAction

enum (GoToAction)

Tipo de navegación de la sección.

goToSectionId

string

Es el ID de artículo del encabezado de la sección al que se dirigirá.

GoToAction

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 Regresa al comienzo del formulario.
SUBMIT_FORM Envía el formulario de inmediato.

Imagen

Son datos que representan una imagen.

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

string

Solo salida. Es un URI desde el que puedes descargar la imagen. Solo es válido por un tiempo limitado.

altText

string

Es una descripción de la imagen que se muestra cuando los lectores de pantalla colocan el cursor sobre ella y la leen.

properties

object (MediaProperties)

Propiedades de una imagen.

Campo de unión image_source. Es el tipo de fuente de la imagen. Cuando se crean imágenes nuevas, se debe configurar exactamente un campo de fuente de imagen. Las direcciones (image_source) solo pueden ser una de las siguientes opciones:
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.

MediaProperties

Propiedades del contenido multimedia.

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

enum (Alignment)

Es la posición del contenido multimedia.

width

integer

Es el ancho del contenido multimedia en píxeles. Cuando se muestra el contenido multimedia, se ajusta a lo más pequeño de este valor o al ancho del formulario mostrado. Se conserva la relación de aspecto original del contenido multimedia. Si no se especifica un ancho cuando se agregan elementos multimedia al formulario, se establece el ancho de la fuente de contenido multimedia. El ancho debe ser un valor entre 0 y 740, ambos incluidos. Solo se puede establecer el ancho en 0 o sin especificar cuando se actualiza la fuente 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 Center.

TextQuestion

Una pregunta de texto

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

boolean

Si la pregunta es de párrafo o no. De lo contrario, se trata de una pregunta de texto breve.

ScaleQuestion

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

Etiqueta de visualización que describe el punto más bajo de la escala.

highLabel

string

Etiqueta de visualización que describe el punto más alto de la escala.

DateQuestion

Una pregunta sobre fechas. De forma predeterminada, las preguntas de fecha se establecen en solo el mes y el día.

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

boolean

Indica si se debe incluir el tiempo como parte de la pregunta.

includeYear

boolean

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

TimeQuestion

Una pregunta de hora.

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

boolean

true si la pregunta es sobre un tiempo transcurrido. De lo contrario, corresponde a una hora del día.

FileUploadQuestion

Una pregunta de carga de archivos. Por el 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. El ID de la carpeta de Drive en la que se almacenan los archivos que se subieron.

types[]

enum (FileType)

Tipos de archivo 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 que se suba a esta pregunta.

FileType

Tipos de archivo 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 archivo de Documentos 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 Es un archivo de audio.

RowQuestion

La configuración para una pregunta que forma parte de un grupo de preguntas.

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

string

Obligatorio. Es el título de la sola fila en el QuestionGroupItem.

Calificaciones

Cómo 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 por una respuesta correcta. Este valor no debe ser negativo.

correctAnswers

object (CorrectAnswers)

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

whenRight

object (Feedback)

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

whenWrong

object (Feedback)

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

generalFeedback

object (Feedback)

Los comentarios que se muestran para todas las respuestas. En general, se usa para preguntas de respuesta corta cuando el propietario de un cuestionario desea dar rápidamente a los encuestados una idea de si respondió correctamente la pregunta antes de tener la oportunidad de calificar oficialmente la respuesta. No se pueden establecer comentarios generales para las preguntas de opción múltiple con calificación automática.

CorrectAnswers

Es la clave de respuesta de una pregunta.

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

object (CorrectAnswer)

Lista de respuestas correctas Una respuesta a un cuestionario se puede calificar automáticamente en función de esas respuestas. En el caso de las preguntas con un solo valor, una respuesta se marca como correcta si coincide con algún valor de la lista (en otras palabras, es posible tener varias respuestas correctas). En el caso de las preguntas con valores múltiples (CHECKBOX), las respuestas se marcan como correctas si contienen exactamente los valores de esta lista.

CorrectAnswer

Una sola respuesta correcta para una pregunta. En el caso de las preguntas con varios valores (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. Es el valor de respuesta correcto. Consulta la documentación de TextAnswer.value para obtener detalles sobre cómo se da formato a varios tipos de valores.

QuestionGroupItem

Define una pregunta que comprende varias preguntas agrupadas.

Representación 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.
}
Campos
questions[]

object (Question)

Obligatorio. Una lista de preguntas que pertenecen a este grupo de preguntas. Una pregunta debe pertenecer a un solo grupo. Los kind del grupo pueden afectar los tipos de preguntas permitidos.

image

object (Image)

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

Campo de unión kind. Obligatorio. Es el tipo de grupo de preguntas, que determina qué tipos de preguntas están permitidas y cómo se muestran. Las direcciones (kind) solo pueden ser una de las siguientes opciones:
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 casillas de verificación) en la que cada fila constituye una pregunta separada. Cada fila tiene las mismas opciones, que se muestran como las columnas.

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

object (ChoiceQuestion)

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

shuffleQuestions

boolean

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

PageBreakItem

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

TextItem

Es un elemento de texto.

ImageItem

Es un elemento que contiene una imagen.

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

object (Image)

Obligatorio. Corresponde a la imagen que se muestra en el artículo.

VideoItem

Es un elemento que contiene un video.

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

object (Video)

Obligatorio. Es el video que se muestra en el elemento.

caption

string

El texto que se muestra debajo del video.

Video

Son 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 aparece en el mensaje del formulario proporcionado en la solicitud.

get

Obtén un formulario.