Verileri Google Chat'e aktarma

Google Chat API ile diğer mesajlaşma platformlarınızdaki verileri içe aktarabilirsiniz Google Chat'e aktarın. Mevcut mesajları, ekleri, tepkileri ve diğer mesajlaşma platformlarınızdaki üyelikleri ve alan varlıklarını kullanarak karşılık gelen Chat API kaynakları. Bu verileri, şurada Chat alanları oluşturarak içe aktarabilirsiniz: içe aktarma modu ve verileri bu alanlara aktarmaktır. Süreç başarıyla tamamlandıktan sonra Bu alanlar standart Chat alanları haline gelir.

Aşağıda içe aktarma sürecinin tamamı açıklanmaktadır:

  1. İçe aktarma işleminizi planlama
  2. Chat uygulaması için yetkilendirmeyi yapılandırma
  3. İçe aktarma modunda alan oluşturma
  4. Kaynakları içe aktarın
  5. İçe aktarılan kaynakları doğrulama
  6. Kaynak verilerden içe aktarılan kaynak farklılıklarını düzeltme
  7. İçe aktarma modunu tamamlama
  8. İçe aktarma modundan sonra alana erişim izni verme
  9. Sorun giderme

Ön koşullar

Apps Komut Dosyası

Python

  • Python 3.6 veya sonraki sürümler
  • pip paket yönetim aracı
  • Python için en yeni Google istemci kitaplıkları. Yüklemek veya güncellemek için komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:

    pip3 install --upgrade google-api-python-client google-auth
    
  • Yayınlanmış bir Chat uygulaması. Mevcut bir Chat uygulaması için bkz. Google Chat uygulaması oluşturun.

  • Chat uygulaması için yetkilendirme yapılandırıldı. İlgili içeriği oluşturmak için kullanılan Chat uygulaması için alan genelinde yetki verilmiş bir yetki kullanılmalıdır içerik aktardığı tüm alan adlarında görünür. Chat uygulamalarını yetkilendirin.

İçe aktarma işleminizi planlayın

İçe aktarılacak veri miktarına göre planlama yapın ve kullanım sınırlarını ve kotalarını etkileyebilir. içe aktarma işlemi gerçekleştirin ve Chat alanı türleri hakkında bilgi edinin desteklenir.

API kullanım sınırlarını inceleme

Chat'e veri aktarmak için gereken süre önemli ölçüde farklılık gösterebilir Bu işlem, içe aktarılacak Chat kaynaklarının miktarına göre değişir. Chat uygulamanızın kullanım sınırları ve planlanan veri miktarı tahmini bir zaman çizelgesi belirlemek için kaynak mesajlaşma platformundan içe aktarın.

Mesajları bir alana aktarırken görüşmeleri dağıtmanızı öneririz. messages.create() yöntemini de kullanabilirsiniz.

İçe aktarılacak desteklenen alanları belirleme

İçe aktarma modu yalnızca SpaceType/SPACE desteklenir. Şunu desteklemiyor: SpaceType/GROUP_CHAT veya DIRECT_MESSAGE. Bkz. SpaceType için dokümanlar konulu videomuzu izleyin.

İçe aktarma modunda alan oluşturma

İçe aktarma modunda bir alan oluşturmak için şunu çağırın: create yöntem uygulamasında Space kaynak ve importMode öğesini true olarak ayarla.

Alanı içe aktarma modunda oluştururken aşağıdakileri göz önünde bulundurun.

  • Tarih ve saat - İçe aktarma modunun 30 gün içinde tamamlanması gerektiğini unutmayın gün. 30'dan sonra alan hâlâ içe aktarma modundaysa spaces.create() yönteminin çağrıldığı andan itibaren otomatik olarak silinir, erişilemez ve kurtarılamaz hale gelir.
    • createTime alanını kullanabilirsiniz. Bu değil her zaman spaces.create() yöntemini çağırdığınızla aynıdır. Zaman içe aktarma modunu kullandığınızda, createTime alanı geçmiş zaman damgasını ekleyebilirsiniz. orijinal oluşturma zamanını koruyun.
  • Alan kaynağı adı (name) - Öğe hakkında bilgi almak için kullanılan benzersiz tanımlayıcı Belirli bir alana ait ve içerik içe aktarılırken sonraki adımlarda bu ada referans verilir gönderiyorum.

