REST Resource: forms

Recurso: Formulario

Un documento de Formularios de Google Se crea un formulario en Drive, y la eliminación de un formulario o el cambio de sus protecciones de acceso se realiza 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. El título y la descripción del formulario

settings

object (FormSettings)

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

items[]

object (Item)

Obligatorio. Es una lista de los elementos del formulario, que puede incluir encabezados de secciones, 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 se debe tratar de forma opaca. Se garantiza que un ID de revisión devuelto solo será válido durante 24 horas después de que se devuelva y no se puede compartir entre usuarios. Si el ID de revisión no cambia entre llamadas, significa que el formulario no cambió. Por el contrario, un ID modificado (para el mismo formulario y usuario) suele significar 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. Es el URI del formulario que se compartirá con las personas que respondan. Se abrirá una página que le permitirá al usuario 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 una hoja de cálculo de este tipo).

Información

Es la información general de un formulario.

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

string

Obligatorio. Es el título del formulario que pueden ver los encuestados.

documentTitle

string

Solo salida. Es el título del documento que se puede ver 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. documentTitle se puede configurar en la creación, pero no se puede modificar con una solicitud de batchUpdate. Usa la API de Google Drive si necesitas actualizar documentTitle de forma programática.

description

string

Es la descripción del formulario.

FormSettings

Es la configuración de un formulario.

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

object (QuizSettings)

Configuración relacionada con los formularios y la calificación de los cuestionarios.

QuizSettings

Configuración relacionada con los formularios y la calificación de los cuestionarios. Se deben actualizar con UpdateSettingsRequest.

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

boolean

Indica si este formulario es un cuestionario o no. Cuando es verdadero, las respuestas se califican según la pregunta Grading. Cuando se establece como falso, se borran todas las Grading de preguntas.

Elemento

Un solo elemento del formulario. kind define de qué tipo de elemento se trata.

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. Si no se proporciona, se asigna un ID 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. Indica qué tipo de elemento es. kind puede ser solo uno de los siguientes:
questionItem

object (QuestionItem)

Le hace una pregunta al usuario.

questionGroupItem

object (QuestionGroupItem)

Le hace una o más preguntas al usuario con una sola instrucción 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

Es 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

Si 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)
  },
  "ratingQuestion": {
    object (RatingQuestion)
  }
  // End of list of possible types for union field kind.
}
Campos
questionId

string

Solo lectura. Es el ID de la pregunta.

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

required

boolean

Indica si la pregunta debe responderse para que una persona que responde envíe su respuesta.

grading

object (Grading)

Configuración de calificación de la pregunta.

Campo de unión kind. Obligatorio. Es el tipo de pregunta que se le ofrece a un 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)

Una persona que responde puede ingresar una respuesta de texto libre.

scaleQuestion

object (ScaleQuestion)

Una persona que responde puede elegir un número de un rango.

dateQuestion

object (DateQuestion)

Una persona que responde puede ingresar una fecha.

timeQuestion

object (TimeQuestion)

Una persona que responde puede ingresar una hora.

fileUploadQuestion

object (FileUploadQuestion)

Los encuestados pueden subir uno o más archivos.

rowQuestion

object (RowQuestion)

Es una fila de un QuestionGroupItem.

ratingQuestion

object (RatingQuestion)

Los encuestados pueden elegir una calificación de un conjunto predefinido de íconos.

ChoiceQuestion

Una pregunta de selección múltiple, con casilla de verificación o con menú desplegable.

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. Es la lista de opciones entre las que debe elegir un encuestado.

shuffle

boolean

Indica si las opciones se deben mostrar en orden aleatorio para diferentes instancias del cuestionario. Esto se suele usar para evitar que los encuestados que podrían estar mirando la pantalla de otro encuestado hagan trampas o para abordar el sesgo en una encuesta que podría introducirse si siempre se colocan las mismas opciones al principio o al final.

ChoiceType

Es el tipo de elección.

Enumeraciones
CHOICE_TYPE_UNSPECIFIED Valor predeterminado. No se utiliza.
RADIO Botones de selección: Se muestran todas las opciones al usuario, que solo puede elegir una.
CHECKBOX Casillas de verificación: Se muestran todas las opciones al usuario, que puede elegir la cantidad que desee.
DROP_DOWN Menú desplegable: Las opciones solo se muestran al usuario a pedido; 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 elecció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. La opción tal como se le presenta al usuario.

image

object (Image)

Muestra la imagen como una opción.

isOther

boolean

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

Campo de unión go_to_section. A qué sección ir si se selecciona esta opción. Actualmente, solo se aplica a los tipos de elección RADIO y SELECT, pero no se permite en un 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 del artículo del encabezado de la sección a la que se debe ir.

GoToAction

Constantes para la navegación de secciones.

Enumeraciones
GO_TO_ACTION_UNSPECIFIED Valor predeterminado. No se utiliza.
NEXT_SECTION Ve a la siguiente sección.
RESTART_FORM Regresa 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)
  },

  // 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 se coloca el cursor sobre ella y que leen los lectores de pantalla.

