Bu sayfada, Google Chat uygulaması olarak özel mesaj oluşturma ve gönderme hakkında bilgi verilmektedir.
Özel mesaj, yalnızca belirli bir Chat kullanıcısı tarafından görülebilen bir Chat uygulaması mesajıdır. Birden fazla kişiyle alanlarda özel mesajlar kullanarak bu kişilerin Chat uygulamalarıyla özel olarak etkileşimde bulunabilmelerini sağlayabilirsiniz. Örneğin, Chat uygulamanız aşağıdaki işlemleri yapmak için gizli olarak mesaj gönderebilir:
- Eğik çizgi komutuna yanıt verin. Örneğin, bir kullanıcı bir alanda Chat uygulamanızın
/about
eğik çizgi komutunu çağırırsa Chat uygulamanız, Chat uygulamanızın ne yaptığını ve nasıl kullanıldığını açıklayan bir özel mesajla yanıt verebilir. - Yalnızca tek bir kullanıcıyla alakalı bilgileri bilgilendirme veya gönderme. Örneğin, kullanıcıya bir görev atandığını bildirebilir veya görevi tamamlamasını hatırlatabilirsiniz.
- Hata mesajı gönderin. Örneğin, kullanıcı eğik çizgi komutu için gerekli bağımsız değişken metnini atlarsa Chat uygulaması, hatayı açıklayan ve kullanıcının komutu biçimlendirmesine yardımcı olan bir özel mesaj gönderebilir.
Bir Chat uygulaması özel mesaj gönderdiğinde mesaj, kullanıcıya mesajı yalnızca kendisinin görebildiğini bildiren bir etiket gösterir:
Ön koşullar
Node.js
- Google Chat API'nin etkin ve yapılandırılmış olduğu bir Google Cloud projesi. Adımlar için Google Chat uygulaması oluşturma başlıklı makaleye göz atın.
- Eğik çizgi komutuna özel olarak yanıt vermek amacıyla Chat uygulaması için yapılandırılmış bir eğik çizgi komutu kullanın. Komut oluşturmak için Eğik çizgi komutlarını yanıtlama başlıklı makaleyi inceleyin.
messages.create()
yöntemini kullanarak özel mesaj göndermek için uygulama kimlik doğrulamasını kullanmanız gerekir.
Not: Bu kılavuzdaki Node.js kod örnekleri, Google Cloud Functions olarak çalışacak şekilde yazılmıştır.
Python
- Google Chat API'nin etkin ve yapılandırılmış olduğu bir Google Cloud projesi. Adımlar için Google Chat uygulaması oluşturma başlıklı makaleye göz atın.
- Eğik çizgi komutuna özel olarak yanıt vermek amacıyla Chat uygulaması için yapılandırılmış bir eğik çizgi komutu kullanın. Komut oluşturmak için Eğik çizgi komutlarını yanıtlama başlıklı makaleyi inceleyin.
messages.create()
yöntemini kullanarak özel mesaj göndermek için uygulama kimlik doğrulamasını kullanmanız gerekir.
Not: Bu kılavuzdaki Python kod örnekleri, Python 3.10 kullanılarak Google Cloud Functions olarak çalışacak şekilde yazılmıştır.
Apps Komut Dosyası
- Bir Chat uygulaması. Chat uygulaması oluşturmak için bu quickstart takip edin.
- Eğik çizgi komutuna özel olarak yanıt vermek amacıyla Chat uygulaması için yapılandırılmış bir eğik çizgi komutu kullanın. Komut oluşturmak için Eğik çizgi komutlarını yanıtlama başlıklı makaleyi inceleyin.
messages.create()
yöntemini kullanarak özel mesaj göndermek için uygulama kimlik doğrulamasını kullanmanız gerekir.
Özel mesaj gönderin
Chat uygulaması olarak gizli olarak mesaj göndermek için mesajı oluştururken privateMessageViewer
alanını belirtirsiniz. Herhangi bir mesaj oluşturduğunuz gibi, özel mesajları bir kullanıcı etkileşimine yanıt vererek veya Message
kaynağında eşzamansız olarak Google Chat API'nin create()
yöntemini çağırarak oluşturursunuz. Kısa mesaj veya kart mesajı gönderme adımları için Mesaj gönderme başlıklı makaleyi inceleyin.
Aşağıdaki örnekte, Hello private world!
yazan bir özel kısa mesajın JSON dosyası gösterilmektedir:
{
"text": "Hello private world!",
"privateMessageViewer": "USER"
}
Bu örnekte USER
, mesajı User
kaynağı olarak biçimlendirilmiş şekilde görüntüleyebilen Chat kullanıcısını temsil eder. Bir kullanıcı etkileşimine yanıt veriyorsanız etkileşim etkinliğinden User
nesnesini belirtebilirsiniz.
Örnek için aşağıdaki Eğik çizgi komutuna özel olarak yanıt verme bölümüne bakın.
Aksi takdirde, özel mesaj için görüntüleyiciyi belirtmek üzere User
kaynağının name
alanını kullanabilirsiniz:
{
"text": "Hello private world!",
"privateMessageViewer": {
"name": "users/USER_ID"
}
}
Bu örnekte, Google Chat'te görüntüleyenin User
kaynak adını belirtmek için name
alanını kullanırsınız. USER_ID
kısmını, 12345678987654321
veya hao@cymbalgroup.com
gibi kullanıcı için benzersiz bir kimlikle değiştirin.
Kullanıcı belirtme hakkında daha fazla bilgi edinmek için Google Chat kullanıcılarını belirleme ve belirtme başlıklı makaleye göz atın.
Eğik çizgi komutuna özel olarak yanıt verme
Aşağıdaki kod, eğik çizgi komutuna özel mesajla yanıt veren bir Chat uygulaması örneğini gösterir.
Chat uygulaması bir MESSAGE
etkileşim etkinliğini işler ve /help
eğik çizgi komutuna nasıl kullanılacağını açıklayan özel bir kısa mesajla yanıt verir:
Node.js
/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {!Object} req Request sent from Google Chat app
* @param {!Object} res Response to send back
*
* @return {!Object} respond to slash command
*/
exports.onMessage = function onMessage(req, res) {
if (req.method === 'GET' || !req.body.message) {
return res.send('Hello! This function is meant to be used in Google Chat app.');
}
const event = req.body;
// Checks for the presence of event.message.slashCommand.
// If the slash command is "/help", responds with a private text message.
if (event.message.slashCommand) {
switch (event.message.slashCommand.commandId) {
case '1': // /help
return res.json({
privateMessageViewer: event.user,
text: 'This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>.'
});
}
}
// If the Chat app doesn't detect a slash command, it responds
// with a private text message
return res.json({
privateMessageViewer: event.user,
text: 'Try a slash command.'
});
};
Apps Komut Dosyası
/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {Object} event the event object from Google Chat
*/
function onMessage(event) {
if (event.message.slashCommand) {
switch (event.message.slashCommand.commandId) {
case 1: // Responds to /help
return {
"privateMessageViewer": event.user,
"text": "This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>."
};
}
}
else {
return { "text": "Try a slash command.", "privateMessageViewer": event.user };
}
}
Python
from typing import Any, Mapping
import flask
import functions_framework
@functions_framework.http
def main(req: flask.Request) -> Mapping[str, Any]:
"""Responds to a MESSAGE event in Google Chat.
Args:
req (flask.Request): the event object from Chat API.
Returns:
Mapping[str, Any]: open a Dialog in response to a card's button click.
"""
if req.method == 'GET':
return 'Hello! This function must be called from Google Chat.'
request = req.get_json(silent=True)
# Checks for the presence of event.message.slashCommand.
# If the slash command is "/help", responds with a private text message.
if request.get('message', {}).get('slashCommand'):
command_id = request.get('message', {}).get('slashCommand').get('commandId')
if command_id == '1': # /help
return {
'privateMessageViewer': request.get('user'),
'text': (
'This Chat app was created by Cymbal Labs. To get help with this'
' app, <https://cymbalgroup.com/docs|see our documentation> or'
' <https://cymbalgroup.com/support|contact our support team>.'
),
}
return {
'privateMessageViewer': request.get('user'),
'text': 'Try a slash command.',
}
Sınırlamalar
Özel mesaj göndermek için mesaj şunları içeremez veya kullanamaz:
- Ekler.
- Aksesuar işlemleri.
- Kısmen özel mesajlar. Örneğin, Chat uygulaması, metin ve kart içeren mesajlar gönderilemez. Bu mesajda metnin yalnızca bir kullanıcı tarafından görülebildiği ancak kart, alandaki herkesin görebildiği mesajlardır.
- Kullanıcı kimlik doğrulaması. Yalnızca Chat uygulamaları özel mesaj gönderebilir. Bu nedenle Chat uygulamanız, gizli olarak mesaj göndermek için kullanıcı olarak kimlik doğrulaması yapamaz.
Özel iletileri güncelleme veya silme
Google Chat mesajlarını güncellemek veya silmek için Chat API'yi çağırmanız gerekir. Özel mesajın görüntüleyicisini değiştiremez veya mesajı herkese açık hale getiremezsiniz. Bu nedenle, özel mesajları güncellerken API çağrısındaki privateMessageViewer
alanını çıkarmanız gerekir (alan yalnızca çıkıştır).
Bir özel mesajı güncellemek için Mesajı güncelleme başlıklı makaleyi inceleyin. Özel bir mesajı silmek için Mesajı silme başlıklı makaleyi inceleyin.
İlgili konular
- Mesaj gönder
- Google Chat kullanıcılarını belirleme ve belirtme
- Eğik çizgi komutlarını yanıtlama
- Mesajları güncelleme
- Mesajı silme