Kaynaktaki eşdeğer alan öğesinin oluşturulma zamanını korumak için mesajlaşma platformunda alanın createTime değerini ayarlayabilirsiniz. Bu createTime, 1 Ocak 2000 ile bugünkü saat arasındaki bir değere ayarlanmalıdır.

İçe aktarma modunda harici bir alan oluşturmak için externalUserAllowed değerini true olarak ayarlayın. İçe aktarma işlemi başarıyla tamamlandıktan sonra harici kullanıcılar ekleyebilirsiniz.

Aşağıdaki örnekte, içe aktarma modunda nasıl alan oluşturulacağı gösterilmektedir:

Apps Komut Dosyası

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)

Aşağıdakini değiştirin:

  • EMAIL: işlemi gerçekleştiren kullanıcı hesabının e-posta adresi alan genelinde yetkililerin kimliğine bürünürseniz.
  • DISPLAY_NAME: Şurada oluşturulan alanın adı: içe aktarmanızı sağlar. Bu, Sohbet kullanıcıları. Şununla aynı görünen adı kullanmanızı öneririz: verileri içe aktardığınız alandır.

Kaynakları içe aktarın

Diğer mesajlaşma platformlarından kaynakları içe aktarmak için Google Chat oluşturursunuz kaynakları (ör. mesajlar, tepkiler, ekler) kullanır. Alanda bir kaynak oluşturduğunuzda, ilgili alana ait verileri belirtirsiniz. kaynağındaki verileri taşımalısınız.

Mesajlar

Chat uygulamalarınız mesajları kendi yetkililerini kullanarak içe aktarabilir veya bir kullanıcı adına işlem yapabilirsiniz. İletinin yazarı şuna ayarlandı: kimliğine bürünülmüş bir kullanıcı hesabı. Daha fazla bilgi için bkz. Chat uygulamalarını yetkilendirin. Bir mesajı görürseniz create yöntem uygulamasında Message kaynak. Kaynaktaki orijinal iletinin oluşturulma zamanını korumak için: mesajın createTime değerini ayarlayabilirsiniz. Bu createTime, alanın oluşturulma zamanı arasında bir değere ayarlanmalıdır ve şimdiki saat olabilir.

Aynı alandaki mesajlar aynı createTime değerini içeremez bu zamanı içeren eski iletiler silinir.

İçe aktarma modundaki alanlarda üçüncü taraf URL'leri içeren iletiler bağlantı oluşturamaz Google Chat'teki önizlemeler.

Mesajları içe aktarma modunda oluşturduğunuzda alanlar bildirim göndermez veya e-posta göndermez içeren iletiler de dahil olmak üzere kullanıcı bahisleri.

Aşağıdaki örnekte, içe aktarma modu alanında nasıl mesaj oluşturulacağı gösterilmektedir:

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)

Aşağıdakini değiştirin:

Tepkiler

Chat uygulamanız içe aktarabilir mesajlar için tepkiler bunu yapabilirsiniz. Çevik yaklaşımın kaynak yöntemleri ve kimlik doğrulama desteği türlerine ilişkin bilgiler için bkz. Chat uygulamalarını yetkilendirin.

Ekler

