Avec l'API Google Chat, vous pouvez importer des données depuis vos autres plates-formes de messagerie dans Google Chat. Vous pouvez importer des messages, pièces jointes, réactions, les adhésions et les entités d'espace de vos autres plates-formes de messagerie correspondant Ressources de l'API Chat Vous pouvez importer ces données en créant des espaces Chat dans mode importation et importer des données dans ces espaces. Une fois le processus terminé, ces espaces deviennent des espaces Chat standards.
Le processus d'importation complet est décrit ci-dessous:
- Planifier votre importation
- Configurer les autorisations pour l'application Chat
- Créer un espace en mode importation
- Importer des ressources
- Valider les ressources importées
- Synchroniser les différences de ressources importées avec les données sources
- Mode d'importation complet
- Accorder l'accès à l'espace après le mode importation
- Dépannage
Prérequis
Apps Script
- Une entreprise Un compte Google Workspace ayant accès à Google Chat :
- Créez un projet Google Cloud.
- activer et configurer l'API Google Chat à l'aide d'un nom ; et la description de votre application Chat.
- Créer un projet Apps Script autonome et activez le service de chat avancé.
- L'application Chat doit être déléguée au niveau du domaine dans tous les domaines dans lesquels l'application importe du contenu, consultez Autorisez les applications Chat.
Python
- Une entreprise Un compte Google Workspace ayant accès à Google Chat :
- Créez un projet Google Cloud.
- activer et configurer l'API Google Chat à l'aide d'un nom ; et la description de votre application Chat.
- Python 3.6 ou version ultérieure
- L'outil de gestion de packages pip
- L'application Chat doit être déléguée au niveau du domaine dans tous les domaines dans lesquels l'application importe du contenu, consultez Autorisez les applications Chat.
Planifier l'importation
Planifiez en conséquence la quantité de données à importer, comprenez comment les limites d'utilisation et les quotas peuvent avoir un impact sur le processus d'importation, et tenez compte des types d'espaces Chat compatibles lors de l'importation vers un nouvel espace.
Examiner les limites d'utilisation de l'API
Le temps nécessaire pour importer des données dans Chat peut varier considérablement en fonction de la quantité de ressources Chat à importer. Passez en revue les paramètres limites d'utilisation et quantité de données planifiée pour à partir de la plate-forme de messagerie source afin de déterminer un délai estimé.
Lorsque vous importez des messages dans un espace, nous vous recommandons de répartir les appels
sur messages.create()
dans les différents fils de discussion.
Identifier les espaces compatibles avec l'importation
Le mode d'importation n'accepte que le SpaceType
de SPACE
. Il n'est pas compatible
DIRECT_MESSAGE
Si vous bénéficiez de la Preview développeur
programme, GROUP_CHAT
est aussi
compatibles.
Consultez la documentation sur SpaceType
.
pour en savoir plus.
Créer un espace en mode importation
Pour créer un espace en mode importation, appelez la méthode
Méthode create
le
Space
ressource
et définissez importMode
sur true
.
Lorsque vous créez l'espace en mode importation, tenez compte des points suivants.
- La date et l'heure : n'oubliez pas que le mode importation doit être effectué dans les
jours. Si l'espace est toujours en mode importation après 30 jours
jours à partir du moment où la méthode
spaces.create()
a été appelée, sont automatiquement supprimées et deviennent inaccessibles et irrécupérables.- N'utilisez pas la valeur du paramètre
createTime
pour suivre l'expiration du délai de 30 jours. Ceci n'est pas toujours comme lorsque vous appelez la méthodespaces.create()
. Quand ? en mode importation, le champcreateTime
peut être défini sur la valeur le code temporel correspondant à la création de l'espace dans la source préserver l'heure de création d'origine.
- N'utilisez pas la valeur du paramètre
- Nom de la ressource de l'espace (
name
) : Identifiant unique utilisé pour récupérer des informations sur le espace spécifique. Elle sera référencée lors des étapes suivantes lors de l'importation de contenu dans l'espace.
Pour conserver l'heure de création de l'entité espace équivalente de la source
plate-forme de messagerie, vous pouvez définir le createTime
de l'espace. Ce
La valeur de createTime
doit être comprise entre le 1er janvier 2000 et aujourd'hui.
Pour créer un espace externe en mode importation, définissez externalUserAllowed
sur true
.
Une fois l'importation terminée, vous pouvez ajouter des utilisateurs externes.
L'exemple suivant montre comment créer un espace en mode importation:
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)
Remplacez les éléments suivants :
EMAIL
: adresse e-mail du compte utilisateur qui vous usurpez l'identité d'une autorité au niveau du domaine.DISPLAY_NAME
: nom de l'espace créé dans mode d'importation. Il doit s'agir d'un nom unique pour l'espace qui sera présenté aux Utilisateurs de Chat Nous vous recommandons d'utiliser le même nom à afficher que l'espace à partir duquel vous importez des données.
Importer des ressources
Pour importer des ressources d'autres plates-formes de messagerie, vous devez créer Google Chat (comme les messages, les réactions et les pièces jointes) dans l'espace en mode importation. Lorsque vous créez une ressource dans l'espace, vous spécifiez les données des de la plate-forme de messagerie à partir de laquelle vous effectuez la migration.
Messages
Vos applications Chat peuvent importer des messages en utilisant leur propre autorité, ou
pour le compte d'un utilisateur par usurpation d'identité. L'auteur du message est défini sur
d'un compte utilisateur usurpé. Pour en savoir plus, consultez
Autorisez les applications Chat.
Pour importer un
dans un espace en mode importation, appelez la méthode
Méthode create
le
Ressource Message
.
Afin de conserver l'heure de création du message d'origine depuis la source
plate-forme de messagerie, vous pouvez définir l'createTime
du message. Ce
createTime
doit être défini sur une valeur comprise entre l'heure de création de l'espace que vous
définie précédemment et à l'heure actuelle.
Les messages d'un même espace ne peuvent pas contenir le même createTime
, même si
les messages précédents associés à cette date sont supprimés.
Impossible d'afficher le lien dans les messages contenant des URL tierces dans les espaces en mode importation des aperçus dans Google Chat.
Lorsque vous créez les messages en mode importation, les espaces n'en avertissent pas les utilisateurs et n'en envoient pas à tous les utilisateurs, y compris les messages contenant mentions utilisateur.
L'exemple suivant montre comment créer un message dans un espace en mode importation:
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)
Remplacez les éléments suivants :
EMAIL
: adresse e-mail du compte utilisateur que vous empruntant l'identité d'une autorité au niveau du domaine.SPACE_NAME
: le nom de l'espace créé en mode importation.
Réactions
Votre application Chat peut importer réactions aux messages à l'aide de l'API Chat. Pour en savoir plus sur les méthodes et les ressources d'authentification dans les espaces en mode importation, consultez Autorisez les applications Chat.
Pièces jointes
Votre application Chat peut importer des pièces jointes à l'aide de l'API Chat. Pour en savoir plus sur les méthodes et les ressources d'authentification dans les espaces en mode importation, consultez Autorisez les applications Chat. Toutefois, nous vous recommandons vivement d'utiliser API Google Drive pour d'importer des pièces jointes en tant que fichiers Google Drive et d'associer les URI des fichiers au messages respectifs dans les espaces en mode importation pour importer des pièces jointes plates-formes de messagerie pour éviter d'atteindre la limite interne de Google Chat pour les pièces jointes mettre en ligne.
Historique des souscriptions
Les anciens abonnements sont des abonnements créés pour les utilisateurs qui l'avaient déjà quitté. l'entité spatiale d'origine à partir de la plate-forme de messagerie source, mais que vous voulez conserver leurs données dans Chat. Pour savoir comment ajouter des membres une fois que l'espace n'est plus en mode importation, consultez Créer une ressource d'appartenance.
Dans de nombreux cas, lorsque ces membres historiques sont soumis à
Règles de conservation des données de Google,
vous souhaitez conserver les données (telles que les messages et les réactions) créées par
leur historique d'adhésion à un espace avant de les importer dans Chat.
Tant que l'espace est en mode importation, vous pouvez importer l'historique de vos adhésions
dans l'espace, en utilisant
Méthode create
le
Ressource Membership
.
Pour conserver la date de départ de l'ancienne adhésion, vous devez définir
l'deleteTime
de l'abonnement. Cette heure de départ doit être exacte, car elle
détermine les données à conserver pour ces abonnements. De plus, ce/cette deleteTime
doit être postérieure à l'horodatage de création de l'espace et ne doit pas être un horodatage futur.
En plus de deleteTime
, vous pouvez également définir createTime
pour conserver les
la date d'adhésion d'origine de l'ancien abonnement. Contrairement à deleteTime
, le
createTime
est facultatif. Si cette règle n'est pas configurée, createTime
est automatiquement calculé comme suit :
en soustrayant 1 microseconde de deleteTime
. Si cette valeur est définie, createTime
doit être antérieur à
deleteTime
, et doit être identique ou postérieure à l'heure de création de l'espace. Ces informations createTime
ne sont pas utilisées pour déterminer la conservation des données et ne sont pas visibles dans les outils d'administration tels que la console d'administration Google et Google Vault.
Même si un utilisateur peut rejoindre et quitter un espace de différentes manières,
la plate-forme de messagerie source (par le biais d'invitations, la participation par eux-mêmes, l'ajout
par un autre utilisateur), dans Chat, ces actions sont toutes représentées par
les champs createTime
et deleteTime
d'adhésion historiques comme ayant été ajoutés
ou supprimés.
L'exemple suivant montre comment créer un historique d'appartenance dans une importation mode:
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)
Remplacez les éléments suivants :
EMAIL
: adresse e-mail du compte utilisateur que vous empruntant l'identité d'une autorité au niveau du domaine.SPACE_NAME
: le nom de l'espace créé en mode importation.USER_ID
: identifiant unique du utilisateur.
Importer des ressources dans un espace externe
Vous ne pouvez créer un espace externe en mode importation qu'à l'aide d'identifiants appartenant à des utilisateurs dans votre organisation Workspace. Cela s'applique uniquement lorsque l'espace est en mode importation. Une fois que l'espace se termine en mode importation, les utilisateurs externes peuvent invité à rejoindre les espaces importés (voir la section "Accès") et leurs identifiants pour appeler l'API Chat.
Valider les ressources importées
Votre application Chat peut lire et valider le contenu
d'un espace en mode importation en appelant la méthode
Méthode list
sur la
Ressource Message
.
Vous pouvez lire les ressources Reaction
et Attachment
à partir de n'importe quel message
emojiReactionSummaries
et attachment
. Les applications de chat peuvent
n'appeler cette méthode qu'au nom d'un utilisateur par usurpation d'identité. Pour plus
pour en savoir plus, consultez
Autorisez les applications Chat.
Votre application Chat peut également lire les messages individuels des
la validation en appelant la méthode
Méthode get
sur la ressource Message
.
Les applications de chat ne peuvent appeler cette méthode que pour lire leurs propres messages en
avec leur propre autorité. Pour en savoir plus, consultez
Autorisez les applications Chat.
Les applications de chat peuvent également répertorier l'historique des abonnements en appelant la
Méthode list
le
Ressource Membership
.
Une fois que l'espace a quitté le mode importation, la méthode list
n'expose pas l'historique
plus de souscriptions. Les applications de chat ne peuvent appeler cette méthode qu'au nom d'un utilisateur via l'usurpation d'identité. Pour en savoir plus, consultez
Autorisez les applications Chat.
Vous pouvez lire les propriétés d'un espace en mode importation en appelant la méthode
Méthode get
le
Ressource Space
.
Les applications de chat ne peuvent appeler cette méthode qu'en faisant preuve de leur propre autorité.
Pour en savoir plus, consultez
Autorisez les applications Chat.
Rapprocher les différences de ressources importées avec les données sources
Si une ressource importée ne correspond plus à l'entité d'origine de la source de messagerie en raison de modifications apportées à l'entité d'origine lors de l'importation Les applications de chat peuvent appeler l'API Chat pour modifier les ressource de chat. Par exemple, si un utilisateur modifie un message dans le message source une fois ce message créé dans Chat, Les applications de chat peuvent mettre à jour le message importé pour qu'il reflète le contenu actuel du message d'origine.
Messages
Pour mettre à jour
champs acceptés
sur un message dans un espace en mode importation, appelez
Méthode update
le
Message
ressource.
Les applications de chat ne peuvent appeler cette méthode qu'avec la même autorité que celle utilisée pour
a été utilisé lors de la création initiale du message. Si vous avez utilisé l'emprunt d'identité
lors de la création du message, vous devez utiliser le même utilisateur
mettre à jour ce message.
Pour supprimer un message dans un espace en mode importation, appelez la méthode
Méthode delete
le
Ressource Message
.
Il n'est pas nécessaire que l'original supprime les messages d'un espace en mode importation.
créateur du message et peuvent être supprimés en empruntant l'identité de n'importe quel utilisateur du domaine.
Les applications de chat ne peuvent supprimer leurs propres messages qu'avec les leurs
une autorité compétente. Pour en savoir plus, consultez
Autorisez les applications Chat.
Réactions
Pour supprimer une réaction à un message dans un espace en mode importation, utilisez la
Méthode delete
sur la ressource reactions
. Pour en savoir plus sur les méthodes et les ressources
d'authentification dans les espaces en mode importation, consultez
Autorisez les applications Chat.
Pièces jointes
Pour mettre à jour les pièces jointes d'un message dans un espace en mode importation, utilisez la méthode
Méthode upload
sur media
ressource. Pour en savoir plus sur les méthodes de ressources et les types d'authentification
la compatibilité avec les espaces en mode importation, consultez
Autorisez les applications Chat.
Historique des souscriptions
Pour supprimer une appartenance historique à un espace en mode importation, utilisez le
Méthode delete
le
Ressource Membership
. Après un
les sorties d'espace en mode importation, la méthode delete
ne vous permet pas de supprimer
plus de souscriptions.
Vous ne pouvez pas mettre à jour l'historique des adhésions dans un espace en mode importation. Si vous souhaitez corriger un abonnement historique importé de manière incorrecte, vous devez le supprimer puis le recréer pendant que l'espace est toujours en mode importation.
Spaces
Pour mettre à jour
champs acceptés dans
un espace en mode importation, utilisez
Méthode patch
sur la ressource spaces
.
Pour supprimer un espace en mode importation, utilisez la
Méthode delete
sur la ressource spaces
.
Pour en savoir plus sur les méthodes de ressources et les types de prise en charge de l'authentification dans les espaces en mode importation, et voir Autorisez les applications Chat.
Mode d'importation complet
Avant d'appeler la méthode completeImport
vous devez vous assurer que la validation et
rapprochement des différences de ressources
sont terminées. Quitter un espace en dehors du mode importation est un processus irréversible et
convertit l'espace du mode importation en espace standard. Il n'y a pas
d'indicateur dans
Chat qui attribue ces espaces à une importation de données.
Notez la date et l'heure auxquelles vous appelez completeImport
, ainsi que le nom de la ressource.
de l'utilisateur qui a passé l'appel, et la réponse est renvoyée. Cela peut être utile
si vous devez rencontrer des
problèmes et que vous devez les examiner.
Pour terminer le mode importation et rendre l'espace accessible aux utilisateurs,
L'application Chat peut appeler la méthode completeImport
au niveau de la
Ressource Space
.
Les applications de chat ne peuvent appeler cette méthode qu'au nom d'un utilisateur via
l'usurpation d'identité. Pour en savoir plus, consultez
Autorisez les applications Chat.
L'utilisateur dont l'identité a été empruntée est ajouté à l'espace en tant que
gestionnaire de l'espace
une fois cette méthode terminée. Cette méthode doit être appelée dans les 30 jours suivant l'événement
appel initial de la méthode create.space
. Si vous tentez d'appeler cette méthode après la
30 jours se sont écoulés, l'appel entraîne des échecs, car l'importation
est supprimé et n'est plus accessible
Application Chat
L'utilisateur usurpé dans la méthode completeImport
n'a pas besoin d'être
un créateur d'espace.
L'exemple suivant montre comment finaliser le mode d'importation:
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)
Remplacez les éléments suivants :
EMAIL
: adresse e-mail du compte utilisateur que vous empruntant l'identité d'une autorité au niveau du domaine.SPACE_NAME
: le nom de l'espace créé en mode importation.
Accorder l'accès à l'espace après le mode importation
Pour autoriser les utilisateurs Chat à accéder à l'espace récemment importé, procédez comme suit :
Les applications Chat peuvent continuer à utiliser le niveau d'accès et l'utilisateur chat.import
dans les 30 jours suivant l'appel initial de la méthode create.space()
.
les éléments suivants:
- Ajouter des membres à l'espace: appelez la méthode
create()
. sur la ressourceMembership
. Nous recommandons aux applications Chat créer des ressourcesMembership
immédiatement après l'importation de l'espace pour que les applications Chat puissent continuer à utiliserchat.import
et vous assurer que tous les membres importés ont accès au espace. - Définir une audience cible: appelez la méthode
Méthode
update()
sur la ressourceSpace
. Pour découvrir comment créer et ajouter des audiences cibles, consultez Rendre un espace Google Chat visible par des utilisateurs spécifiques d'une organisation Google Workspace.
Pour utiliser ces méthodes avec le champ d'application chat.import
, l'utilisateur dont l'identité a été empruntée doit
pour gérer l'espace.
Pour les espaces externes,
Méthode create()
permet également d'inviter des utilisateurs externes à votre organisation Workspace. Assurez-vous que
vous comprenez toutes les
limites connues pour
pour les utilisateurs externes.
Dépannage
Si vous rencontrez un problème lors de l'importation d'espaces Chat, consultez les problèmes suivants pour obtenir de l'aide. En cas de réponse d'erreur, (copiez-collez le texte dans un document ou enregistrez une capture d'écran) pour de référence et de dépannage à l'avenir.
Lorsqu'un espace est importé correctement, CompleteImportSpace
se termine avec
est à l'état OK
.
N'a pas terminé l'importation avant l'expiration du délai de 30 jours
Comme décrit précédemment dans Créer un espace en mode importation, si l'espace est toujours en mode importation après 30 jours après que la méthode "create" a été appelée, elle est automatiquement supprimée et devient inaccessible, irrécupérable.
Malheureusement, l'espace supprimé n'est plus disponible ni récupérable. le processus d'importation doit être relancé.
Rechercher des espaces manquants
Si vous ne trouvez pas le nouvel espace Chat, consultez les
tableau suivant pour la réponse que vous avez reçue de CompleteImportSpace
à
voir l'explication et comment le résoudre.
Réponse reçue | Étapes de l'enquête | Explication | Solution |
---|---|---|---|
CompleteImportSpace génère une exception et appelle
GetSpace renvoie PERMISSION_DENIED . |
Vérifiez dans vos archives la date de création de l'espace et s'il est plus ancien. depuis au moins 30 jours, il a été automatiquement supprimé. De plus, il n'est pas possible de l'espace importé dans outil de gestion des espaces ou journal d'audit. | le processus d'importation a commencé il y a plus de 30 jours. et l'espace n'a pas réussi à quitter la migration. | Créez un espace et exécutez à nouveau le processus d'importation. |
CompleteImportSpace renvoie OK et appelle
GetSpace renvoie PERMISSION_DENIED . |
Il n'existe aucun enregistrement de l'espace importé dans la section outil de gestion des espaces, mais que l'espace est supprimé dans journal d'audit. | L'espace a bien été importé, puis supprimé par la suite. | Créez un espace et exécutez à nouveau le processus d'importation. |