Google Slaytlar, kullanıcıların slaytlara ve sayfa öğelerine yorum ekleyerek ortak çalışmasına olanak tanır.
Bu belgede, yorumları programatik olarak okumak, oluşturmak, yanıtlamak, güncellemek veya silmek için Google Slaytlar API'sini nasıl kullanabileceğiniz gösterilmektedir.
Yorumları okuma
Bir sunuyu almak için presentations kaynağında get yöntemini kullandığınızda yorum dizileri ve bağlantılar varsayılan olarak atlanır.
Yanıtın yorumları içermesi için commentsViewMode sorgu parametresini COMMENTS_VIEW_MODE_INCLUDED olarak ayarlayın.
Ayrıca, arayan kullanıcının dosyada yorum erişimi varsa sorgu parametresinin COMMENTS_VIEW_MODE_DEFAULT_FOR_CURRENT_ACCESS olarak ayarlanması da yorumları döndürür.
Yanıt, hem
comments
hem de
commentAnchors
alanlarını döndürür.
Aşağıdaki kod örneğinde, bir sunudan yorum dizilerini ve bunların bağlantılarını alan bir get isteğinin nasıl kullanılacağı gösterilmektedir:
GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID?commentsViewMode=COMMENTS_VIEW_MODE_INCLUDED&fields=presentationId,comments,slides(objectId,commentAnchors)
Yanıt içinde yorumlar iki yerde döndürülür:
CommentThreadnesnelerini içeren genelcommentsdizisi.- Yorum tutturma noktası kimliklerini sayfa veya sayfa öğesi konumlarıyla (nesne tutturma noktaları) eşleyen
CommentAnchornesnelerini içerencommentAnchorsdizisi.
Belirli bir sayfadaki yorumları okuma
Ayrıca presentations.pages kaynağındaki pages.get yöntemini kullanarak belirli bir sayfayla ilgili yorumları ve bağlantıları da alabilirsiniz.
Belirli bir sayfa hedefiyle ilgili yorumları eklemek için commentsViewMode sorgu parametresini ayarlayın:
GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID?commentsViewMode=COMMENTS_VIEW_MODE_INCLUDED&fields=objectId,comments,commentAnchors
Örnek yanıt
Aşağıdaki JSON örnek yanıtında, bir slayt sayfasındaki şeklin içinde bir metin aralığına sabitlenmiş bir yorum dizisi gösterilmektedir:
{
"presentationId": "PRESENTATION_ID",
"slides": [
{
"objectId": "SLIDE_PAGE_ID",
"commentAnchors": [
{
"anchorId": "ANCHOR_ID",
"objectAnchors": [
{
"objectId": "SHAPE_OBJECT_ID",
"shapeTextAnchors": {
"ranges": [
{
"startIndex": 0,
"endIndex": 12
}
]
}
}
]
}
]
}
],
"comments": [
{
"commentId": "COMMENT_ID",
"anchorId": "ANCHOR_ID",
"headPost": {
"postId": "POST_ID",
"content": "This is a comment thread head post.",
"contentHtml": "The content of the post as HTML.",
"author": {
"displayName": "DISPLAY_NAME",
"me": true,
"user": "users/USER"
},
"createTime": "2026-07-01T10:13:12Z",
"updateTime": "2026-07-01T10:13:12Z"
},
"replies": [
{
"postId": "REPLY_POST_ID",
"content": "This is a reply to the comment.",
"author": {
"displayName": "DISPLAY_NAME",
"me": false
},
"createTime": "2026-07-01T10:15:00Z",
"updateTime": "2026-07-01T10:15:00Z"
}
],
"status": "OPEN"
}
],
"commentsViewMode": "COMMENTS_VIEW_MODE_INCLUDED"
}
Yorum oluşturma ve yönetme
batchUpdate
yöntemini kullanarak yorumları veya yanıtları programatik olarak ekleyebilir, düzenleyebilir ve silebilirsiniz.
presentations
kaynağında.
Yorumlarla ilgili toplu güncellemeler yaparken olası kısmi hataları izlemeniz gerekir. Daha fazla bilgi için Yorum güncelleme durumu başlıklı makaleyi inceleyin.
Yorum ekleme
Sunuya yorum dizisi eklemek için
InsertCommentRequest
nesnesini kullanın. Yorum metni içeriğini ve bağlantı konumunu sağlamanız gerekir. Sabit konum, aşağıdakilerden birini belirtmelidir:
objectId: Yorumun ekleneceği slayt sayfasının veya sayfa öğesinin (ör. şekil ya da tablo) nesne kimliği.shapeTextAnchor: Bir şekil içindeki metin aralığına yorum ekler.tableCellTextAnchor: Bir yorumu, tablo hücresindeki bir metin aralığına sabitler.tableAnchor: Bir yorumu tablodaki bir hücre aralığına sabitler.
Aşağıdaki JSON örneğinde, bir slayt sayfasına sabitlenmiş yorum dizisinin nasıl ekleneceği gösterilmektedir:
{
"requests": [
{
"insertComment": {
"content": "This is a comment added using the API.",
"objectId": "SLIDE_PAGE_ID"
}
}
]
}
assigneeEmailAddress alanına kullanıcının e-posta adresini girerek yorumu belirli bir kullanıcıya atayabilirsiniz:
{
"requests": [
{
"insertComment": {
"content": "Please review this slide.",
"assigneeEmailAddress": "ASSIGNEE_EMAIL_ADDRESS",
"objectId": "SLIDE_PAGE_ID"
}
}
]
}
Yanıt ekleme veya işlem yapma
Bir yorum dizisini yanıtlamak, çözmek veya yeniden açmak için AddCommentReplyRequest nesnesini kullanın.
Yanıtın Post nesnesiyle temsil edildiği commentId ve post değerlerini sağlamanız gerekir.
Post nesnesi, yanıtı content içerir ve isteğe bağlı olarak bir commentAction belirtebilir
(yorum dizisini RESOLVE veya REOPEN işlemini de içerir). CommentActionType nesnesiyle
temsil edilir.
Ayrıca, Post nesnesinde yeni bir assigneeEmail belirterek yorum dizisini yeniden atayabilirsiniz.
Aşağıdaki JSON örneğinde, mevcut bir yorum dizisine nasıl yanıt verileceği gösterilmektedir:
{
"requests": [
{
"addCommentReply": {
"commentId": "COMMENT_ID",
"post": {
"content": "Replying to the comment thread."
}
}
}
]
}
Aşağıdaki JSON örneğinde, yorum dizisinin nasıl çözümleneceği gösterilmektedir:
{
"requests": [
{
"addCommentReply": {
"commentId": "COMMENT_ID",
"post": {
"commentAction": "RESOLVE"
}
}
}
]
}
Yayını düzenleme
Oluşturduğunuz bir yayının metin içeriğini düzenlemek için UpdateCommentPostRequest nesnesini kullanın. Yazışmanın commentId, düzenlemek istediğiniz yayının postId ve yeni düz metni content belirtmeniz gerekir.
Aşağıdaki JSON örneğinde, bir gönderinin nasıl düzenleneceği gösterilmektedir:
{
"requests": [
{
"updateCommentPost": {
"commentId": "COMMENT_ID",
"postId": "POST_ID",
"content": "This is the updated comment text."
}
}
]
}
Yorumları ve yanıtları silme
Yorumları ve yanıtları silmek için iki seçeneğiniz vardır:
Yorum dizisini silme: Bir yorum dizisinin tamamını kaldırmak için
CommentThreadDeleteCommentRequestnesnesini kullanın. Bir yorum dizisini yalnızcaCommentThreadnesnesindekiheadPostdizisinin yazarıysanız silebilirsiniz.Yanıt silme: Belirli bir yanıtı
PostbirCommentThreadöğesinden silmek içinDeleteCommentReplyRequestnesnesini kullanın. Yalnızca kendi yanıtlarınızı silebilirsiniz.commentActionveyaassigneeEmailiçeren yanıt gönderilerini silemezsiniz.
Aşağıdaki JSON örneğinde, yorum dizisinin nasıl silineceği gösterilmektedir:
{
"requests": [
{
"deleteComment": {
"commentId": "COMMENT_ID"
}
}
]
}
Yorum güncelleme durumu
Yorum dizilerinin kaydedilmesini gerektiren isteklerde (ör. yorum ekleme veya yanıt ekleme) kısmi hatalar yaşanabilir. Bu gibi durumlarda, sunum modelinde yapılan değişiklikler (ör. slayt içeriğini veya arka planları güncelleme) başarılı bir şekilde kaydedilebilir ancak ilişkili yorumlar kaydedilemeyebilir.
Yorum güncellemelerinin başarıyla uygulanıp uygulanmadığını, presentations.batchUpdate yönteminin yanıt gövdesindeki commentUpdateState alanını kontrol ederek doğrulayabilirsiniz. Alan, CommentUpdateState nesnesiyle gösterilir.
Aşağıdaki durumlar CommentUpdateState içinde döndürülür:
NO_UPDATES_REQUESTED: Toplu işlemde yorum güncellemeleri istenmedi.ALL_SAVED: İstenen tüm yorum güncellemeleri başarıyla uygulandı.ALL_FAILED_UNKNOWN_REASON: Diğer sunu değişiklikleri kaydedilmiş olsa bile, istenen tüm yorum güncellemeleri kaydedilemedi.