Bu kılavuzda, aşağıdakilerden herhangi birini yapmak için Google Chat API'nin Message
kaynağındaki create()
metodunun nasıl kullanılacağı açıklanmaktadır:
- Metin, kart ve etkileşimli widget'lar içeren mesajlar gönderin.
- Belirli bir Chat kullanıcısına özel olarak mesaj gönderebilirsiniz.
- Bir mesaj dizisi başlatın veya bir mesaj dizisini yanıtlayın.
- Diğer Chat API isteklerinde belirtebilmeniz için bir mesaja ad verin.
Maksimum ileti boyutu (metin veya kartlar dahil) 32.000 bayttır. Bu boyutu aşan bir mesaj göndermek için Chat uygulamanızın birden fazla mesaj göndermesi gerekir.
Chat uygulamaları, mesaj oluşturmak için Chat API'yi çağırmanın yanı sıra kullanıcı etkileşimlerini (kullanıcı Chat uygulamasını alana ekledikten sonra karşılama mesajı yayınlamak gibi) yanıtlamak için mesaj oluşturup gönderebilir. Chat uygulamaları, etkileşimlere yanıt verirken etkileşimli iletişim kutuları ve bağlantı önizleme arayüzleri gibi diğer mesajlaşma özelliklerini kullanabilir. Chat uygulaması, bir kullanıcıya yanıt vermek için Chat API'yi çağırmadan mesajı eşzamanlı olarak döndürür. Etkileşimleri yanıtlamak için mesaj gönderme hakkında bilgi edinmek istiyorsanız Google Chat uygulamanızla etkileşim alma ve yanıtlama başlıklı makaleyi inceleyin.
Chat, Chat API ile oluşturulan mesajları nasıl gösterir ve ilişkilendirir?
Uygulama kimlik doğrulamasını ve kullanıcı kimlik doğrulamasını kullanarak create()
yöntemini çağırabilirsiniz.
Chat, kullandığınız kimlik doğrulama türüne bağlı olarak ileti gönderenini farklı şekilde ilişkilendirir.
Chat uygulaması olarak kimlik doğrulaması yaptığınızda mesajı Chat uygulaması gönderir.
Kullanıcı olarak kimliğinizi doğruladığınızda Chat uygulaması, mesajı kullanıcı adına gönderir. Chat, adını görüntüleyerek Chat uygulamasını da iletiyle ilişkilendirir.
Kimlik doğrulama türü, iletiye hangi mesajlaşma özelliklerini ve arayüzlerini ekleyebileceğinizi de belirler. Uygulama kimlik doğrulaması sayesinde Chat uygulamaları zengin metin, kart tabanlı arayüzler ve etkileşimli widget'lar içeren mesajlar gönderebilir. Chat kullanıcıları mesajlarında yalnızca metin gönderebildiğinden, yalnızca kullanıcı kimlik doğrulamasını kullanarak mesaj oluştururken metin ekleyebilirsiniz. Chat API'de kullanılabilen mesajlaşma özellikleri hakkında daha fazla bilgi edinmek için Google Chat mesajlarına genel bakış başlıklı makaleyi inceleyin.
Bu kılavuzda, Chat API ile mesaj göndermek için iki kimlik doğrulama türünün de nasıl kullanılacağı açıklanmaktadır.
Ön koşullar
Node.js
- Google Chat'e erişimi olan bir Business veya Enterprise Google Workspace hesabı
- Ortamınızı ayarlayın:
- Google Cloud projesi oluşturun.
- OAuth izin ekranını yapılandırın.
- Chat uygulamanızın bir adı, simgesi ve açıklamasıyla Google Chat API'yi etkinleştirin ve yapılandırın.
- Node.js Cloud İstemci Kitaplığı'nı yükleyin.
- Google Chat API isteğinizde kimliğinizi doğrulama yönteminize göre erişim kimlik bilgileri oluşturun:
- Chat kullanıcısı olarak kimlik doğrulamak için OAuth istemci kimliği kimlik bilgilerini oluşturun ve kimlik bilgilerini yerel dizininize
client_secrets.json
adlı bir JSON dosyası olarak kaydedin. - Chat uygulaması olarak kimlik doğrulamak için hizmet hesabı kimlik bilgileri oluşturun ve kimlik bilgilerini
credentials.json
adlı JSON dosyası olarak kaydedin.
- Chat kullanıcısı olarak kimlik doğrulamak için OAuth istemci kimliği kimlik bilgilerini oluşturun ve kimlik bilgilerini yerel dizininize
- Kullanıcı olarak mı yoksa Chat uygulaması olarak mı kimlik doğrulama yapmak istediğinize bağlı olarak bir yetkilendirme kapsamı seçin.
- Kimliği doğrulanmış kullanıcının veya arayan Chat uygulamasının üyesi olduğu bir Google Chat alanı. Chat uygulaması olarak kimlik doğrulama yapmak için Chat uygulamasını alana ekleyin.
Python
- Google Chat'e erişimi olan bir Business veya Enterprise Google Workspace hesabı
- Ortamınızı ayarlayın:
- Google Cloud projesi oluşturun.
- OAuth izin ekranını yapılandırın.
- Chat uygulamanızın bir adı, simgesi ve açıklamasıyla Google Chat API'yi etkinleştirin ve yapılandırın.
- Python Cloud İstemci Kitaplığı'nı yükleyin.
- Google Chat API isteğinizde kimliğinizi doğrulama yönteminize göre erişim kimlik bilgileri oluşturun:
- Chat kullanıcısı olarak kimlik doğrulamak için OAuth istemci kimliği kimlik bilgileri oluşturun ve kimlik bilgilerini
client_secrets.json
adlı bir JSON dosyası olarak yerel dizininize kaydedin. - Chat uygulaması olarak kimlik doğrulamak için hizmet hesabı kimlik bilgileri oluşturun ve kimlik bilgilerini
credentials.json
adlı JSON dosyası olarak kaydedin.
- Chat kullanıcısı olarak kimlik doğrulamak için OAuth istemci kimliği kimlik bilgileri oluşturun ve kimlik bilgilerini
- Kullanıcı olarak mı yoksa Chat uygulaması olarak mı kimlik doğrulama yapmak istediğinize bağlı olarak bir yetkilendirme kapsamı seçin.
- Kimliği doğrulanmış kullanıcının veya arayan Chat uygulamasının üyesi olduğu bir Google Chat alanı. Chat uygulaması olarak kimliğinizi doğrulamak için Chat uygulamasını alana ekleyin.
Java
- Google Chat'e erişimi olan bir Business veya Enterprise Google Workspace hesabı
- Ortamınızı ayarlayın:
- Google Cloud projesi oluşturun.
- OAuth izin ekranını yapılandırın.
- Chat uygulamanızın bir adı, simgesi ve açıklamasıyla Google Chat API'yi etkinleştirin ve yapılandırın.
- Java Cloud İstemci Kitaplığı'nı yükleyin.
- Google Chat API isteğinizde nasıl kimlik doğrulama yapmak istediğinize bağlı olarak erişim kimlik bilgilerini oluşturun:
- Chat kullanıcısı olarak kimlik doğrulamak için OAuth istemci kimliği kimlik bilgilerini oluşturun ve kimlik bilgilerini yerel dizininize
client_secrets.json
adlı bir JSON dosyası olarak kaydedin. - Chat uygulaması olarak kimlik doğrulamak için hizmet hesabı kimlik bilgileri oluşturun ve kimlik bilgilerini
credentials.json
adlı bir JSON dosyası olarak kaydedin.
- Chat kullanıcısı olarak kimlik doğrulamak için OAuth istemci kimliği kimlik bilgilerini oluşturun ve kimlik bilgilerini yerel dizininize
- Kullanıcı olarak mı yoksa Chat uygulaması olarak mı kimlik doğrulama yapmak istediğinize bağlı olarak bir yetkilendirme kapsamı seçin.
- Kimliği doğrulanmış kullanıcının veya arayan Chat uygulamasının üyesi olduğu bir Google Chat alanı. Chat uygulaması olarak kimlik doğrulama yapmak için Chat uygulamasını alana ekleyin.
Apps Komut Dosyası
- Google Chat'e erişimi olan bir Business veya Enterprise Google Workspace hesabı
- Ortamınızı ayarlayın:
- Google Cloud projesi oluşturun.
- OAuth izin ekranını yapılandırın.
- Chat uygulamanız için bir ad, simge ve açıklamayla Google Chat API'yi etkinleştirip yapılandırın.
- Bağımsız bir Apps Komut Dosyası projesi oluşturun ve Gelişmiş Chat Hizmeti'ni etkinleştirin.
- Bu kılavuzda kullanıcı veya uygulama kimlik doğrulamasını kullanmanız gerekir. Chat uygulaması olarak kimlik doğrulamak için hizmet hesabı kimlik bilgileri oluşturun. Adımlar için Google Chat uygulaması olarak kimlik doğrulama ve yetkilendirme başlıklı makaleyi inceleyin.
- Kullanıcı olarak mı yoksa Chat uygulaması olarak mı kimlik doğrulaması yapmak istediğinize bağlı olarak bir yetkilendirme kapsamı seçin.
- Kimliği doğrulanmış kullanıcının veya arayan Chat uygulamasının üyesi olduğu bir Google Chat alanı. Chat uygulaması olarak kimlik doğrulama yapmak için Chat uygulamasını alana ekleyin.
Chat uygulaması olarak mesaj gönderme
Bu bölümde, uygulama kimlik doğrulaması kullanılarak metin, kart ve etkileşimli aksesuar widget'ları içeren mesajların nasıl gönderileceği açıklanmaktadır.
Uygulama kimlik doğrulamasını kullanarak CreateMessage()
yöntemini çağırmak için istekte aşağıdaki alanları belirtmeniz gerekir:
chat.bot
Yetkilendirme kapsamı.- İletiyi yayınlamak istediğiniz
Space
kaynağı. Sohbet uygulaması, alanın üyesi olmalıdır. - Oluşturulacak
Message
kaynağı. Mesajın içeriğini tanımlamak için zengin metin (text
), bir veya daha fazla kart arayüzü (cardsV2
) ya da ikisini birden ekleyebilirsiniz.
İsteğe bağlı olarak aşağıdakileri ekleyebilirsiniz:
- Mesajın alt kısmına etkileşimli düğmeler eklemek için kullanılan
accessoryWidgets
alanı. - Mesajı belirli bir kullanıcıya özel olarak göndermek için kullanılan
privateMessageViewer
alanı. - Diğer API isteklerinde kullanılacak mesajı adlandırmanızı sağlayan
messageId
alanı. - Mesaj dizisi başlatmak veya yanıtlamak için
thread.threadKey
vemessageReplyOption
alanları. Alanda mesaj dizisi kullanılmıyorsa bu alan yoksayılır.
Aşağıdaki kodda bir Chat uygulamasının, Chat uygulaması olarak yayınlanan ve mesajın altında metin, kart ve tıklanabilir bir düğme bulunan bir mesajı nasıl gönderebileceğine dair bir örnek gösterilmektedir:
Node.js
Python
Java
Apps Komut Dosyası
Bu örneği çalıştırmak için SPACE_NAME
değerini alanın name
alanındaki kimlikle değiştirin. Kimliği, ListSpaces()
yöntemini çağırarak veya alanın URL'sinden alabilirsiniz.
İletinin alt kısmına etkileşimli widget'lar ekleme
Bu kılavuzun ilk kod örneğinde, Chat uygulaması mesajında mesajın alt kısmında aksesuar widget'ı olarak bilinen tıklanabilir bir düğme gösterilmektedir. Aksesuar widget'ları, bir iletideki metin veya kartlardan sonra görünür. Bu widget'ları, kullanıcılardan mesajınızla etkileşim kurmalarını istemek için kullanabilirsiniz. Örneğin:
- Bir mesajın doğruluğunu veya memnuniyetini değerlendirin.
- Mesaj veya Chat uygulamasıyla ilgili bir sorunu bildirme
- İlgili içeriğin (ör. dokümanlar) bağlantısını açın.
- Benzer mesajları Chat uygulamasından belirli bir süre boyunca yoksayabilir veya erteleyebilirsiniz.
Aksesuar widget'ları eklemek için isteğinizin gövdesine accessoryWidgets[]
alanını ekleyin ve eklemek istediğiniz bir veya daha fazla widget'ı belirtin.
Aşağıdaki resimde, kullanıcıların Chat uygulamasıyla ilgili deneyimlerini değerlendirebilmeleri için kısa mesaja aksesuar widget'ları ekleyen bir Chat uygulaması gösterilmektedir.
Aşağıda, iki aksesuar düğmesiyle kısa mesaj oluşturan isteğin gövdesi gösterilmektedir. Kullanıcı bir düğmeyi tıkladığında ilgili işlev (doUpvote
gibi) etkileşimi işler:
{
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"
}}
}]}}]
}
Özel mesaj gönderme
Chat uygulamaları, mesajların yalnızca alandaki belirli bir kullanıcı tarafından görülebilmesi için mesajları gizli olarak gönderebilir. Bir sohbet uygulaması özel mesaj gönderdiğinde, mesajda kullanıcıya mesajın yalnızca kendisine gösterildiğini bildiren bir etiket gösterilir.
Chat API'yi kullanarak gizli mesaj göndermek için isteğinizin gövdesinde privateMessageViewer
alanını belirtin. Kullanıcıyı belirtmek için değeri Chat kullanıcısını temsil eden User
kaynağı olarak ayarlarsınız. Aşağıdaki örnekte gösterildiği gibi User
kaynağının name
alanını da kullanabilirsiniz:
{
text: "Hello private world!",
privateMessageViewer: {
name: "users/USER_ID"
}
}
Bu örneği kullanmak için USER_ID
yerine kullanıcının benzersiz kimliğini (ör. 12345678987654321
veya hao@cymbalgroup.com
) girin. Kullanıcıları belirtme hakkında daha fazla bilgi için Google Chat kullanıcılarını tanımlama ve belirtme başlıklı makaleyi inceleyin.
Özel mesaj göndermek için isteğinizde aşağıdakileri çıkarmalısınız:
Bir kullanıcının adına kısa mesaj gönderme
Bu bölümde, kullanıcı kimlik doğrulamasını kullanarak bir kullanıcı adına nasıl mesaj gönderileceği açıklanmaktadır. Kullanıcı kimlik doğrulaması sayesinde mesaj içeriği yalnızca metin içerebilir. Ayrıca kart arayüzleri ve etkileşimli widget'lar gibi yalnızca Chat uygulamalarında kullanılabilen mesajlaşma özellikleri dahil edilmemelidir.
Kullanıcı kimlik doğrulamasını kullanarak CreateMessage()
yöntemini çağırmak için istekte aşağıdaki alanları belirtmeniz gerekir:
- Bu yöntem için kullanıcı kimlik doğrulamayı destekleyen bir yetkilendirme kapsamı. Aşağıdaki örnekte
chat.messages.create
kapsamı kullanılmaktadır. - İletiyi yayınlamak istediğiniz
Space
kaynağı. Kimliği doğrulanmış kullanıcı, alanın üyesi olmalıdır. - Oluşturulacak
Message
kaynağı. İletinin içeriğini tanımlamak içintext
alanını eklemeniz gerekir.
İsteğe bağlı olarak aşağıdakileri ekleyebilirsiniz:
- Diğer API isteklerinde kullanmak üzere mesajın adını belirlemenize olanak tanıyan
messageId
alanı. - Mesaj dizisi başlatmak veya yanıtlamak için
thread.threadKey
vemessageReplyOption
alanları. Alanda mesaj dizisi kullanılmıyorsa bu alan yoksayılır.
Aşağıdaki kodda, bir Chat uygulamasının kimliği doğrulanmış bir kullanıcı adına belirli bir alanda kısa mesaj gönderebileceği bir örnek gösterilmektedir:
Node.js
Python
Java
Apps Komut Dosyası
Bu örneği çalıştırmak için SPACE_NAME
alanını alanın name
alanındaki kimlikle değiştirin. Kimliği, ListSpaces()
yöntemini çağırarak veya alanın URL'sinden alabilirsiniz.
Mesaj dizisi başlatma veya mesaj dizisinde yanıt verme
İleti dizileri kullanılan alanlarda, yeni bir mesajın ileti dizisi başlatıp başlatmayacağını veya mevcut bir ileti dizisini yanıtlayıp yanıtlamayacağını belirtebilirsiniz.
Chat API'yi kullanarak oluşturduğunuz mesajlar varsayılan olarak yeni bir ileti dizisi başlatır. İleti dizisini tanımlamanıza ve daha sonra yanıtlamanıza yardımcı olması için isteğinizde bir ileti dizisi anahtarı belirtebilirsiniz:
- İsteğinizin gövdesinde
thread.threadKey
alanını belirtin. - Anahtar zaten mevcutsa ne olacağını belirlemek için sorgu parametresini
messageReplyOption
belirtin.
Mevcut bir mesaj dizisini yanıtlayan bir mesaj oluşturmak için:
- İsteğinizin gövdesine
thread
alanını ekleyin. Ayarlanmışsa oluşturduğunuzthreadKey
değerini belirtebilirsiniz. Aksi takdirde, ileti dizisininname
simgesini kullanmanız gerekir. messageReplyOption
sorgu parametresini belirtin.
Aşağıdaki kodda, bir Chat uygulamasının kimliği doğrulanmış bir kullanıcı adına belirli bir alanın anahtarıyla tanımlanan belirli bir ileti dizisini başlatan veya yanıtlayan bir kısa mesaj gönderebileceğine dair bir örnek gösterilmektedir:
Node.js
Python
Java
Apps Komut Dosyası
Bu örneği çalıştırmak için aşağıdaki kodu değiştirin:
THREAD_KEY
: Alandaki mevcut bir mesaj dizisi anahtarı veya yeni bir mesaj dizisi oluşturmak için mesaj dizisinin benzersiz bir adı.SPACE_NAME
: Alanınname
alanındaki kimlik. Kimliği,ListSpaces()
yöntemini çağırarak veya alanın URL'sinden edinebilirsiniz.
Mesaja ad verme
Gelecekteki API çağrılarında bir mesajı almak veya belirtmek için isteğinizde messageId
alanını ayarlayarak mesajı adlandırabilirsiniz.
Mesajınızı adlandırmak, mesajın kaynak adından sistem tarafından atanan kimliği (name
alanında gösterilir) depolamaya gerek kalmadan mesajı belirtmenize olanak tanır.
Örneğin, get()
yöntemini kullanarak bir ileti almak için hangi iletinin alınacağını belirtmek üzere kaynak adını kullanırsınız. Kaynak adı spaces/{space}/messages/{message}
olarak biçimlendirilir. Burada {message}
, sistem tarafından atanan kimliği veya mesajı oluştururken ayarladığınız özel adı temsil eder.
Bir mesajı adlandırmak için mesajı oluştururken messageId
alanına özel bir kimlik girin. messageId
alanı, Message
kaynağının clientAssignedMessageId
alanının değerini ayarlar.
Mesajlara yalnızca mesajı oluştururken ad verebilirsiniz. Mevcut mesajlara ait özel bir kimliği adlandıramaz veya değiştiremezsiniz. Özel kimlik aşağıdaki koşulları karşılamalıdır:
client-
ile başlar. Örneğin,client-custom-name
geçerli bir özel kimliktir ancakcustom-name
geçerli değildir.- En fazla 63 karakter ve yalnızca küçük harf, rakam ve kısa çizgi içerebilir.
- Alan içinde benzersiz olmalıdır. Chat uygulamaları farklı mesajlar için aynı özel kimliği kullanamaz.
Aşağıdaki kodda, bir Chat uygulamasının kimliği doğrulanmış bir kullanıcı adına belirli bir alana kimlik içeren kısa mesaj gönderebileceği bir örnek gösterilmektedir:
Node.js
Python
Java
Apps Komut Dosyası
Bu örneği çalıştırmak için aşağıdakileri değiştirin:
SPACE_NAME
: Alanınname
alanındaki kimlik. Kimliği,ListSpaces()
yöntemini çağırarak veya alanın URL'sinden edinebilirsiniz.MESSAGE-ID
:custom-
ile başlayan mesajın adı. Belirtilen alanda Chat uygulaması tarafından oluşturulan diğer mesaj adlarından farklı olmalıdır.
Sorun giderme
Bir Google Chat uygulaması veya kartı hata döndürdüğünde Chat arayüzünde "Bir hata oluştu" mesajı gösterilir. veya "İsteğiniz işlenemiyor." Bazen Chat kullanıcı arayüzünde hata mesajı gösterilmez ancak Chat uygulaması veya kartı beklenmedik bir sonuç verir. Örneğin, kart mesajı görünmeyebilir.
Chat kullanıcı arayüzünde hata mesajı görüntülenmeyebilir. Ancak Chat uygulamaları için hata günlük kaydı etkinleştirildiğinde hataları düzeltmenize yardımcı olmak amacıyla açıklayıcı hata mesajları ve günlük verileri sunulur. Hataları görüntüleme, hata ayıklama ve düzeltme hakkında yardım için Google Chat hatalarını giderme başlıklı makaleyi inceleyin.
İlgili konular
- Chat uygulamaları için JSON kart mesajları tasarlamak ve önizlemek üzere Kart Oluşturucu'yu kullanın.
- Mesajları biçimlendirebilirsiniz.
- Bir mesajla ilgili ayrıntıları öğrenme
- Alanlardaki mesajları listeleme
- Mesaj güncelleme.
- İletiyi silme
- Google Chat mesajlarındaki kullanıcıları tanımlama
- Gelen webhook'larla Google Chat'e mesaj gönderme.