Bu kılavuzda, Google Chat uygulamalarının size nasıl ileti gönderebileceği mesajlar:
- Kullanıcılara yanıt vererek gerçek zamanlı olarak kısa mesaj ve kart mesajları gönderin bahsedeceğim.
- Şu cihazda
create
yöntemini çağırarak kısa mesaj ve kart mesajlarını eşzamansız olarak gönderinMessage
kaynağı. - Bir mesaj dizisi başlatın veya bir mesaj dizisini yanıtlayın.
- Mesaj gönderin ve mesajı adlandırın.
İlgili içeriği oluşturmak için kullanılan
Message
kaynak
temsil eder
metin
veya
kart
mesajı görebilirsiniz. Şunları yapabilirsiniz:
Şu numarayı arayarak Google Chat API'de bir mesaj: create
, get
, update
veya delete
yöntemler. Kısa mesajlar ve kart mesajları hakkında daha fazla bilgi edinmek için bkz.
Google Chat mesajlarına genel bakış
Maksimum ileti boyutu (metin ve kartlar dahil) 32.000 bayttır. Bir mesaj bu boyutu aşarsa Chat uygulamanız birden fazla ileti gönderebilirsiniz.
Message
kaynağında create
yöntemini çağırmak yerine
eşzamansız olarak bir kısa mesaj veya kart mesajı göndermek için Google Chat API
Google Chat uygulamaları, kullanıcı etkileşimlerine yanıt vermek için
yardımcı olur. Kullanıcı etkileşimlerine verilen yanıtlar için kimlik doğrulama ve
etkileşimli iletişim kutuları ve bağlantı da dahil olmak üzere diğer ileti türlerini destekler.
önizlemeler. Ayrıntılar için bkz.
Google Chat uygulamanızla olan etkileşimleri alın ve yanıtlayın.
Ön koşullar
Node.js
- Bir Google Chat uygulaması. Chat uygulaması oluşturmak için: HTTP hizmeti kullanıyorsanız bu hızlı başlangıç kılavuzunu ziyaret edin.
- Chat uygulamasının göndereceği yetkilendirme yapılandırıldı
eş zamansız mesajlar Göndermek için yetkilendirme yapılandırması gerekmez
gerçek zamanlı olarak gönderin.
- Bir
kısa mesaj
aşağıdaki yetkilendirme yöntemlerinin ikisini de destekler:
- Kullanıcı kimlik doğrulaması
chat.messages.create
veyachat.messages
yetkilendirmesi ile kapsam. - Uygulama kimlik doğrulaması
chat.bot
yetkilendirme kapsamıyla kullanılabilir.
- Kullanıcı kimlik doğrulaması
- Bir
kart mesajı
gerektirir
uygulama kimlik doğrulaması
chat.bot
yetkilendirme kapsamıyla kullanılabilir.
- Bir
kısa mesaj
aşağıdaki yetkilendirme yöntemlerinin ikisini de destekler:
Python
- Bir Google Chat uygulaması. Chat uygulaması oluşturmak için: HTTP hizmeti kullanıyorsanız bu hızlı başlangıç kılavuzunu ziyaret edin.
- Chat uygulamasının göndereceği yetkilendirme yapılandırıldı
eş zamansız mesajlar Göndermek için yetkilendirme yapılandırması gerekmez
gerçek zamanlı olarak gönderin.
- Bir
kısa mesaj
aşağıdaki yetkilendirme yöntemlerinin ikisini de destekler:
- Kullanıcı kimlik doğrulaması
chat.messages.create
veyachat.messages
yetkilendirmesi ile kapsam. - Uygulama kimlik doğrulaması
chat.bot
yetkilendirme kapsamıyla kullanılabilir.
- Kullanıcı kimlik doğrulaması
- Bir
kart mesajı
gerektirir
uygulama kimlik doğrulaması
chat.bot
yetkilendirme kapsamıyla kullanılabilir.
- Bir
kısa mesaj
aşağıdaki yetkilendirme yöntemlerinin ikisini de destekler:
Apps Komut Dosyası
- Bir Google Chat uygulaması. Chat uygulaması oluşturmak için: Google Apps Komut Dosyası'nda hızlı başlangıç kılavuzunu ziyaret edin.
- Chat uygulamasının göndereceği yetkilendirme yapılandırıldı
eş zamansız mesajlar Göndermek için yetkilendirme yapılandırması gerekmez
gerçek zamanlı olarak gönderin.
- Bir
kısa mesaj
aşağıdaki yetkilendirme yöntemlerinin ikisini de destekler:
- Kullanıcı kimlik doğrulaması
chat.messages.create
veyachat.messages
yetkilendirmesi ile kapsam. - Uygulama kimlik doğrulaması
chat.bot
yetkilendirme kapsamıyla kullanılabilir.
- Kullanıcı kimlik doğrulaması
- Bir
kart mesajı
gerektirir
uygulama kimlik doğrulaması
chat.bot
yetkilendirme kapsamıyla kullanılabilir.
- Bir
kısa mesaj
aşağıdaki yetkilendirme yöntemlerinin ikisini de destekler:
Kısa mesaj gönderme
Bu bölümde, aşağıdaki iki yolla nasıl kısa mesaj gönderileceği açıklanmaktadır:
- Kullanıcı etkileşimine yanıt vererek gerçek zamanlı bir kısa mesaj gönderin.
- Google Chat API'yi eşzamansız olarak çağırarak kısa mesaj gönderin.
Gerçek zamanlı olarak kısa mesaj gönderin
Bu örnekte, Chat uygulamanız bir kısa mesaj oluşturup gönderir mesajı gösterilir. En iyi uygulamalar hakkında bilgi edinmek için daha fazla bilgi edinmek için Kullanıcıların ve alanların ilk katılımda yardımcı olmasını sağlayın.
Bir kullanıcı Chat uygulamanızı eklediğinde kısa mesaj göndermek için
alana, Chat uygulamanıza
ADDED_TO_SPACE
için yanıt veriyor
etkileşim etkinliği. Şu kullanıcıya yanıt vermek için:
Kısa mesajla ADDED_TO_SPACE
etkileşim etkinliği için aşağıdaki kodu kullanın:
Node.js
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
exports.onMessage = function onMessage(req, res) {
if (req.method === 'GET' || !req.body.message) {
res.send(
'Hello! This function is meant to be used in a Google Chat space.');
}
// Send an onboarding message when added to a Chat space
if (req.body.type === 'ADDED_TO_SPACE') {
res.json({
'text': 'Hi, Cymbal at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
learn what else I can do, type `/help`.'
});
}
};
Apps Komut Dosyası
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
function onAddToSpace(event) {
return {
'text': 'Hi, Cymbal at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
what else I can do, type `/help`.'
}
}
Kod örneği aşağıdaki kısa mesajı döndürür:
Eşzamansız olarak kısa mesaj gönder
Aşağıdaki bölümde, uygulama kimlik doğrulaması ve kullanıcı kimlik doğrulaması yapma.
Kısa mesaj göndermek için isteğinizde aşağıdakileri iletin:
- Uygulama kimlik doğrulaması ile
chat.bot
yetkilendirme kapsamını belirtin. Entegre kullanıcı kimlik doğrulaması durumundachat.messages.create
yetkilendirme kapsamını belirtin. - Şunu çağırın:
create
yöntem uygulamasındaMessage
kaynak.
Uygulama kimlik doğrulamasını içeren kısa mesaj gönder
Şu şekilde kısa mesaj gönderebilirsiniz: uygulama kimlik doğrulaması:
Python
- Çalışma dizininizde şu ada sahip bir dosya oluşturun:
chat_create_text_message_app.py
Aşağıdaki kodu
chat_create_text_message_app.py
bölümüne ekleyin:from apiclient.discovery import build from google.oauth2 import service_account # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = service_account.Credentials.from_service_account_file( 'credentials.json', scopes=SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body={'text': 'Hello, world!'} ).execute() print(result)
Kodda,
SPACE
öğesini bir alan adıyla değiştirin. şuradan edinebilirsiniz:spaces.list()
yöntem API'den veya bir alanın URL'sinden.Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_create_text_message_app.py
Chat API,
Message
ayrıntılı bir şekilde inceleyebilirsiniz.
Kullanıcı kimlik doğrulamasıyla kısa mesaj gönder
Şu şekilde kısa mesaj gönderebilirsiniz: kullanıcı kimlik doğrulaması:
Python
- Çalışma dizininizde şu ada sahip bir dosya oluşturun:
chat_create_text_message_user.py
Aşağıdaki kodu
chat_create_text_message_user.py
bölümüne ekleyin:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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.messages.create"] def main(): ''' Authenticates with Chat API via user credentials, then creates a text message in a Chat space. ''' # Start with no credentials. creds = None # 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().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body={'text': 'Hello, world!'} ).execute() # Prints details about the created message. print(result) if __name__ == '__main__': main()
Kodda,
SPACE
öğesini bir alan adıyla değiştirin. şuradan edinebilirsiniz:spaces.list()
yöntemini Chat API'den veya bir alanın URL'sinden.Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_create_text_message_user.py
Chat API,
Message
ayrıntılı bir şekilde inceleyebilirsiniz.
Kart mesajları gönderin
Bu bölümde, aşağıdaki iki yolla kart mesajlarının nasıl gönderileceği açıklanmaktadır:
- Kullanıcı etkileşimine yanıt vererek gerçek zamanlı olarak kart mesajı gönderin.
- Google Chat API'yi eşzamansız olarak çağırarak kart mesajı gönderin.
Gerçek zamanlı olarak kart mesajı gönderin
Chat uygulamaları, kullanıcılara yanıt vermek için kart mesajları oluşturabilir etkileşimi (ör. bir kullanıcının Chat uygulamasına bir bir mesaj ekler veya bir alana Chat uygulamasını ekler. Daha fazla bilgi edinmek için daha fazla bilgi için Alın ve yanıt verin Chat uygulaması etkileşimi etkinlikler ile ilgili daha fazla bilgi edinin.
Bu örnekte, bir kullanıcı bir Chat uygulamasına mesaj gönderiyor. Chat uygulaması da size bir kart mesajı göndererek kullanıcı adını ve avatar resmini gösteren bir reklam oluşturabilirsiniz:
Node.js
Python
Apps Komut Dosyası
Bu örnekte, kart JSON'a ekleyin. Ayrıca şunu da kullanabilirsiniz: Apps Komut Dosyası kart hizmeti.
Eşzamansız olarak kart mesajı gönder
Bir kart mesajı, isteğinizde aşağıdakileri iletin:
- Uygulama kimlik doğrulaması ile
chat.bot
yetkilendirme kapsamını belirtin. İnşa edeceğiniz Kullanıcı kimlik doğrulamasıyla kart mesajı gönder. - Şunu çağırın:
create
yöntem uygulamasındaMessage
kaynak.
Aşağıda kart mesajının bir örneği verilmiştir:
Uygulama kimlik doğrulamasıyla kart mesajı göndermek için:
Python
- Çalışma dizininizde şu ada sahip bir dosya oluşturun:
chat_create_card_message.py
Aşağıdaki kodu
chat_create_card_message.py
bölümüne ekleyin:from apiclient.discovery import build from google.oauth2 import service_account # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = service_account.Credentials.from_service_account_file( 'credentials.json', scopes=SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body= { 'cardsV2': [{ 'cardId': 'createCardMessage', 'card': { 'header': { 'title': 'A card message!', 'subtitle': 'Created with the Chat API', 'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png', 'imageType': 'CIRCLE' }, 'sections': [ { 'widgets': [ { 'buttonList': { 'buttons': [ { 'text': 'Read the docs!', 'onClick': { 'openLink': { 'url': 'https://developers.google.com/chat' } } } ] } } ] } ] } }] } ).execute() print(result)
Kodda,
SPACE
öğesini bir alan adıyla değiştirin. şuradan edinebilirsiniz:spaces.list
yöntem API'den veya bir alanın URL'sinden.Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_create_card_message.py
Bir mesaj dizisi başlatma veya yanıtlama
Mesaj dizisi başlatmak için bir mesaj gönderip ayrılın
thread.name
boş; Google Chat, mesaj dizisini oluştururken bu bilgileri doldurur. İsteğe bağlı olarak,
ileti dizisinin adını özelleştirin,
thread.threadKey
girin.
Bir ileti dizisini yanıtlamak için ileti dizisinin
threadKey
veya name
alanı. İleti dizisi bir kullanıcı veya başka biri tarafından oluşturulduysa
Chat uygulaması için thread.name
alanını kullanmalısınız.
Eşleşen bir ileti dizisi bulunamazsa
ayarına göre bir iletinin yeni bir ileti dizisi başlatması veya yayınlanamaması
messageReplyOption
girin.
messageReplyOption
ise
ayarlanmışsa thread.name
veya thread.threadKey
değerini de ayarlamanız gerekir.
threadKey
alanı şu şekilde tanımlanmış olan bir ileti dizisini nasıl başlatacağınız veya yanıtlayacağınız aşağıda açıklanmıştır:
nameOfThread
:
Python
- Çalışma dizininizde şu ada sahip bir dosya oluşturun:
chat_create_message_thread.py
Aşağıdaki kodu
chat_create_message_thread.py
bölümüne ekleyin:from apiclient.discovery import build from google.oauth2 import service_account # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = service_account.Credentials.from_service_account_file( 'credentials.json', scopes=SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # Whether to start a thread or reply to an existing one. # # Required when threading is enabled in a space unless starting a # thread. Ignored in other space types. Threading is enabled when # space.spaceThreadingState is THREADED_MESSAGES. # # REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD replies to an existing thread # if one exists, otherwise it starts a new one. messageReplyOption='REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD', # The message body. body={ # The message to create. 'text': 'Start or reply to another message in a thread!', # The thread to start or reply to. 'thread': { 'threadKey': 'nameOfThread' } } ).execute() print(result)
Kodda,
SPACE
öğesini bir alan adıyla değiştirin. şuradan edinebilirsiniz:spaces.list
yöntem API'den veya bir alanın URL'sinden.Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_create_message_thread.py
Chat API,
Message
ayrıntılı bir şekilde inceleyebilirsiniz.
İletiyi adlandırma
Bu bölümde,
mesajını alırsınız. Mesajları almak, güncellemek veya silmek için özel kimlikleri kullanabilirsiniz. Özel kimlikler
sistem tarafından atanmış kimliğin depolamasına gerek kalmadan bir ileti belirtebilmenizi sağlar.
Mesajın kaynak adı (name
alanında gösterilir). Kaynak
adı
yanıt metni
tıklayın.
Örneğin, get()
yöntemini kullanarak bir iletiyi almak için
kaynak adı. Kaynak adı:
spaces/{space}/messages/{message}
olarak biçimlendirilir (burada {message}
, temsil eder).
benzersiz kimliktir. İletiyi adlandırdıysanız
özel kimlikle {message}
değerini girin.
Bir iletiyi adlandırmak için
messageId
alanına girin. messageId
alanı,
clientAssignedMessageId
Message
kaynağının
Bir mesajı yalnızca mesajı oluştururken adlandırabilirsiniz. Adlarınızı, e-posta Mevcut mesajlar için özel bir kimlik değiştirme. Özel kimlik aşağıdaki özelliklere sahip olmalıdır: koşullar:
client-
ile başlar. Örneğin,client-custom-name
geçerli bir özeldir Kimlik ancakcustom-name
değil.- En fazla 63 karakterden oluşur ve yalnızca küçük harf, rakam ve kısa çizgilerle gösterilir.
- Bir alan içinde benzersiz olmalıdır. Bir Chat uygulaması farklı mesajlar için aynı özel kimliği kullanın.
Özel kimliğe sahip iletileri nasıl göndereceğiniz aşağıda açıklanmıştır:
Python
- Çalışma dizininizde şu ada sahip bir dosya oluşturun:
chat_create_named_message.py
Aşağıdaki kodu
chat_create_named_message.py
bölümüne ekleyin:from apiclient.discovery import build from google.oauth2 import service_account # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = service_account.Credentials.from_service_account_file( 'credentials.json', scopes=SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Create a Chat message with a custom name. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # Custom name for the message used to facilitate later operations. messageId='client-NAME', # The message to create. body={'text': 'Hello, world!'} ).execute() print(result)
Bu kodda, aşağıdakini değiştirin:
SPACE
: Yapmak istediğiniz alanın kimliği mesajı yayınlayın ve bu mesajıspaces.list
yöntem API'den veya bir alanın URL'sinden.NAME
: İletinin özel adı.
Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_create_named_message.py
Chat API,
Message
.
İletinin alt kısmına etkileşimli widget'lar ekleme
İsterseniz aksesuar widget'larıyla iletileri ekleyebilirsiniz. Aksesuar widget'ları, bir iletideki metin veya kartlardan sonra görünür. Şunları kullanabilirsiniz: Kullanıcıların iletinizle birçok farklı şekilde etkileşime girmesini isteyen widget'lar şu:
- Bir mesajın doğruluğunu veya memnuniyetini değerlendirin.
- Mesajla veya Chat uygulamasıyla ilgili bir sorunu bildirin.
- Dokümanlar gibi ilgili içeriklerin bağlantısını açın.
- Benzer mesajları Chat uygulamasında kapatma veya erteleme belirli bir süre boyunca geçerli.
Aksesuar widget'ları eklemek için
accessoryWidgets[]
nesnesini ifade eder ve bir veya daha fazla
AccessoryWidgets
ne yapmanız gerekir? Mesaj, alandaki herkese görünür olmalıdır.
(Özel mesajlara aksesuar widget'ları ekleyemezsiniz).
Aşağıdaki resimde, Kullanıcıların deneyimlerini değerlendirebilmeleri için aksesuar widget'ları içeren bir kısa mesaj .
Aşağıdaki kod örneğinde bu mesajın JSON dosyası gösterilmektedir. Kullanıcı reklamı tıkladığında
düğmelerden birini tıkladığınızda etkileşim, ilgili işlevi (örneğin,
doUpvote
) alan adı olacaktır.
"text": "Rate your experience with this Chat app.",
"accessoryWidgets": [
{
"buttonList": {
"buttons": [
{
"icon": {
"material_icon": {
"name": "thumb_up"
}
},
"color": {
"red": 0,
"blue": 255,
"green": 0
},
"onClick": {
"action": {
"function": "doUpvote",
}
}
},
{
"icon": {
"material_icon": {
"name": "thumb_down"
}
},
"color": {
"red": 0,
"blue": 255,
"green": 0
},
"onClick": {
"action": {
"function": "doDownvote",
}
}
}
]
}
}
]
İletileri gizli olarak gönderme
Chat uygulamaları, kısa mesajları ve kart mesajlarını gizli olarak gönderebilir. Böylece
Mesaj, alandaki tek bir kullanıcıya görünür. Bir iletiyi gizli olarak göndermek için:
iletide privateMessageViewer
alanını belirtmeniz gerekir. Yalnızca
Sohbet uygulamaları özel mesajlar gönderebilir. Özel mesaj göndermek için
eşzamansız olarak uygulama kimlik doğrulamasını kullanmanız gerekir.
Ayrıntılı bilgi için Google Chat'e özel mesaj gönderme başlıklı makaleyi inceleyin. daha fazla müşteri edinin.
Sorun giderme
Bir Google Chat uygulaması veya card bir hata döndürürse Chat arayüzünde "Bir sorun oluştu" mesajı gösteriliyor. veya "İsteğiniz işlenemiyor." Chat kullanıcı arayüzü herhangi bir hata mesajı görüntülenmiyor ancak Chat uygulaması veya kart beklenmeyen bir sonuç veriyorsa; Örneğin karttaki bir mesajda görünür.
Chat kullanıcı arayüzünde hata mesajı görüntülenmese de Hataları düzeltmenize yardımcı olmak için açıklayıcı hata mesajları ve günlük verileri sunulur Chat uygulamaları için hata günlük kaydı etkinleştirildiğinde. Görüntüleme konusunda yardım için ve hataları düzeltme ile ilgili daha fazla bilgi edinmek için Google Chat hatalarını giderme ve düzeltme
İlgili konular
- İletiyi biçimlendirme
- Bir mesajla ilgili ayrıntıları öğrenme
- Bir alandaki mesajları listeleyin.
- Mesajları güncelleme
- İletiyi silme
- Google Chat mesajlarında kullanıcıları tespit edin.
- Gelen webhook'larla Google Chat'e mesaj gönderme.