Con l'API Google Chat, puoi importare i dati da altre piattaforme di messaggistica in Google Chat. Puoi importare messaggi, allegati, reazioni, appartenenze ed entità dello spazio dalle altre piattaforme di messaggistica a corrispondente Risorse dell'API Chat. Puoi importare questi dati creando spazi di Chat in modalità di importazione e importando i dati in quegli spazi. Al termine del processo, che diventano spazi di Chat standard.
Di seguito viene descritto il processo di importazione completo:
- Pianificare l'importazione
- Configurare l'autorizzazione per l'app Chat
- Creare uno spazio in modalità di importazione
- Importa risorse
- Convalidare le risorse importate
- Riconciliazione delle differenze delle risorse importate dai dati di origine
- Modalità di importazione completa
- Concedere l'accesso allo spazio dopo la modalità di importazione
- Risoluzione dei problemi
Prerequisiti
Apps Script
- Un'azienda o un'impresa Google Workspace con accesso a Google Chat.
- Creare un progetto Google Cloud.
- Abilita e configura l'API Google Chat con un nome, l'icona e la descrizione dell'app Chat.
- Creare un progetto Apps Script autonomo e attivare il Servizio di chat avanzato.
- L'app Chat deve essere delegata a livello di dominio in tutti i domini in cui l'app importa i contenuti; consulta Autorizzare le app di Chat.
Python
- Un'azienda o un'impresa Google Workspace con accesso a Google Chat.
- Creare un progetto Google Cloud.
- Abilita e configura l'API Google Chat con un nome, l'icona e la descrizione dell'app Chat.
- Python 3.6 o versioni successive
- Lo strumento di gestione dei pacchetti pip
- L'app Chat deve essere delegata a livello di dominio in tutti i domini in cui l'app importa i contenuti; consulta Autorizzare le app di Chat.
Pianifica l'importazione
Pianifica di conseguenza la quantità di dati da importare, scopri come limiti di utilizzo e quote possono influire di importazione ed essere consapevoli dei tipi di spazi di Chat supportati per l'importazione in un nuovo spazio.
Rivedi i limiti di utilizzo delle API
Il tempo necessario per importare i dati in Chat può variare notevolmente a seconda della quantità di risorse di Chat da importare. Controlla le impostazioni dell'app Chat limiti di utilizzo e la quantità di dati pianificati l'importazione dalla piattaforma di messaggistica di origine per determinare una stima della cronologia.
Quando importi i messaggi in uno spazio, ti consigliamo di distribuire le chiamate
al messages.create()
in diversi thread di messaggi.
Identifica gli spazi supportati da importare
La modalità di importazione supporta solo SpaceType
di SPACE
. Non supporta
SpaceType
di GROUP_CHAT
o DIRECT_MESSAGE
. Consulta le
documentazione per SpaceType
per ulteriori informazioni.
Crea uno spazio in modalità di importazione
Per creare uno spazio in modalità di importazione, richiama il metodo
Metodo create
il
Space
risorsa
e imposta importMode
su true
.
Quando crei lo spazio in modalità di importazione, tieni presente quanto segue.
- La data e l'ora: ricorda che la modalità di importazione deve essere completata entro 30
giorni. Se lo spazio è ancora in modalità di importazione dopo 30
giorni da quando è stato chiamato il metodo
spaces.create()
, vengono eliminati automaticamente e diventano inaccessibili e non recuperabili.- Non utilizzare il valore dell'attributo
createTime
per monitorare la scadenza del periodo di 30 giorni. Questo non è sempre uguale a quando chiami il metodospaces.create()
. Quando utilizzando la modalità di importazione, il campocreateTime
può essere impostato sul valore il timestamp in cui lo spazio è stato creato nell'origine per di conservare l'ora di creazione originale.
- Non utilizzare il valore dell'attributo
- Il nome della risorsa dello spazio (
name
): L'identificatore univoco utilizzato per recuperare le informazioni sul spazio specifico a cui viene fatto riferimento nei passaggi successivi durante l'importazione dei contenuti nello spazio.
Per mantenere l'ora di creazione dell'entità dello spazio equivalente dall'origine.
piattaforma di messaggistica, puoi impostare il createTime
dello spazio. Questo
createTime
deve essere impostato su un valore compreso tra il 1° gennaio 2000 e la data odierna.
Per creare uno spazio esterno in modalità di importazione, imposta externalUserAllowed
su true
.
Al termine dell'importazione, puoi aggiungere gli utenti esterni.
L'esempio seguente mostra come creare uno spazio in modalità di importazione:
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)
Sostituisci quanto segue:
EMAIL
: l'indirizzo email dell'account utente che stai impersonando un'autorità a livello di dominio.DISPLAY_NAME
: il nome dello spazio creato in modalità di importazione. Deve essere un nome univoco per lo spazio visualizzato da Utenti di Chat. Ti consigliamo di utilizzare lo stesso nome visualizzato di dallo spazio da cui importi i dati.
Importa risorse
Per importare risorse da altre piattaforme di messaggistica, crea Google Chat (ad esempio messaggi, reazioni, allegati) nello spazio in modalità di importazione. Quando crei una risorsa nello spazio, specifichi i dati dalla relativa dalla piattaforma di messaggistica da cui stai eseguendo la migrazione.
Messaggi
Le app di Chat possono importare i messaggi utilizzando la propria autorità oppure
per conto di un utente tramite il furto d'identità. L'autore del messaggio è impostato su
dell'account utente impersonato. Per ulteriori informazioni, vedi
Autorizzare le app di Chat.
Per importare un
in uno spazio in modalità di importazione, richiama
Metodo create
il
Message
risorsa.
Per mantenere l'ora di creazione del messaggio originale dall'origine
piattaforma di messaggistica, puoi impostare l'createTime
del messaggio. Questo
createTime
deve essere impostato su un valore compreso tra il momento in cui crei lo spazio
impostato in precedenza e nell'ora attuale.
I messaggi nello stesso spazio non possono contenere lo stesso createTime
, anche se
i messaggi precedenti con quell'ora vengono eliminati.
I messaggi contenenti URL di terze parti negli spazi in modalità di importazione non possono visualizzare il link le anteprime in Google Chat.
Quando crei messaggi in modalità di importazione, gli spazi non inviano notifiche né inviano email a tutti gli utenti, inclusi i messaggi contenenti menzioni degli utenti.
L'esempio seguente mostra come creare un messaggio in uno spazio in modalità di importazione:
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)
Sostituisci quanto segue:
EMAIL
: l'indirizzo email dell'account utente che rappresenti rubare l'identità di un'autorità a livello di dominio.SPACE_NAME
: il valore nome dello spazio creato in modalità di importazione.
Reazioni
La tua app di Chat può importare reazioni per i messaggi mediante l'API Chat. Per informazioni sui metodi delle risorse tipi di autenticazione supportati negli spazi in modalità di importazione, consulta Autorizzare le app di Chat.
Allegati
L'app Chat può caricare allegati utilizzando l'API Chat. Per informazioni sui metodi delle risorse tipi di autenticazione supportati negli spazi in modalità di importazione, consulta Autorizzare le app di Chat. Tuttavia, ti consigliamo vivamente di utilizzare API Google Drive per caricare gli allegati come file di Google Drive e collegare gli URI dei file rispettivi messaggi negli spazi in modalità di importazione per importare allegati da altri piattaforme di messaggistica per evitare di raggiungere il limite interno di Google Chat per gli allegati per il caricamento.
Cronologia abbonamenti
Gli abbonamenti storici sono abbonamenti creati per gli utenti che avevano già abbandonato la chat l'entità spaziale originale dalla piattaforma di messaggistica di origine, ma vuoi conservare i propri dati in Chat. Per informazioni sull'aggiunta di nuovi membri dopo che lo spazio non è più in fase di importazione vedi Creare una risorsa di abbonamento.
In molti casi, quando questi membri storici sono soggetti a
norme sulla conservazione dei dati in Google,
vuoi conservare i dati (come i messaggi e le reazioni) creati
gli abbonamenti storici in uno spazio prima di importarli in Chat.
Mentre lo spazio è in modalità di importazione, puoi importare le iscrizioni storiche
nello spazio, utilizzando
Metodo create
il
Membership
risorsa.
Per mantenere il tempo di uscita dell'abbonamento storico, devi impostare
deleteTime
dell'abbonamento. L'orario di uscita deve essere preciso perché
influisce sui dati da conservare per gli abbonamenti. Inoltre, questo deleteTime
deve essere successivo al timestamp di creazione dello spazio e non deve essere un timestamp futuro.
Oltre a deleteTime
, puoi anche impostare createTime
per mantenere il valore
data di iscrizione originale dell'abbonamento storico. A differenza di deleteTime
,
Il campo createTime
è facoltativo. Se il criterio non viene configurato, il valore di createTime
viene calcolato automaticamente
sottraendo 1 microsecondo da deleteTime
. Se impostato, createTime
deve essere precedente
deleteTime
e deve essere uguale o successiva alla data di creazione dello spazio. Questo createTime
non vengono utilizzate per determinare la conservazione dei dati e non sono visibili nella
come la Console di amministrazione Google e Google Vault.
Sebbene l'utente possa partecipare a uno spazio e abbandonarlo in vari modi
piattaforma di messaggistica di origine (tramite inviti, partecipazione da parte di se stessi, aggiunta
da un altro utente), in Chat queste azioni sono tutte rappresentate da
i campi dell'appartenenza storica createTime
e deleteTime
come vengono aggiunti
o rimosso.
L'esempio seguente mostra come creare un'appartenenza storica in un'importazione modalità:
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)
Sostituisci quanto segue:
EMAIL
: l'indirizzo email dell'account utente che rappresenti rubare l'identità di un'autorità a livello di dominio.SPACE_NAME
: il valore nome dello spazio creato in modalità di importazione.USER_ID
: l'ID univoco del utente.
Importa risorse in uno spazio esterno
Puoi creare uno spazio esterno con la modalità di importazione solo utilizzando le credenziali degli utenti della tua organizzazione Workspace. Si applica solo mentre lo spazio è in modalità di importazione. Una volta creato lo spazio completa la modalità di importazione, gli utenti esterni possono ricevuto un invito a partecipare agli spazi importati (vedi la sezione per l'accesso) e le relative credenziali possono essere utilizzate per chiamare l'API Chat.
Convalida le risorse importate
L'app Chat può leggere e convalidare i contenuti
di uno spazio in modalità di importazione
Metodo list
nella
Message
risorsa.
Puoi leggere Reaction
e Attachment
risorse da qualsiasi messaggio restituito
emojiReactionSummaries
e attachment
. Le app di chat possono
chiamare questo metodo per conto di un utente solo tramite la rappresentazione. Per ulteriori informazioni
le informazioni, vedi
Autorizzare le app di Chat.
L'app Chat può anche leggere singoli messaggi per
la convalida richiamando il metodo
Metodo get
sulla risorsa Message
.
Le app di chat possono chiamare questo metodo solo per leggere i propri messaggi tramite
utilizzando la propria autorità. Per ulteriori informazioni, vedi
Autorizzare le app di Chat.
Le app di chat possono anche elencare la cronologia degli abbonamenti chiamando il
Metodo list
il
Membership
risorsa.
Quando lo spazio esce dalla modalità di importazione, il metodo list
non espone i dati storici
nuovi abbonamenti. Le app di chat possono chiamare questo metodo solo su
per conto di un utente tramite il furto d'identità. Per ulteriori informazioni, vedi
Autorizzare le app di Chat.
Puoi leggere le proprietà di uno spazio in modalità di importazione richiamando il metodo
Metodo get
il
Space
risorsa.
Le app di chat possono chiamare questo metodo soltanto utilizzando la propria autorità.
Per ulteriori informazioni, vedi
Autorizzare le app di Chat.
Riconciliazione delle differenze delle risorse importate dai dati di origine
Se una risorsa importata non corrisponde più all'entità originale dell'origine alla piattaforma di messaggistica a causa di modifiche all'entità originale durante l'importazione, Le app di chat possono chiamare l'API Chat per modificare risorsa di chat. Ad esempio, se un utente modifica un messaggio nei messaggi di origine dopo la creazione del messaggio in Chat, Le app di chat possono aggiornare il messaggio importato in modo che rifletta contenuti attuali del messaggio originale.
Messaggi
Per aggiornare
campi supportati
su un messaggio in uno spazio in modalità di importazione, richiama
Metodo update
il
Message
risorsa.
Le app di chat possono chiamare questo metodo solo utilizzando la stessa autorità che
durante la creazione iniziale del messaggio. Se hai utilizzato il furto d'identità degli utenti
durante la creazione iniziale del messaggio, devi utilizzare lo stesso utente che ha
aggiornare quel messaggio.
Per eliminare un messaggio in uno spazio in modalità di importazione, chiama il metodo
Metodo delete
il
Message
risorsa.
I messaggi in uno spazio in modalità di importazione non devono essere eliminati dall'originale
creatore di messaggi e possono essere eliminati simulando l'identità di un utente nel dominio.
Le app di chat possono eliminare i propri messaggi utilizzando i propri
l'autorità competente. Per ulteriori informazioni, vedi
Autorizzare le app di Chat.
Reazioni
Per eliminare una reazione per un messaggio in uno spazio in modalità di importazione, utilizza la
Metodo delete
sulla risorsa reactions
. Per informazioni sui metodi delle risorse
tipi di autenticazione supportati negli spazi in modalità di importazione, consulta
Autorizzare le app di Chat.
Allegati
Per aggiornare gli allegati di un messaggio in uno spazio in modalità di importazione, utilizza la
Metodo upload
in media
risorsa. Per informazioni sui metodi e i tipi di autenticazione delle risorse
per gli spazi in modalità di importazione, consulta
Autorizzare le app di Chat.
Cronologia abbonamenti
Per eliminare un'appartenenza storica in uno spazio in modalità di importazione, utilizza
Metodo delete
il
Membership
risorsa. Dopo un
lo spazio esce dalla modalità di importazione, il metodo delete
non ti consente di eliminare i dati storici
nuovi abbonamenti.
Non puoi aggiornare un'appartenenza storica in uno spazio in modalità di importazione. Se vuoi correggere un'appartenenza storica importata in modo errato, è necessario eliminarla e poi ricrearlo mentre lo spazio è ancora in modalità di importazione.
Spaces
Per aggiornare
campi supportati in
in uno spazio in modalità di importazione, utilizza
Metodo patch
sulla risorsa spaces
.
Per eliminare uno spazio in modalità di importazione, utilizza la
Metodo delete
sulla risorsa spaces
.
Per informazioni sui metodi delle risorse e sui tipi di supporto per l'autenticazione negli spazi in modalità di importazione e Autorizzare le app di Chat.
Completa la modalità di importazione
Prima di chiamare il completeImport
devi assicurarti che le fasi di convalida e
riconciliazione delle differenze nelle risorse
sono completate. L'uscita da uno spazio fuori dalla modalità di importazione è un processo irreversibile e
converte lo spazio in modalità di importazione in uno spazio regolare. Non ci sono indicatori in
Chat che attribuisce questi spazi a un'importazione dati.
Prendi nota della data e dell'ora in cui chiami completeImport
, il nome della risorsa
dell'utente che ha effettuato la chiamata e la risposta è stata restituita. Può essere utile
in caso di problemi
e di indagine.
Per completare la modalità di importazione e rendere lo spazio accessibile agli utenti,
L'app di Chat può chiamare il metodo completeImport
sulla
Space
risorsa.
Le app di chat possono chiamare questo metodo solo per conto di un utente tramite
il furto d'identità. Per ulteriori informazioni, vedi
Autorizzare le app di Chat.
L'utente impersonato viene aggiunto allo spazio come
gestore dello spazio
una volta completato questo metodo. Questo metodo deve essere chiamato entro 30 giorni dal
chiamata iniziale al metodo create.space
. Se tenti di chiamare questo metodo dopo
Sono trascorsi 30 giorni. La chiamata causa errori perché l'importazione
viene eliminato e non è più accessibile
Chat.
L'utente impersonato nel metodo completeImport
non deve necessariamente essere il
creatore dello spazio.
L'esempio seguente mostra come completare la modalità di importazione:
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)
Sostituisci quanto segue:
EMAIL
: l'indirizzo email dell'account utente che rappresenti rubare l'identità di un'autorità a livello di dominio.SPACE_NAME
: il valore nome dello spazio creato in modalità di importazione.
Concedere l'accesso allo spazio dopo la modalità di importazione
Per concedere agli utenti di Chat l'accesso allo spazio importato di recente:
Le app di chat possono continuare a utilizzare l'ambito e l'utente chat.import
impersonificazione entro 30 giorni dalla chiamata iniziale al metodo create.space()
le seguenti:
- Aggiungere membri allo spazio: chiama il metodo
create()
sulla risorsaMembership
. Consigliamo alle app di chat creaMembership
risorse subito dopo l'importazione dello spazio completato, in modo che le app di chat possano continuare a utilizzarechat.import
e assicurati che tutti i membri importati abbiano accesso spazio. - Imposta un pubblico di destinazione. Chiama il
Metodo
update()
sulla risorsaSpace
. Per scoprire come creare e aggiungere segmenti di pubblico di destinazione, consulta: Rendere uno spazio di Google Chat rilevabile per utenti specifici in una organizzazione Google Workspace.
Per utilizzare questi metodi con l'ambito chat.import
, l'utente impersonato deve
essere un gestore dello spazio.
Per gli spazi con utenti esterni, l'appartenenza
Metodo create()
ti consente anche di invitare utenti esterni alla tua organizzazione Workspace. Assicurati che
comprendi tutti i
limitazioni note per
utenti esterni.
Risoluzione dei problemi
Se si verifica un problema durante l'importazione degli spazi di Chat, esamina i problemi riportati di seguito. Se ricevi una risposta di errore, (copia/incolla il testo in un documento o salva uno screenshot) per per riferimento futuro e per la risoluzione dei problemi.
Quando uno spazio viene importato correttamente, CompleteImportSpace
viene completato con
uno stato di OK
.
L'importazione non è stata completata prima della scadenza del periodo di 30 giorni
Come descritto in precedenza in Creare uno spazio in modalità di importazione, se lo spazio è ancora in modalità di importazione dopo 30 giorni dal momento in cui il metodo di creazione è stato chiamato, viene automaticamente eliminato e diventa inaccessibile non recuperabile.
Purtroppo lo spazio eliminato non è più disponibile o recuperabile e il processo di importazione deve essere avviato di nuovo.
Trovare gli spazi mancanti
Se non riesci a trovare il nuovo spazio di Chat, rivedi il
tabella che segue per la risposta che hai ricevuto da CompleteImportSpace
a
vedi la spiegazione e come risolverlo.
Risposta ricevuta | Passaggi dell'indagine | Spiegazione | Risoluzione |
---|---|---|---|
CompleteImportSpace genera un'eccezione e chiama
GetSpace restituisce PERMISSION_DENIED . |
Controlla nei record quando lo spazio è stato creato e se è meno recente. più di 30 giorni, è stato eliminato automaticamente. Inoltre, non c'è record dello spazio importato strumento di gestione dello spazio o il log di controllo. | Sono trascorsi più di 30 giorni dall'avvio del processo di importazione e la migrazione dello spazio non è riuscita. | Crea un nuovo spazio ed esegui di nuovo il processo di importazione. |
CompleteImportSpace restituisce OK e chiama
GetSpace restituisce PERMISSION_DENIED . |
Non c'è record dello spazio importato strumento di gestione dello spazio, ma risulta che lo spazio è stato eliminato log di controllo. | Lo spazio è stato importato correttamente, ma successivamente è stato eliminato. | Crea un nuovo spazio ed esegui di nuovo il processo di importazione. |