Kart bölümü

CardSection widget'ı, kartlarda yer alan üst düzey bir kapsayıcıdır. Bir kart içindeki widget'ları gruplandırmak için kart bölümlerini kullanırsınız. Her kart bölümü için bir başlık ve bir veya daha fazla widget ekleyebilirsiniz.

Kart mesajları ve iletişim kutuları için bölümler ekleyebilirsiniz.

Örnek

Aşağıda, CardSection bileşeninden oluşan bir kart gösterilmektedir:

JSON gösterimi ve alanları

JSON gösterimi
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer
}
Alanlar
header

string

Bölümün üst kısmında görünen metin. Basit HTML biçimli metinleri destekler. Metin biçimlendirme hakkında daha fazla bilgi için Google Chat uygulamalarında metni biçimlendirme ve Google Workspace Eklentilerinde metni biçimlendirme başlıklı makaleleri inceleyin.

widgets[]

object (Widget)

Bölümdeki tüm widget'lar. En az bir widget içermelidir.

collapsible

boolean

Bu bölümün daraltılabilir olup olmadığını belirtir.

Daraltılabilir bölümler, widget'ların bazılarını veya tümünü gizler. Kullanıcılar Daha fazla göster'i tıklayarak gizli widget'ların görünmesi için bölümü genişletebilirler. Kullanıcılar Daha az göster'i tıklayarak widget'ları tekrar gizleyebilir.

Hangi widget'ların gizli olduğunu belirlemek için uncollapsibleWidgetsCount değerini belirtin.

uncollapsibleWidgetsCount

integer

Bir bölüm daraltıldığında bile görünür kalan daraltılamaz widget'ların sayısı.

Örneğin, bir bölüm beş widget içerdiğinde ve uncollapsibleWidgetsCount öğesi 2 olarak ayarlandığında her zaman ilk iki widget gösterilir ve son üçü varsayılan olarak daraltılır. uncollapsibleWidgetsCount, yalnızca collapsible değeri true olduğunda dikkate alınır.

Widget

Her kart, widget'lardan oluşur.

Widget; metin, resim, düğme ve diğer nesne türlerinden birini temsil edebilen bileşik bir nesnedir.

JSON gösterimi
{
  "horizontalAlignment": enum (HorizontalAlignment),

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "divider": {
    object (Divider)
  },
  "grid": {
    object (Grid)
  },
  "columns": {
    object (Columns)
  }
  // End of list of possible types for union field data.
}
Alanlar
horizontalAlignment

enum (HorizontalAlignment)

Widget'ların bir sütunun soluna, sağına veya ortasına hizalanıp hizalanmayacağını belirtir.

Birlik alanı data. Bir widget'ta aşağıdakilerden yalnızca biri olabilir. Daha fazla öğe görüntülemek için birden çok widget alanı kullanabilirsiniz. data, aşağıdakilerden yalnızca biri olabilir:
textParagraph

object (TextParagraph)

Bir metin paragrafı görüntüler. Basit HTML biçimli metinleri destekler. Metin biçimlendirme hakkında daha fazla bilgi için Google Chat uygulamalarında metni biçimlendirme ve Google Workspace Eklentilerinde metni biçimlendirme başlıklı makaleleri inceleyin.

Örneğin, aşağıdaki JSON kalın harflerle yazılmış bir metin oluşturur:

"textParagraph": {
  "text": "  <b>bold text</b>"
}
image

object (Image)

Bir resim görüntüler.

Örneğin, aşağıdaki JSON alternatif metin içeren bir görüntü oluşturur:

"image": {
  "imageUrl":
  "https://developers.google.com/chat/images/quickstart-app-avatar.png",
  "altText": "Chat app avatar"
}
decoratedText

object (DecoratedText)

Süslü bir metin öğesi görüntüler.

Örneğin, aşağıdaki JSON e-posta adresini gösteren süslü bir metin widget'ı oluşturur:

"decoratedText": {
  "icon": {
    "knownIcon": "EMAIL"
  },
  "topLabel": "Email Address",
  "text": "sasha@example.com",
  "bottomLabel": "This is a new Email address!",
  "switchControl": {
    "name": "has_send_welcome_email_to_sasha",
    "selected": false,
    "controlType": "CHECKBOX"
  }
}
buttonList

object (ButtonList)

Düğme listesi.

Örneğin, aşağıdaki JSON iki düğme oluşturur. İlki mavi renkli bir metin düğmesi, ikincisi ise bir bağlantı açan resim düğmesidir:

