En este documento, se explican las diferencias clave entre la API de Email Settings y la API de Gmail. Puedes usar esta guía para migrar tu app 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 para todo el dominio que estén en la lista blanca de la Consola del administrador 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 se compone principalmente de 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.
Administra 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 actualizas o borras etiquetas, la API de Gmail hace referencia a ellas por ID en lugar de por nombre.
Administra filtros
Para administrar filtros en la API de Gmail, usa el recurso Filters.
Parámetro de configuración anterior | Configuración nueva | Notas |
---|---|---|
de | criteria.from | |
to | 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 se 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 aún no existe una etiqueta de usuario, se debe crear 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 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
Los parámetros de configuración de Web Clip ya no están disponibles a través de la API.
Administra la configuración del 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:
- Las direcciones de reenvío se deben crear y verificar antes de usarlas.
- Las direcciones de reenvío se pueden administrar a través del recurso 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 |
Cómo administrar la configuración de la firma
Para administrar las firmas de correo electrónico en la API de Gmail, usa el recurso SendAs.
Parámetro de configuración anterior | Configuración nueva |
---|---|
firma | firma |
Otros cambios:
- Ahora las firmas se administran por alias.
Cómo administrar 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 |
Consulta la guía para administrar la configuración de idioma para obtener más información.
Administra la configuración de delegación
Para administrar la delegación en la API de Gmail, usa el recurso 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 delegates.create), el usuario delegador debe tener habilitado Gmail. Esto significa, por ejemplo, que el usuario delegador no se puede suspender en.
- No se puede usar un alias de correo electrónico como entrada de correo electrónico del delegado para ninguno de los métodos nuevos. Se debe hacer referencia a un usuario delegado por su dirección de correo electrónico principal.
- delegates.create
- Ahora se puede usar este método para crear relaciones de delegación en varios dominios que pertenecen a la misma organización de .
- Ahora se puede 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 de Users.settings.delegates en el cuerpo de la respuesta, en lugar de un cuerpo de respuesta vacío.
- Si alguno de los usuarios delegador o delegado está inhabilitado (por ejemplo, suspendido en ), este método falla con un error HTTP 4XX en lugar de un error HTTP 500.
- delegates.delete
- Ahora se puede usar este método para borrar delegados con cualquier verificationStatus, en lugar de solo los delegados que son
accepted
oexpired
.
- Ahora se puede usar este método para borrar delegados con cualquier verificationStatus, en lugar de solo los delegados que son
- delegates.get
- Este es un método nuevo que podría ser preferible al método delegates.list según las necesidades.
Administra la configuración general
Los parámetros de configuración generales ya no están disponibles a través de la API.