Migra desde la API de Email Settings

Este documento te ayuda a migrar tu app de la API de Email Settings, que dejó de estar disponible, a la API de Gmail.

Autoriza solicitudes

Al igual que la API de Email Settings, la API de Gmail usa el protocolo OAuth 2.0 para autorizar solicitudes. Una diferencia clave es que los permisos de la API de Gmail se limitan a un usuario individual, en lugar de a todo el dominio. Esto significa que autorizar una cuenta de administrador del dominio no te permite migrar el correo de otros usuarios del dominio. En su lugar, debes usar cuentas de servicio estándar con autoridad en todo el dominio que se agreguen a una lista de entidades permitidas en la Consola del administrador de Google para generar el token de autenticación adecuado.

La API de Email Settings usó el siguiente alcance:

https://apps-apis.google.com/a/feeds/emailsettings/2.0/

Los permisos equivalentes en la API de Gmail son los siguientes:

https://www.googleapis.com/auth/gmail.settings.basic
https://www.googleapis.com/auth/gmail.settings.sharing

Cambios en el protocolo

La API de Email Settings usa el protocolo GDATA basado en XML. La API de Gmail usa JSON. Dado que la configuración consiste principalmente en pares clave-valor, las cargas útiles son conceptualmente similares entre las versiones.

Ejemplo de creación de una etiqueta:

API de configuración de correo electrónico

POST https://apps-apis.google.com/a/feeds/emailsettings/2.0/{domain name}/{username}/label
<?xml version="1.0" encoding="utf-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:apps="http://schemas.google.com/apps/2006">
  <apps:property name="label" value="status updates" />
</atom:entry>

API de Gmail

POST https://www.googleapis.com/gmail/v1/users/{username}/labels
{
   "name": "status updates"
}

Usa las bibliotecas cliente proporcionadas en lugar de implementar el protocolo directamente.

Administrar etiquetas

Para administrar etiquetas en la API de Gmail, usa el recurso labels.

Parámetro de configuración anterior Configuración nueva Notas
labelId id
etiqueta nombre
unreadCount messagesUnread
visibilidad labelListVisibility SHOW ahora es labelShow
HIDE ahora es labelHide

Otros cambios:

  • Cuando se actualizan o borran etiquetas, la API de Gmail hace referencia a las etiquetas por ID en lugar de por nombre.

Administrar filtros

Para administrar filtros en la API de Gmail, usa el recurso settings.filters.

Parámetro de configuración anterior Configuración nueva Notas
de criteria.from
a criteria.to
asunto criteria.subject
hasTheWord criteria.query
doesNotHaveTheWord criteria.negatedQuery
hasAttachment criteria.hasAttachment
shouldArchive action.removeLabelIds Usa INBOX como ID de etiqueta.
shouldMarkAsRead action.removeLabelIds Usa UNREAD como ID de etiqueta.
shouldStar action.addLabelIds Usa STARRED como ID de etiqueta.
etiqueta action.addLabelIds Usa el ID de la etiqueta que deseas agregar.
forwardTo action.forward
shouldTrash action.addLabelIds Usa TRASH como ID de etiqueta.
neverSpam action.removeLabelIds Usa SPAM como ID de etiqueta.

Otros cambios:

  • Si una etiqueta de usuario que deseas agregar aún no existe, debes crearla de forma explícita con el método labels.create.

Administra los alias de enviar como

Para administrar los alias de enviar como en la API de Gmail, usa el recurso settings.sendAs.

Parámetro de configuración anterior Configuración nueva
nombre displayName
dirección sendAsEmail
replyTo replyToAddress
makeDefault isDefault

Cómo administrar los clips web

La configuración de los clips web no está disponible en la API de Gmail.

Cómo administrar el reenvío automático

Para administrar el reenvío automático en la API de Gmail, usa el recurso settings.

Parámetro de configuración anterior Configuración nueva Notas
habilitar habilitado
forwardTo emailAddress
acción disposition KEEP ahora es leaveInInbox
ARCHIVE ahora es archive
DELETE ahora es trash
MARK_READ ahora es markRead

Otros cambios:

  • Debes crear y verificar las direcciones de reenvío antes de usarlas.
  • Para administrar las direcciones de reenvío, usa el recurso settings.forwardingAddresses.

Administra la configuración de POP

Para administrar el acceso a POP en la API de Gmail, usa el recurso settings.

Parámetro de configuración anterior Configuración nueva Notas
habilitar accessWindow Se inhabilita cuando se establece en disabled
enableFor accessWindow ALL_MAIL ahora es allMail
MAIL_FROM_NOW_ON ahora es fromNowOn
acción disposition KEEP ahora es leaveInInbox
ARCHIVE ahora es archive
DELETE ahora es trash
MARK_READ ahora es markRead

Administra la configuración de IMAP

Para administrar el acceso a IMAP en la API de Gmail, usa el recurso settings.

Parámetro de configuración anterior Configuración nueva
habilitar habilitado

Administra la configuración de la respuesta automática por vacaciones

Para administrar la respuesta automática de vacaciones en la API de Gmail, usa el recurso settings.

Parámetro de configuración anterior Configuración nueva
contactsOnly restrictToContacts
domainOnly restrictToDomain
habilitar enableAutoReply
endDate endTime
mensaje responseBodyHtml
responseBodyPlainText
startDate startTime
asunto responseSubject

Administra la configuración de firmas

Para administrar las firmas de correo electrónico en la API de Gmail, usa el recurso settings.sendAs.

Parámetro de configuración anterior Configuración nueva
firma firma

Otros cambios:

  • Ahora puedes administrar las firmas por alias.

Administra la configuración de idioma

Para administrar la configuración de idioma en la API de Gmail, usa el recurso settings.

Parámetro de configuración anterior Configuración nueva
idioma displayLanguage

Para obtener más información, consulta Administra la configuración de idioma.

Administrar la configuración de delegación

Para administrar la delegación en la API de Gmail, usa el recurso settings.delegates.

Parámetro de configuración anterior Configuración nueva
dirección delegateEmail
estado verificationStatus

Otros cambios:

  • General
    • Para usar cualquiera de los métodos de delegación (incluido settings.delegates.create), el usuario delegador debe tener habilitado Gmail. Esto significa, por ejemplo, que el usuario delegador no se puede suspender en Google Workspace.
    • No puedes usar un alias de correo electrónico como entrada de correo electrónico del delegado para ninguno de los métodos nuevos. Debes hacer referencia a un usuario delegado por su dirección de correo electrónico principal.
  • settings.delegates.create
    • Ahora puedes usar este método para crear relaciones de delegación en varios dominios que pertenecen a la misma organización de Google Workspace.
    • Ahora puedes usar este método para los usuarios que requieren un cambio de contraseña en su próximo acceso.
    • Si la respuesta es correcta, este método devuelve un recurso settings.delegates en el cuerpo de la respuesta, en lugar de un cuerpo de respuesta vacío.
    • Si el usuario delegador o delegado está inhabilitado (por ejemplo, suspendido en Google Workspace), este método falla con un error HTTP 4XX en lugar de un error HTTP 500.
  • settings.delegates.delete
    • Ahora puedes usar este método para borrar delegados con cualquier VerificationStatus, en lugar de solo los delegados que son accepted o expired.
  • settings.delegates.get

Administrar la configuración general

Los parámetros de configuración generales no están disponibles en la API de Gmail.