properties

object (MediaProperties)

Son las propiedades de una imagen.

Campo de unión image_source. Es el tipo de fuente de imagen. Cuando crees imágenes nuevas, debes establecer 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 que se usa para insertar la imagen. El URI de origen puede estar vacío cuando se recupera.

MediaProperties

Son las 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 al valor más pequeño 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 un ancho cuando se agrega el contenido multimedia al formulario, se establece en el ancho de la fuente de contenido multimedia. El ancho debe estar entre 0 y 740, inclusive. Solo se permite establecer el ancho en 0 o no especificado cuando se actualiza la fuente de contenido multimedia.

Alineación

Alineación en la página.

Enumeraciones
ALIGNMENT_UNSPECIFIED Valor predeterminado. No se utiliza.
LEFT Alinear a la izquierda
RIGHT Alinear a la derecha
CENTER Center.

TextQuestion

Es una pregunta basada en texto.

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

boolean

Indica si la pregunta es de párrafo o no. De lo contrario, la pregunta es de texto corto.

ScaleQuestion

Una pregunta con 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. Es el valor más bajo posible de la escala.

high

integer

Obligatorio. Es el valor más alto posible de la escala.

lowLabel

string

Es la etiqueta que se mostrará para describir el punto más bajo de la escala.

highLabel

string

Es la etiqueta que se mostrará para describir el punto más alto de la escala.

DateQuestion

Una pregunta de fecha. De forma predeterminada, las preguntas de fecha solo muestran el mes y el 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.

TimeQuestion

Una pregunta sobre el tiempo.

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

boolean

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

FileUploadQuestion

Una pregunta de carga de archivos. Actualmente, 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 subidos.

types[]

enum (FileType)

Tipos de archivos que acepta esta pregunta.

maxFiles

integer

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

maxFileSize

string (int64 format)

Es la cantidad máxima de bytes permitida para cualquier archivo que se suba a esta pregunta.

FileType

Son los tipos de archivos que se pueden subir a una pregunta de carga de archivos.

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

RowQuestion

Configuración de 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 única fila en QuestionGroupItem.

RatingQuestion

Una pregunta de calificación. El usuario tiene una variedad de íconos para elegir.

Representación JSON
{
  "ratingScaleLevel": integer,
  "iconType": enum (RatingIconType)
}
Campos
ratingScaleLevel

integer

Obligatorio. Es el nivel de la escala de calificación de la pregunta de calificación.

iconType

enum (RatingIconType)

Obligatorio. Es el tipo de ícono que se usará para la calificación.

RatingIconType

Es el tipo de ícono que se usará para la calificación.

Enumeraciones
RATING_ICON_TYPE_UNSPECIFIED Valor predeterminado. No se utiliza.
STAR Un ícono de estrella.
HEART Un ícono de corazón.
THUMB_UP Un ícono de No me gusta.

Calificaciones

Calificación de 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. No debe ser negativo.

correctAnswers

object (CorrectAnswers)

Obligatorio. Es la clave de respuestas de la pregunta. Las respuestas se califican automáticamente según este campo.

whenRight

object (Feedback)

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

whenWrong

object (Feedback)

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

generalFeedback

object (Feedback)

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

CorrectAnswers

Es la clave de respuestas de 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, una respuesta se marca como correcta si coincide con cualquier valor de esta lista (en otras palabras, es posible que haya varias respuestas correctas). En el caso de las preguntas de varios valores (CHECKBOX), una respuesta se marca como correcta si contiene exactamente los valores de esta lista.

CorrectAnswer

Una sola respuesta correcta para una pregunta. En el caso de las preguntas de 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. El valor de la respuesta correcta. Consulta la documentación de TextAnswer.value para obtener detalles sobre cómo se formatean los diferentes 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. Es una lista de preguntas que pertenecen a este grupo. Una pregunta solo debe pertenecer a un grupo. El kind del grupo puede afectar los tipos de preguntas permitidas.

image

object (Image)

Es la imagen que se muestra en el grupo de preguntas sobre las preguntas específicas.

Campo de unión kind. Obligatorio. Es el tipo de grupo de preguntas, que determina qué tipos de preguntas se permiten 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 (casillas de verificación o de selección) en la que cada fila constituye una pregunta independiente. Cada fila tiene las mismas opciones, que se muestran como columnas.

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

object (ChoiceQuestion)

Obligatorio. Las opciones que comparte 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 aparecen en un orden diferente para cada persona que respondió.

PageBreakItem

Este tipo no tiene campos.

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.

TextItem

Este tipo no tiene campos.

Un elemento de texto

ImageItem

Es un elemento que contiene una imagen.

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

object (Image)

Obligatorio. Es 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

Es 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)

Son las 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 proporciona en el mensaje del formulario de la solicitud.

get

Obtén un formulario.