Chat uygulamanız şunları yapabilir: ek yükleme (Chat API'yi kullanıyor). Çevik yaklaşımın kaynak yöntemleri ve kimlik doğrulama desteği türlerine ilişkin bilgiler için bkz. Chat uygulamalarını yetkilendirin. Ancak, kullanmanızı önemle tavsiye ederiz Google Drive API'yi ekleri Google Drive dosyaları olarak yükleyebilir ve dosya URI'lerini diğer Google Chat'te ek için dahili sınıra ulaşmamak amacıyla mesajlaşma platformları yükleyin.

Geçmiş üyelikler

Geçmiş üyelikler, üyelikten ayrılmış olan kullanıcılar için oluşturulan üyeliklerdir kaynak mesajlaşma platformundaki orijinal alan varlığını ancak bu verileri Chat'te saklayabilir. Alan artık içe aktarılmıyorsa yeni üye ekleme hakkında bilgi için Üyelik kaynağı oluşturma başlıklı makaleyi inceleyin.

Çoğu zaman, bu tarihi mensupları davanın Google veri saklama politikasına tarafından oluşturulan verileri (ör. Mesajlar ve tepkiler) Chat'e aktarmadan önce bir alandaki geçmiş üyelikler. Alan içe aktarma modundayken bu geçmiş üyelikleri içe aktarabilirsiniz kullanabilirsiniz. create yöntem uygulamasında Membership kaynak. Geçmiş üyelikten ayrıldığınız süreyi korumak için deleteTime. Bu ayrılma zamanı doğru olmalıdır, çünkü bu üyelikler için hangi verilerin saklanacağını etkiler. Ayrıca, bu deleteTime alan oluşturma zaman damgasından sonra gelmeli ve gelecekteki bir zaman damgası olmamalıdır.

deleteTime özelliğine ek olarak, createTime öğesini de ayarlayarak geçmiş üyeliğin orijinal katılma zamanı olacaktır. deleteTime işlevinin aksine, createTime isteğe bağlıdır. Politika ayarlanmazsa createTime şu şekilde otomatik olarak hesaplanır: deleteTime değerinden 1 mikrosaniye çıkarılarak. Ayarlanırsa createTime, tarihinden önce olmalıdır deleteTime ve alan oluşturma zamanında veya bu tarihten sonra olmalıdır. Bu createTime Bu bilgiler, veri saklamayı belirlemek için kullanılmaz ve yönetici tarafından görülemez. Google Yönetici konsolu ve Google Apps Kasası gibi araçlarla uyumludur.

Bir kullanıcının kaynak mesajlaşma platformu (davetler aracılığıyla, şahsen katılma, ekleme başka bir kullanıcı tarafından), Chat'te bu işlemlerin tamamı geçmiş üyelik olan createTime ve deleteTime alanları ekleniyor veya kaldırıldı.

Aşağıdaki örnekte, içe aktarma işleminde geçmiş üyeliğin nasıl oluşturulacağı gösterilmektedir mod alanı:

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)

Aşağıdakini değiştirin:

  • EMAIL: Kullandığınız kullanıcı hesabının e-posta adresi etki alanı genelinde, yetkilinin kimliğine bürünme.
  • SPACE_NAME: içe aktarma modunda oluşturulan alanın adı.
  • USER_ID: için benzersiz kimlik user (kullanıcı) için geçerli değildir.

Kaynakları harici bir alana aktarma

Yalnızca kimlik bilgilerini kullanarak içe aktarma moduyla harici bir alan oluşturabilirsiniz veya Google Workspace kuruluşunuzdaki kullanıcılara ait olanlar. Bu yalnızca geçerlidir alan içe aktarma modundayken kullanabilirsiniz. Alan içe aktarma modunu tamamlarsa harici kullanıcılar içe aktarılan alanlara katılmaya davet edildi (erişim bölümüne göz atın) ve kimlik bilgileri Chat API'yi çağırmak için kullanılabilir.

İçe aktarılan kaynakları doğrulayın

Chat uygulamanız içerikleri tekrar okuyup doğrulayabilir yöntemini çağırarak içe aktarma modundaki list yöntemi Message kaynak. Döndürülen tüm iletilerden Reaction ve Attachment kaynaklarını okuyabilirsiniz emojiReactionSummaries ve attachment alanları için geçerlidir. Sohbet uygulamaları şunları yapabilir: Bu yöntemi yalnızca kimliğe bürünme aracılığıyla bir kullanıcı adına çağırın. Daha fazla bkz. Chat uygulamalarını yetkilendirin.

Chat uygulamanız aşağıdaki mesajlar için tek tek mesajları da okuyabilir: kodu çağırarak doğrulama işlemini get yöntem Message kaynağında. Sohbet uygulamaları yalnızca kendi mesajlarını okumak için bu yöntemi çağırabilir: sorumluluk bilinciyle hareket eder. Daha fazla bilgi için bkz. Chat uygulamalarını yetkilendirin.

Chat uygulamaları ayrıca list yöntem uygulamasında Membership kaynak. Alan, içe aktarma modundan çıktıktan sonra list yöntemi, geçmiş verilerini açığa çıkarmaz üyelik iptal edilir. Sohbet uygulamaları bu yöntemi yalnızca şuralarda çağırabilir: bir kullanıcı adına işlem yapabilirsiniz. Daha fazla bilgi için bkz. Chat uygulamalarını yetkilendirin.

Bir içe aktarma modu alanının özelliklerini okumak için get yöntem uygulamasında Space kaynak. Sohbet uygulamaları yalnızca kendi yetkilerini kullanarak bu yöntemi çağırabilir. Daha fazla bilgi için bkz. Chat uygulamalarını yetkilendirin.

