Con la API de Google Chat, puedes importar datos de tus otras plataformas de mensajería a Google Chat. Puedes importar mensajes, archivos adjuntos, reacciones membresías y entidades espaciales de tus otras plataformas de mensajería para correspondiente Recursos de la API de Chat Para importar estos datos, crea espacios de Chat en modo de importación e importar datos a esos espacios. Una vez que el proceso se completa correctamente, se convertirán en espacios estándar de Chat.
A continuación, se describe el proceso completo de importación:
- Planifica la importación
- Configura la autorización para la app de Chat
- Crea un espacio en modo de importación
- Importa recursos
- Valida los recursos importados
- Concilia las diferencias de los recursos importados con los datos de origen
- Modo de importación completa
- Otorga acceso al espacio después del modo de importación
- Solución de problemas
Requisitos previos
Apps Script
- Una empresa o empresa de Google Workspace con acceso a Google Chat.
- Crea un proyecto de Google Cloud
- Habilita y configura la API de Google Chat con un nombre. y la descripción de tu app de Chat.
- Crear un proyecto independiente de Apps Script, y activa el Servicio de chat avanzado.
- La app de Chat se debe delegar en todo el dominio autoridad en todos los dominios en los que la app importa contenido, consulta Autoriza apps de Chat.
Python
- Una empresa o empresa de Google Workspace con acceso a Google Chat.
- Crea un proyecto de Google Cloud
- Habilita y configura la API de Google Chat con un nombre. y la descripción de tu app de Chat.
- Python 3.6 o superior
- La herramienta de administración de paquetes pip
- La app de Chat se debe delegar en todo el dominio autoridad en todos los dominios en los que la app importa contenido, consulta Autoriza apps de Chat.
Planifica tu importación
Planifique en consecuencia la cantidad de datos que se importarán, y comprenda cómo se los límites de uso y las cuotas pueden afectar el de servicio y ten en cuenta los tipos de espacios de Chat cuando se importan a un espacio nuevo.
Revisar los límites de uso de la API
El tiempo necesario para importar datos a Chat puede variar mucho según la cantidad de recursos de Chat que quieras importar. Revisa los mensajes de tu app límites de uso y la cantidad de datos programados para importar desde la plataforma de mensajería de origen para determinar un cronograma estimado.
Cuando importes mensajes a un espacio, te recomendamos que dividas las llamadas
a la messages.create()
en diferentes cadenas de mensajes.
Identifica los espacios admitidos para importar
El modo de importación solo admite SpaceType
de SPACE
. No es compatible
DIRECT_MESSAGE
Si eres miembro de la Versión preliminar para desarrolladores
programa, GROUP_CHAT
también es
no es compatible.
Consulta la documentación de SpaceType
.
para obtener más información.
Crea un espacio en modo de importación
Para crear un espacio en modo de importación, llama al
Método create
en la
Recurso Space
y establece importMode
en true
.
Cuando crees el espacio en modo de importación, ten en cuenta lo siguiente.
- Fecha y hora: Recuerda que el modo de importación debe completarse dentro de los 30 caracteres
días. Si el espacio sigue en modo de importación después de los 30
días desde el momento en que se llamó al método
spaces.create()
, es se borran automáticamente y se vuelven inaccesibles e irrecuperables.- No uses el valor de
createTime
para realizar un seguimiento del vencimiento de ese período de 30 días. No es siempre es igual que cuando llamas al métodospaces.create()
. Cuándo con el modo de importación, el campocreateTime
se puede establecer en el modo la marca de tiempo en la que se creó el espacio en la fuente para para conservar la hora de creación original.
- No uses el valor de
- El nombre del recurso del espacio (
name
): Es el identificador único que se usa para recuperar información sobre el un espacio específico y se hace referencia a él en pasos posteriores cuando importa contenido al espacio.
Para preservar el tiempo de creación de la entidad espacial equivalente de la fuente
de mensajería, puedes configurar el createTime
del espacio. Esta
createTime
debe establecerse en un valor entre el 1 de enero de 2000 y el momento actual.
Para crear un espacio externo en modo de importación, establece externalUserAllowed
en true
.
Después de completar correctamente la importación, puedes agregar usuarios externos.
En el siguiente ejemplo, se muestra cómo crear un espacio en modo de importación:
Apps Script
function createSpaceInImportMode() {
const space = Chat.Spaces.create({
spaceType: 'SPACE',
displayName: 'DISPLAY_NAME',
importMode: true,
createTime: (new Date('January 1, 2000')).toJSON()
});
console.log(space.name);
}
Python
"""Create a space in import mode."""
import datetime
from google.oauth2 import service_account
from googleapiclient.discovery import build
# Specify required scopes.
SCOPES = [
'https://www.googleapis.com/auth/chat.import',
]
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
.with_subject('EMAIL')
)
# Build a service endpoint for Chat API.
service = build('chat', 'v1', credentials=CREDENTIALS)
result = (
service.spaces()
.create(
body={
'spaceType': 'SPACE',
'displayName': 'DISPLAY_NAME',
'importMode': True,
'createTime': f'{datetime.datetime(2000, 1, 1).isoformat()}Z',
}
)
.execute()
)
print(result)
Reemplaza lo siguiente:
EMAIL
: Es la dirección de correo electrónico de la cuenta de usuario que que está suplantando la identidad de una autoridad en todo el dominio.DISPLAY_NAME
: Es el nombre del espacio creado en modo de importación. Debe ser un nombre único para el espacio que se mostrará a Usuarios de Chat. Te recomendamos usar el mismo nombre visible que el espacio desde el que importas datos.
Importa recursos
Para importar recursos de otras plataformas de mensajería, crea Google Chat recursos (como mensajes, reacciones y archivos adjuntos) en el espacio del modo de importación. Cuando creas un recurso en el espacio, especificas los datos de los recursos de la plataforma de mensajes desde la que migras.
Mensajes
Tus apps de Chat pueden importar mensajes con su propia autoridad.
en nombre de un usuario mediante suplantación de identidad. El autor del mensaje se establece
cuenta de usuario suplantada de identidad. Para obtener más información, consulta
Autoriza apps de Chat.
Para importar un
en un espacio de modo de importación, llama al
Método create
en la
Recurso Message
.
Para conservar la hora de creación del mensaje original de la fuente
plataforma de mensajería, puedes configurar el createTime
del mensaje. Esta
createTime
debe establecerse en un valor entre el momento de creación del espacio que
establecida previamente y la hora actual.
Los mensajes en el mismo espacio no pueden contener el mismo createTime
, incluso si
se borran los mensajes anteriores con esa hora.
No se pueden renderizar el vínculo de los mensajes que contienen URLs de terceros en espacios en modo de importación vistas previas en Google Chat.
Cuando creas los mensajes en modo de importación, los espacios no envían notificaciones ni envían correos electrónicos a cualquier usuario, incluidos los mensajes que contienen menciones de los usuarios.
En el siguiente ejemplo, se muestra cómo crear un mensaje en un espacio en modo de importación:
Python
"""Create a message in import mode space."""
import datetime
from google.oauth2 import service_account
from googleapiclient.discovery import build
# Specify required scopes.
SCOPES = [
'https://www.googleapis.com/auth/chat.import',
]
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
.with_subject('EMAIL')
)
# Build a service endpoint for Chat API.
service = build('chat', 'v1', credentials=CREDENTIALS)
NAME = 'spaces/SPACE_NAME'
result = (
service.spaces()
.messages()
.create(
parent=NAME,
body={
'text': 'Hello, world!',
'createTime': f'{datetime.datetime(2000, 1, 2).isoformat()}Z',
},
)
.execute()
)
print(result)
Reemplaza lo siguiente:
EMAIL
: La dirección de correo electrónico de la cuenta de usuario que deseas o la suplantación de identidad ante una autoridad en todo el dominio.SPACE_NAME
: el Nombre del espacio creado en modo de importación.
Reacciones
Tu app de Chat puede importar reacciones a mensajes con la API de Chat. Para obtener información sobre los métodos de recursos y tipos de compatibilidad con la autenticación en los espacios en modo de importación, consulta Autoriza apps de Chat.
Archivos adjuntos
Tu app de Chat puede hacer lo siguiente: subir archivos adjuntos con la API de Chat. Para obtener información sobre los métodos de recursos y tipos de compatibilidad con la autenticación en los espacios en modo de importación, consulta Autoriza apps de Chat. Sin embargo, te recomendamos que utilices API de Google Drive para subir archivos adjuntos como archivos de Google Drive y vincular los URI de los archivos al respectivos mensajes en los espacios de modo de importación para importar archivos adjuntos de otros plataformas de mensajería para evitar alcanzar el límite interno de Google Chat para los archivos adjuntos carga.
Historial de membresías
Las membresías históricas son aquellas creadas para los usuarios que ya la habían abandonado. la entidad espacial original de la plataforma de mensajería de origen, pero deseas retener sus datos en Chat. Para obtener información sobre cómo agregar miembros nuevos después de que el espacio ya no esté en importación consulta Crea un recurso de membresía.
En muchos casos, cuando esos miembros históricos están sujetos a un
de retención de datos en Google,
deseas conservar los datos (como Mensajes y reacciones) creados por
de membresías históricas de un espacio antes de importarlas a Chat.
Mientras el espacio esté en modo de importación, podrás importar esas membresías históricas
al espacio, con el
Método create
en la
Recurso Membership
.
Para conservar el tiempo de licencia de la membresía histórica, debes establecer
el deleteTime
de la membresía. La hora de salida debe ser precisa
afecta qué datos se conservan para esas membresías. Además, este deleteTime
debe ser posterior a la marca de tiempo de creación del espacio y no debe ser una marca de tiempo futura
Además de deleteTime
, también puedes configurar createTime
para conservar la
la fecha de incorporación original de la membresía histórica. A diferencia de deleteTime
,
createTime
es opcional. Si no se establece, createTime
se calculará automáticamente según
se resta 1 microsegundo a deleteTime
. Si se establece, el valor de createTime
debe ser anterior al
deleteTime
y debe ser igual o posterior a la hora de creación del espacio. Este/a createTime
información no se usa para determinar la retención de datos y no se puede ver en el administrador
herramientas como la Consola del administrador de Google y Google Vault.
Si bien puede haber varias maneras en las que un usuario puede unirse y abandonar un espacio en la
plataforma de mensajería de origen (a través de invitaciones, unirse solos, agregarse
por otro usuario), en Chat, esas acciones se representan con
los campos createTime
y deleteTime
de la membresía histórica como se agregan
o quitarse.
En el siguiente ejemplo, se muestra cómo crear una membresía histórica en una importación espacio de modo:
Python
"""Create a historical membership in import mode space."""
import datetime
from google.oauth2 import service_account
from googleapiclient.discovery import build
# Specify required scopes.
SCOPES = [
'https://www.googleapis.com/auth/chat.import',
]
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
.with_subject('EMAIL')
)
# Build a service endpoint for Chat API.
service = build('chat', 'v1', credentials=CREDENTIALS)
NAME = 'spaces/SPACE_NAME'
USER = 'users/USER_ID'
result = (
service.spaces()
.members()
.create(
parent=NAME,
body={
'createTime': f'{datetime.datetime(2000, 1, 3).isoformat()}Z',
'deleteTime': f'{datetime.datetime(2000, 1, 4).isoformat()}Z',
'member': {'name': USER, 'type': 'HUMAN'},
},
)
.execute()
)
print(result)
Reemplaza lo siguiente:
EMAIL
: La dirección de correo electrónico de la cuenta de usuario que deseas o la suplantación de identidad ante una autoridad en todo el dominio.SPACE_NAME
: el Nombre del espacio creado en modo de importación.USER_ID
: Es el ID único del usuario.
Importa recursos en un espacio externo
Solo puedes crear un espacio externo con el modo de importación usando credenciales que pertenezcan a los usuarios de tu organización de Workspace. Esta opción solo aplica mientras el espacio esté en modo de importación. Cuando el espacio el modo de importación completa, se puede invitados a unirse a los espacios importados (consulta la sección de acceso) y sus credenciales se pueden usar para llamar a la API de Chat.
Valida los recursos importados
Tu app de Chat puede leer y validar el contenido
de un espacio de modo de importación llamando al
Método list
en la
Recurso Message
.
Puedes leer los recursos Reaction
y Attachment
de cualquier mensaje que se muestre
Campos emojiReactionSummaries
y attachment
. Las apps de Chat pueden hacer lo siguiente:
solo llama a este método en nombre de un usuario mediante un robo de identidad. Para ver más
información, consulta
Autoriza apps de Chat.
Tu app de Chat también puede leer mensajes individuales para
la validación llamando al
Método get
en el recurso Message
.
Las apps de Chat solo pueden llamar a este método para leer sus propios mensajes
usando su propia autoridad. Para obtener más información, consulta
Autoriza apps de Chat.
Las apps de chat también pueden enumerar el historial de membresías llamando al
Método list
en la
Recurso Membership
.
Una vez que el espacio sale del modo de importación, el método list
no expone el historial
las membresías. Las apps de chat solo pueden llamar a este método en
nombre de un usuario a través del robo de identidad. Para obtener más información, consulta
Autoriza apps de Chat.
Puedes leer las propiedades de un espacio de modo de importación llamando al
Método get
en la
Recurso Space
.
Las apps de chat solo pueden llamar a este método con su propia autoridad.
Para obtener más información, consulta
Autoriza apps de Chat.
Conciliar las diferencias de recursos importados con los datos de origen
Si algún recurso importado ya no coincide con la entidad original de la fuente plataforma de mensajería debido a cambios en la entidad original durante la importación Las apps de Chat pueden llamar a la API de Chat para modificar el recurso de chat. Por ejemplo, si un usuario edita un mensaje en el mensaje de Google Chat después de crear el mensaje en Chat, Las apps de Chat pueden actualizar el mensaje importado para que refleje el el contenido actual del mensaje original.
Mensajes
Para actualizar
campos compatibles
en un mensaje en un espacio de modo de importación, llama al
Método update
en la
Recurso Message
.
Las apps de Chat solo pueden llamar a este método con la misma autoridad que
se usó durante la creación del mensaje inicial. Si usaste la suplantación de usuarios
durante la creación del mensaje inicial, debes usar el mismo usuario suplantado para
actualizar ese mensaje.
Para eliminar un mensaje en un espacio de modo de importación, llama al
Método delete
en la
Recurso Message
.
No es necesario borrar los mensajes en un espacio de modo de importación en el modo de importación original
creador del mensaje y se puede borrar suplantando la identidad de cualquier usuario del dominio.
Las apps de Chat solo pueden borrar sus propios mensajes con sus
autoridad. Para obtener más información, consulta
Autoriza apps de Chat.
Reacciones
Para eliminar una reacción de un mensaje en un espacio en modo de importación, usa el
Método delete
en el recurso reactions
. Para obtener información sobre los métodos de recursos y
tipos de compatibilidad con la autenticación en los espacios en modo de importación, consulta
Autoriza apps de Chat.
Archivos adjuntos
Para actualizar los archivos adjuntos de un mensaje en un espacio de modo de importación, usa el
Método upload
en media
recurso. Información sobre los métodos de recursos y los tipos de autenticación
en los espacios en modo de importación, consulta
Autoriza apps de Chat.
Historial de membresías
Para eliminar una membresía histórica en un espacio en modo de importación, usa el
Método delete
en la
Recurso Membership
. Después de un
espacio sale del modo de importación, el método delete
no te permite borrar datos
las membresías.
No puedes actualizar una membresía histórica en un espacio en modo de importación. Si quieres corregir una membresía histórica que se importó incorrectamente, debes borrarla y, luego, volver a crearla mientras el espacio aún esté en modo de importación.
Espacios
Para actualizar
campos admitidos en
en un espacio de modo de importación, usa el
Método patch
en el recurso spaces
.
Para borrar un espacio en modo de importación, usa la
Método delete
en el recurso spaces
.
Información sobre los métodos de recursos y los tipos de asistencia para la autenticación en los espacios de modo de importación y verás Autoriza apps de Chat.
Completar el modo de importación
Antes de llamar a completeImport
debes asegurarte de que la validación y
conciliación de las diferencias de recursos
de que se completen. Salir de un espacio fuera del modo de importación es un proceso irreversible y
convierte el espacio del modo de importación en un espacio normal. No hay un indicador en
Chat que atribuye estos espacios a una importación de datos.
Toma nota de la fecha y hora en la que llamas a completeImport
, el nombre del recurso
del usuario que realizó la llamada y la respuesta mostrada. Esto puede ser útil
si debe encontrar algún problema
y debe investigarlo.
Para completar el modo de importación y permitir que los usuarios accedan al espacio,
La app de Chat puede llamar al método completeImport
en la
Recurso Space
.
Las apps de chat solo pueden llamar a este método en nombre de un usuario a través de
de identidad. Para obtener más información, consulta
Autoriza apps de Chat.
El usuario suplantado se agrega al espacio como
administrador del espacio
una vez que se complete este método. Este método debe llamarse dentro de los 30 días posteriores a la
llamada de método create.space
inicial. Si intentas llamar a este método después de
Transcurrieron 30 días, la llamada generó errores porque la importación
el espacio de modo se elimina y el
App de Chat
No es necesario que el usuario suplantado en el método completeImport
sea el
creador del espacio.
En el siguiente ejemplo, se muestra cómo completar el modo de importación:
Python
"""Complete import."""
from google.oauth2 import service_account
from googleapiclient.discovery import build
# Specify required scopes.
SCOPES = [
'https://www.googleapis.com/auth/chat.import',
]
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
.with_subject('EMAIL')
)
# Build a service endpoint for Chat API.
service = build('chat', 'v1', credentials=CREDENTIALS)
NAME = 'spaces/SPACE_NAME'
result = service.spaces().completeImport(name=NAME).execute()
print(result)
Reemplaza lo siguiente:
EMAIL
: La dirección de correo electrónico de la cuenta de usuario que deseas o la suplantación de identidad ante una autoridad en todo el dominio.SPACE_NAME
: el Nombre del espacio creado en modo de importación.
Otorga acceso al espacio después del modo de importación
Para otorgarles a los usuarios de Chat acceso al espacio importado recientemente,
Las apps de chat pueden seguir usando el permiso y el usuario de chat.import
de identidad en un plazo de 30 días a partir de la llamada inicial al método create.space()
lo siguiente:
- Agregar miembros al espacio: Llama al método
create()
. en el recursoMembership
. Recomendamos que las apps de Chat Crear recursosMembership
inmediatamente después de que finalice la importación del espacio completado, para que las apps de Chat puedan seguir usando elchat.import
y asegúrate de que todos los miembros importados tengan acceso al espacio. - Establecer un público objetivo: Llama al
Método
update()
en el recursoSpace
. Para obtener información sobre cómo crear y agregar usuarios objetivo, consulta Hacer que un espacio de Google Chat sea visible para usuarios específicos de una de Google Workspace.
Para usar estos métodos con el alcance chat.import
, el usuario suplantado debe
ser administrador del espacio.
Para los espacios externos, la membresía
Método create()
también te permite invitar a usuarios ajenos a tu organización de Workspace. Asegúrate de que
a comprender todas las
limitaciones conocidas para
usuarios externos.
Solución de problemas
Si tienes problemas para importar espacios de Chat, revisa los siguientes problemas para obtener asistencia. Si encuentras una respuesta de error, una nota (copia y pega el texto en un documento o guarda una captura de pantalla) para referencia futura y solución de problemas.
Cuando un espacio se importa correctamente, CompleteImportSpace
se completa con
un estado de OK
.
No se completó la importación antes de que venciera el período de 30 días.
Como se describió anteriormente en Crea un espacio en modo de importación, si El espacio seguirá en modo de importación 30 días después del momento en que se usó el método create se llama, se borra automáticamente y se vuelve inaccesible y irrecuperables.
Lamentablemente, el espacio borrado ya no está disponible ni se puede recuperar, y la el proceso de importación debe volver a iniciarse.
Cómo buscar espacios faltantes
Si no encuentras el nuevo espacio de Chat,
siguiente tabla para la respuesta que recibiste de CompleteImportSpace
a
ver la explicación y cómo resolverlo.
Respuesta recibida | Pasos de la investigación | Explicación | Solución |
---|---|---|---|
CompleteImportSpace arroja una excepción y llama
GetSpace muestra PERMISSION_DENIED . |
Revisa tus registros para saber cuándo se creó el espacio y si es más antiguo más de 30 días, se borró automáticamente. Además, no hay registro del espacio importado en la herramienta de administración de espacios o registro de auditoría. | Transcurrieron más de 30 días desde que se inició el proceso de importación. y no se pudo salir de la migración correctamente al espacio. | Crea un espacio nuevo y vuelve a ejecutar el proceso de importación. |
CompleteImportSpace muestra OK y llama
GetSpace muestra PERMISSION_DENIED . |
No hay ningún registro del espacio importado en la herramienta de administración de espacios, pero se muestra que el espacio está borrado registro de auditoría. | El espacio se importó correctamente, pero luego se borró. | Crea un espacio nuevo y vuelve a ejecutar el proceso de importación. |