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 gizli mesaj gönderebilirsiniz.
- Mesaj dizisi başlatma veya yanıtlama
- 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 yanıtlamak üzere mesaj oluşturabilir ve gönderebilir (ör. kullanıcı bir alana Chat uygulamasını ekledikten sonra karşılama mesajı yayınlama). 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ıyı yanıtlamak için Chat API'yi çağırmadan mesajı senkronize 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 API ile oluşturulan mesajlar Chat'te nasıl görüntülenir ve ilişkilendirilir?
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 kimlik 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 için bir ad, simge ve açıklamayla Google Chat API'yi etkinleştirip 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ı 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.
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 için bir ad, simge ve açıklamayla Google Chat API'yi etkinleştirip 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 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.
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 için bir ad, simge ve açıklamayla Google Chat API'yi etkinleştirip yapılandırın.
- Java 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ı 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. Sohbet uygulaması olarak kimlik doğrulama yapmak 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ğ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.
Chat uygulaması olarak mesaj gönderme
Bu bölümde, uygulama kimlik doğrulamasını kullanarak 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ğı. Chat 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ı. - Belirli bir kullanıcıya iletiyi gizli olarak göndermek için
privateMessageViewer
alanı. - 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 dizileri kullanılmıyorsa bu alan yoksayılır.
Aşağıdaki kodda, bir Chat uygulamasının Chat uygulaması olarak yayınlanan ve metin, kart ve mesajın alt kısmında tıklanabilir bir düğme içeren 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
alanını 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. Kullanıcıların mesajınızla aşağıdakiler de dahil olmak üzere birçok şekilde etkileşim kurmasını sağlamak için bu widget'ları kullanabilirsiniz:
- Bir mesajın doğruluğunu veya memnuniyetini derecelendirin.
- Mesaj veya Chat uygulamasıyla ilgili bir sorunu bildirme
- İlgili içeriğin (ör. dokümanlar) bağlantısını açma
- Sohbet uygulamasından gelen benzer mesajları belirli bir süre için reddedebilir veya erteleyin.
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üğmesi içeren bir 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
Sohbet 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ğına 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:
Kullanıcı 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ıyla, mesajın içeriği yalnızca metin içerebilir ve kart arayüzleri ve etkileşimli widget'lar dahil olmak üzere yalnızca Chat uygulamalarında kullanılabilen mesajlaşma özelliklerini içermemelidir.
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 dizileri 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ğıdakileri 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 alabilirsiniz.
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 mesaja ad vermek için mesajı oluştururken messageId
alanında özel bir kimlik belirtin. messageId
alanı, Message
kaynağının clientAssignedMessageId
alanının değerini belirler.
Mesajlara yalnızca mesajı oluştururken ad verebilirsiniz. Mevcut iletiler için özel kimlik adı veremez veya özel kimliği 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 karakterden oluşmalı ve yalnızca küçük harf, rakam ve kısa çizgi içermelidir.
- 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 alabilirsiniz.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österilmeyebilir ancak Chat uygulamaları için hata günlüğü etkinleştirildiğinde hataları düzeltmenize yardımcı olacak açıklayıcı hata mesajları ve günlük verileri kullanılabilir. 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.
- Bir iletiyi silme.
- Google Chat mesajlarındaki kullanıcıları tanımlama
- Gelen webhook'larla Google Chat'e mesaj gönderme.