Kaynak verilerden içe aktarılan kaynak farklılıklarını düzeltme

İçe aktarılan bir kaynak artık kaynaktaki orijinal varlıkla eşleşmiyorsa alma sırasında orijinal varlıktaki değişiklikler nedeniyle mesajlaşma platformuna Chat uygulamaları, içe aktarılan verileri değiştirmek için Chat API'yi çağırabilir sohbet kaynağı. Örneğin, bir kullanıcı kaynak mesajdaki bir mesajı düzenlerse Chat'te oluşturulduktan sonra, Chat uygulamaları, içe aktarılan mesajı güncelleyerek orijinal iletinin mevcut içeriği.

Mesajlar

Güncellemek için desteklenen alanlar içe aktarma modundaki bir mesajda update yöntemi uygulamasında Message kaynak. Sohbet uygulamaları bu yöntemi yalnızca ilk mesaj oluşturulurken kullanıldı. Kullanıcı kimliğine bürünme kullandıysanız Oluşturulan ilk ileti oluşturma işlemi sırasında yine aynı kimliğe bürünülen kullanıcıyı kullanarak o mesajı güncelleyebilirsiniz.

İçe aktarma modundaki bir alanda bir iletiyi silmek için delete yöntem uygulamasında Message kaynak. İçe aktarma modundaki bir alandaki iletilerin orijinal dosya tarafından silinmesi gerekmez. İleti oluşturucu ve alan adındaki herhangi bir kullanıcının kimliğine bürünerek silinebilir. Chat uygulamaları yalnızca kendi mesajlarını kullanarak kendi mesajlarını silebilir yetkilidir. Daha fazla bilgi için bkz. Chat uygulamalarını yetkilendirin.

Tepkiler

İçe aktarma modundaki alanlarda bir mesaja verilen tepkiyi silmek için delete yöntem reactions kaynağında. Çevik yaklaşımın kaynak yöntemleri ve kimlik doğrulama desteği türlerine ilişkin bilgiler için bkz. Chat uygulamalarını yetkilendirin.

Ekler

İçe aktarma modundaki bir iletinin eklerini güncellemek için media üzerinde upload yöntemi gösterir. Kaynak yöntemleri ve kimlik doğrulama türleri hakkında bilgi edinmek için destek için bkz. Chat uygulamalarını yetkilendirin.

Geçmiş üyelikler

İçe aktarma modundaki bir alanda geçmiş bir üyeliği silmek için delete yöntem uygulamasında Membership kaynak. Ardından boşluk, içe aktarma modundan çıkarsa delete yöntemi, geçmiş verilerini silmenize üyelik iptal edilir.

İçe aktarma modundaki alanlarda geçmiş üyelikleri güncelleyemezsiniz. Şunu istiyorsanız: Yanlış şekilde içe aktarılmış bir geçmiş üyeliği düzeltmeniz gerekir. ve ardından alan içe aktarma modundayken dosyayı yeniden oluşturun.

Alanlar

Güncellemek için desteklenen alanlar için bir içe aktarma modu alanı oluşturmak için patch yöntemi spaces kaynağında.

İçe aktarma modundaki bir alanı silmek için delete yöntem spaces kaynağında.

Kaynak yöntemleri ve kimlik doğrulama desteği türleri hakkında bilgi edinmek için içe aktarma modundaki alanlarda Chat uygulamalarını yetkilendirin.

İçe aktarma modunu tamamla

completeImport numaralı telefonu çağırmadan önce yöntemini kullanıyorsanız, doğrulama ve kaynak farklılıklarının mutabakatı gerekir. Bir alandan içe aktarma modundan çıkmak, geri alınamayan bir işlemdir ve içe aktarma modu alanını normal bir alana dönüştürür. Herhangi bir Bu alanları, verileri içe aktarma işlemiyle ilişkilendiren Chat.

completeImport ile arama yaptığınız tarih ve saati (kaynak adı) not edin. ve yanıt geri döndü. Faydalı olabilir .

