Bu kılavuzda, Google Chat alanı oluşturmak için Google Chat API'nin Space
kaynağında setup
yönteminin nasıl kullanılacağı açıklanmaktadır. Alan oluşturulduğunda bir alan oluşturulur ve
belirli kullanıcılar alana eklenir.
Space
kaynağı, kullanıcıların ve Chat uygulamalarının mesaj gönderebileceği, dosya paylaşabileceği ve ortak çalışma yapabileceği bir yeri temsil eder. Birkaç alan türü vardır:
- Doğrudan mesajlar (DM'ler), iki kullanıcı veya bir kullanıcı ile bir Chat uygulaması arasındaki görüşmelerdir.
- Grup sohbetleri, üç veya daha fazla kullanıcı ile Chat uygulamaları arasındaki görüşmelerdir.
- Adlandırılmış alanlar, kullanıcıların mesaj gönderdiği, dosya paylaştığı ve ortak çalıştığı kalıcı yerlerdir.
Alan oluştururken aşağıdakileri göz önünde bulundurun:
- Arayan (kimliği doğrulanmış) kullanıcı, alana otomatik olarak eklenir. Böylece, istekte kullanıcının üyeliğini belirtmeniz gerekmez.
- Doğrudan mesaj (DM) oluştururken iki kullanıcı arasında bir DM varsa DM döndürülür. Aksi takdirde bir DM oluşturulur.
- Grup sohbeti oluşturulurken, istekte sağlanan üyeliklerden hiçbiri grup sohbetine başarıyla eklenmemişse (örneğin, izin sorunu) boş bir grup sohbeti (yalnızca arayan kullanıcı dahil) oluşturulabilir.
- Mesaj dizisi halinde yanıtlar içeren alanlar oluşturamaz veya Google Workspace hesabınızın dışından kullanıcı ekleyemezsiniz.
- İstekte sağlanan yinelenen üyelikler (arayan kullanıcı dahil) istek hatasına neden olmak yerine filtrelenir.
Ön koşullar
Python
- Python 3.6 veya sonraki sürümler
- pip paket yönetimi aracı
Python için en yeni Google istemci kitaplıkları. Bunları 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-oauthlib
- Google Chat API'nin etkinleştirildiği ve yapılandırıldığı bir Google Cloud projesi Adımlar için Google Chat uygulaması oluşturma başlıklı makaleyi inceleyin.
Chat uygulaması için yetkilendirme yapılandırıldı. Alan ayarlamak için
chat.spaces.create
veyachat.spaces
yetkilendirme kapsamıyla kullanıcı kimlik doğrulaması gerekir.
Node.js
- Node.js ve npm
Node.js için en yeni Google istemci kitaplıkları. Bunları yüklemek için komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:
npm install @google-cloud/local-auth @googleapis/chat
- Google Chat API'nin etkinleştirildiği ve yapılandırıldığı bir Google Cloud projesi Adımlar için Google Chat uygulaması oluşturma başlıklı makaleyi inceleyin.
Chat uygulaması için yetkilendirme yapılandırıldı. Alan oluşturmak için
chat.spaces.create
veyachat.spaces
yetkilendirme kapsamıyla kullanıcı kimlik doğrulaması gerekir.
Alan oluşturma
Alan oluşturmak için isteğinizde aşağıdakileri iletin:
chat.spaces.create
veyachat.spaces
yetkilendirme kapsamını belirtin.Space
kaynağındasetup
yöntemini çağırın.- Bir gerçek kullanıcıyı alan üyesi olarak eklemek için
users/{user}
değerini belirtin. Burada{user}
, People API'dekiperson
için{person_id}
veya Directory API'dekiuser
kimliğidir. Örneğin, People API kullanıcısıresourceName
people/123456789
iseusers/123456789
üyesi bir üyeliğimember.name
olarak ekleyerek kullanıcıyı alana ekleyebilirsiniz. - Bir grubu alan üyesi olarak eklemek için
groups/{group}
değerini belirtin. Burada{group}
, üyelik oluşturmak istediğiniz grup kimliğidir. Grubun kimliği Cloud Identity API kullanılarak alınabilir. Örneğin Cloud Identity API,groups/123456789
adlı bir grup döndürürsemembership.groupMember.name
değerinigroups/123456789
olarak ayarlayın. Google Grupları, grup sohbetine veya DM'ye değil, yalnızca adlandırılmış bir alana eklenebilir. - Arayan kullanıcı ile başka bir gerçek kullanıcı arasında DM oluşturmak için isteğinizde gerçek kullanıcının üyeliğini belirtin.
- Arayan kullanıcı ile arama uygulaması arasında bir DM oluşturmak için
Space.singleUserBotDm
öğesinitrue
olarak ayarlayın ve üyelik belirtmeyin. Bu yöntemi yalnızca arama uygulamasıyla bir DM ayarlamak için kullanabilirsiniz. Arama uygulamasını bir alanın üyesi olarak veya iki kullanıcı arasındaki mevcut bir DM'yi eklemek için Üyelik oluşturma bölümüne bakın.
Aşağıdaki örnekte, adlandırılmış alan ve bir grup ile üç gerçek kullanıcı (kimliği kimliği doğrulanmış kullanıcı ve belirtilen diğer iki kullanıcı dahil) için alana üyelikler oluşturulmaktadır.
Python
- Çalışma dizininizde
chat_space_setup.py
adlı bir dosya oluşturun. Aşağıdaki kodu
chat_space_setup.py
bölümüne ekleyin:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.create"] def main(): ''' Authenticates with Chat API via user credentials, then sets up a Chat space by creating a space and adding members. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().setup( # Details about the space to set up. body = { # Attributes of the space to set up, like space type and display name. 'space': { # To set up a named space, set spaceType to SPACE. 'spaceType': 'SPACE', # The user-visible name of the space 'displayName': 'API-setup' }, # The users and groups to add to the space. # # The authenticated user is automatically added to the space, # and doesn't need to be specified in the memberships array. 'memberships': [ { 'member': { 'name':'users/123456789', 'type': 'HUMAN' } }, { 'member': { 'name':'users/987654321', 'type': 'HUMAN' } }, { 'groupMember': { 'name': 'groups/11223344' } } ] } ).execute() # Prints details about the created space. print(result) if __name__ == '__main__': main()
Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_space_setup.py
Node.js
- Çalışma dizininizde
setup-space.js
adlı bir dosya oluşturun. Aşağıdaki kodu
setup-space.js
bölümüne ekleyin:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Sets up a new Chat space with users. * @return {!Promise<!Object>} */ async function setupSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.create', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.setup({ requestBody: { space: { spaceType: 'SPACE', displayName: 'API-made', }, memberships: [ {member: {name: 'users/123456789', type: 'HUMAN'}}, {member: {name: 'users/987654321', type: 'HUMAN'}}, {groupMember: {name: 'groups/11223344'}}, ] } }); } setupSpace().then(console.log);
Çalışma dizininizde örneği çalıştırın:
node setup-space.js
Bir grubun ve kimliği doğrulanmış kullanıcı dahil üç gerçek kullanıcının yer aldığı adlandırılmış sohbet alanı oluşturulur.
Alana gitmek için alanın kaynak kimliğini kullanarak alanın URL'sini oluşturun.
Kaynak kimliğini, Google Chat yanıt gövdesindeki name
alanından alabilirsiniz. Örneğin, alanınızın name
değeri spaces/1234567
ise şu URL'yi kullanarak alana gidebilirsiniz:
https://mail.google.com/chat/u/0/#chat/space/1234567
.
İlgili konular
- Alan oluşturun.
- Bir alanla ilgili ayrıntıları öğrenin.
- Alanları listeleyin.
- Alan güncelleme
- Alanı silebilirsiniz.
- Doğrudan mesaj alanı bulun.
- Bir alanı belirli kullanıcılar tarafından bulunabilir hale getirin.