"buttonList": {
  "buttons": [
    {
      "text": "Edit",
      "color": {
        "red": 0,
        "green": 0,
        "blue": 1,
        "alpha": 1
      },
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
textInput

object (TextInput)

Kullanıcıların yazabileceği bir metin kutusu görüntüler.

Örneğin, aşağıdaki JSON dosyası bir e-posta adresi için metin girişi oluşturur:

"textInput": {
  "name": "mailing_address",
  "label": "Mailing Address"
}

Başka bir örnek olarak aşağıdaki JSON, bir programlama dili için statik öneriler içeren bir metin girişi oluşturur:

"textInput": {
  "name": "preferred_programing_language",
  "label": "Preferred Language",
  "initialSuggestions": {
    "items": [
      {
        "text": "C++"
      },
      {
        "text": "Java"
      },
      {
        "text": "JavaScript"
      },
      {
        "text": "Python"
      }
    ]
  }
}
selectionInput

object (SelectionInput)

Kullanıcıların öğe seçebilmesini sağlayan bir seçim denetimi görüntüler. Seçim kontrolleri; onay kutuları, radyo düğmeleri, anahtarlar veya açılır menüler olabilir.

Örneğin, aşağıdaki JSON'de kullanıcılar boyut seçmeye olanak tanıyan bir açılır menü oluşturulur:

"selectionInput": {
  "name": "size",
  "label": "Size"
  "type": "DROPDOWN",
  "items": [
    {
      "text": "S",
      "value": "small",
      "selected": false
    },
    {
      "text": "M",
      "value": "medium",
      "selected": true
    },
    {
      "text": "L",
      "value": "large",
      "selected": false
    },
    {
      "text": "XL",
      "value": "extra_large",
      "selected": false
    }
  ]
}
dateTimePicker

object (DateTimePicker)

Kullanıcıların tarih, saat veya tarih ve saat girmelerine olanak tanıyan bir widget görüntüler.

Örneğin, aşağıdaki JSON randevu planlamak için bir tarih ve saat seçici oluşturur:

"dateTimePicker": {
  "name": "appointment_time",
  "label": "Book your appointment at:",
  "type": "DATE_AND_TIME",
  "valueMsEpoch": "796435200000"
}
divider

object (Divider)

Widget'lar arasında yatay çizgi ayırıcı görüntüler.

Örneğin, aşağıdaki JSON bir ayırıcı oluşturur:

"divider": {
}
grid

object (Grid)

Öğe koleksiyonunu içeren bir ızgara görüntüler.

Bir ızgara, herhangi bir sayıda sütun ve öğeyi destekler. Satır sayısı, öğe sayısının üst sınırlarının sütun sayısına bölünmesiyle belirlenir. 10 öğeli ve 2 sütunlu bir ızgarada 5 satır bulunur. 11 öğe ve 2 sütunlu bir ızgarada 6 satır bulunur.

Örneğin, aşağıdaki JSON tek bir öğe içeren 2 sütunlu bir ızgara oluşturur:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
columns

object (Columns)

En fazla 2 sütun gösterilir.

2'den fazla sütun eklemek veya satır kullanmak için Grid widget'ını kullanın.

Örneğin, aşağıdaki JSON her biri metin paragrafları içeren 2 sütun oluşturur:

"columns": {
  "columnItems": [
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "First column text paragraph"
          }
        }
      ]
    },
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "Second column text paragraph"
          }
        }
      ]
    }
  ]
}

Sorun giderme

Bir Google Chat uygulaması veya kart hata döndürdüğünde Chat arayüzünde "Bir sorun oluştu" veya "İsteğiniz işleme alınamıyor" mesajı gösterilir. Bazen Chat kullanıcı arayüzünde hata mesajı gösterilmez ancak Chat uygulaması veya kartı beklenmedik bir sonuç üretir. Örneğin, bir kart mesajı görünmeyebilir.

Chat kullanıcı arayüzünde bir hata mesajı gösterilmese de, Chat uygulamaları için hata günlük kaydı etkinken hataları düzeltmenize yardımcı olmak üzere açıklayıcı hata mesajları ve günlük verileri kullanılabilir. Hataları görüntüleme, hata ayıklama ve düzeltme konusunda yardım almak için Google Chat hatalarını giderme ve düzeltme başlıklı makaleyi inceleyin.