İçe aktarma modunu tamamlamak ve alana kullanıcıların erişebilmesini sağlamak için Chat uygulaması, completeImport yöntemini çağırabilir Space kaynak. Chat uygulamaları, bu yöntemi yalnızca kullanıcı adına şuradan çağırabilir: ihlâl ediyor. Daha fazla bilgi için bkz. Chat uygulamalarını yetkilendirin. Kimliğine bürünülen kullanıcı, alana şu şekilde eklenir: alan yöneticisi bu yöntem tamamlandığında kullanıma hazırdır. Bu yöntem, şu tarihten itibaren 30 gün içinde çağrılmalıdır: ilk create.space yöntem çağrısı. 30 gün geçtiyse içe aktarma işlemi tamamlandığından arama başarısız olur. mod alanı silinir ve artık Chat uygulaması.

completeImport yönteminde kimliğine bürünülen kullanıcının hoş geldiniz.

Aşağıdaki örnekte, içe aktarma modunun nasıl tamamlanacağı gösterilmektedir:

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)

Aşağıdakini değiştirin:

İçe aktarma modundan sonra alana erişim izni ver

Chat kullanıcılarının yakın zamanda içe aktarılan alana erişmesine izin vermek için: Chat uygulamaları, chat.import kapsamını ve kullanıcıyı kullanmaya devam edebilir ilk create.space() yöntemi çağrısından sonraki 30 gün içinde kimliğe bürünme şu:

  • Alana üye ekleme: create() yöntemini çağırın Membership kaynağında. Chat uygulamalarının alan içe aktarma işleminden hemen sonra Membership kaynaklarını oluşturun kullanmaya devam edebilmesi için chat.import kapsamına girin ve içe aktarılan tüm üyelerin boşluk oluşturur.
  • Hedef kitle belirleyin: update() yöntemi Space kaynağında. Hedef kitle oluşturmayı ve eklemeyi öğrenmek için Bir Google Chat alanını Google Workspace kuruluşu.

Bu yöntemleri chat.import kapsamıyla kullanmak için kimliğine bürünülen kullanıcının bir yönetici ol.

Harici alanlarda üyelik create() yöntem Ayrıca, Workspace kuruluşunuzun dışından kullanıcıları davet etmenize de olanak tanır. Şunlardan emin olun: projenin nasıl ilerlediğini bilinen sınırlamalar harici kullanıcılardır.

Sorun giderme

Chat alanlarını içe aktarırken sorun yaşıyorsanız şu makaleyi inceleyin: aşağıdaki konularda yardım alabilirsiniz. Hata yanıtıyla karşılaşırsanız lütfen not edin (metni kopyalayıp bir belgeye yapıştırın veya ekran görüntüsü kaydedin) ve sorun giderme adımlarına göz atın.

Boşluk başarıyla içe aktarıldığında CompleteImportSpace, OK durumundasınız.

İçe aktarma işlemi, 30 günlük süre dolmadan önce tamamlanmadı

Daha önce İçe aktarma modunda alan oluşturma bölümünde açıklandığı gibi Alan, oluşturma yönteminden 30 gün sonra hâlâ içe aktarma modundadır otomatik olarak silinir ve erişilemez hale gelir Kurtarılamaz.

Maalesef silinen alan artık kullanılamıyor veya kurtarılamaz. içe aktarma işlemi yeniden başlatılmalıdır.

Eksik alanları bulma

Yeni Chat alanını bulamıyorsanız CompleteImportSpace - açıklamaya ve nasıl çözüleceğine bakın.

Yanıt alındı İnceleme adımları Açıklama Çözünürlük
CompleteImportSpace bir istisna gerçekleştiriyor ve çağrıyı yapıyor GetSpace, PERMISSION_DENIED değerini döndürür. Alanın ne zaman oluşturulduğunu ve alanın daha eski olup olmadığını öğrenmek için kayıtlarınızı kontrol edin 30 günden fazlaysa otomatik olarak silindi. Ayrıca, içe aktarılan alanın kaydı alan yönetimi aracı veya denetleme günlüğünü inceleyin. İçe aktarma işleminin başlatılmasının üzerinden 30 günden uzun zaman geçti ve alan, taşıma işleminden başarıyla çıkamadı. Yeni bir alan oluşturun ve içe aktarma işlemini tekrar çalıştırın.
CompleteImportSpace, OK numaralı telefonu iade edip arıyor GetSpace, PERMISSION_DENIED değerini döndürür. İçe aktarılan alanın alan yönetimi aracını kullanın ancak alanın denetleme günlüğünü inceleyin. Alan başarıyla içe aktarıldı ancak daha sonra silindi. Yeni bir alan oluşturun ve içe aktarma işlemini tekrar çalıştırın.