Class FixedFooter
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
固定页脚
Card
底部显示的固定页脚。
适用于 Google Workspace 插件和 Google Chat 应用。
const fixedFooter = CardService.newFixedFooter().setPrimaryButton(
CardService.newTextButton().setText('help').setOpenLink(
CardService.newOpenLink().setUrl('http://www.google.com')),
);
详细文档
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003eA FixedFooter is displayed at the bottom of a Card in Google Workspace Add-ons and Google Chat apps.\u003c/p\u003e\n"],["\u003cp\u003eIt can contain a primary button (required) and an optional secondary button for user interaction.\u003c/p\u003e\n"],["\u003cp\u003ePrimary buttons have a filled style while secondary buttons have an outlined style.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can customize button actions, such as opening a link, using the \u003ccode\u003esetPrimaryButton\u003c/code\u003e and \u003ccode\u003esetSecondaryButton\u003c/code\u003e methods.\u003c/p\u003e\n"]]],["The `FixedFooter` feature, available in Google Workspace add-ons and Google Chat apps, allows setting buttons at the bottom of a card. You can set a `primaryButton` using `setPrimaryButton()`, which requires a `TextButtonStyle.FILLED` button. Optionally, a `secondaryButton` can be added via `setSecondaryButton()`, using a `TextButtonStyle.OUTLINED` button. Setting a secondary button is only effective if a primary button is set first. Both methods return the `FixedFooter` object for chaining.\n"],null,["# Class FixedFooter\n\nFixedFooter\n\nThe fixed footer shown at the bottom of a [Card](/apps-script/reference/card-service/card).\n\nAvailable for Google Workspace add-ons and Google Chat apps.\n\n```javascript\nconst fixedFooter = CardService.newFixedFooter().setPrimaryButton(\n CardService.newTextButton().setText('help').setOpenLink(\n CardService.newOpenLink().setUrl('http://www.google.com')),\n);\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|---------------------------------------------------------------|------------------|-----------------------------------------------|\n| [setPrimaryButton(button)](#setPrimaryButton(TextButton)) | [FixedFooter](#) | Set the primary button in the fixed footer. |\n| [setSecondaryButton(button)](#setSecondaryButton(TextButton)) | [FixedFooter](#) | Set the secondary button in the fixed footer. |\n\nDetailed documentation\n----------------------\n\n### `set``Primary``Button(button)`\n\nSet the primary button in the fixed footer. The primary button must be a [TextButtonStyle.FILLED](/apps-script/reference/card-service/text-button-style#FILLED) button. If the background color is unset for the primary button, the\nbutton uses the primary color defined in the add-on [manifest](/gmail/add-ons/concepts/manifests#manifest_structure_for_gmail_add-ons).\n\n#### Parameters\n\n| Name | Type | Description |\n|----------|---------------------------------------------------------------|--------------------|\n| `button` | [TextButton](/apps-script/reference/card-service/text-button) | The button to add. |\n\n#### Return\n\n\n[FixedFooter](#) --- This object, for chaining.\n\n*** ** * ** ***\n\n### `set``Secondary``Button(button)`\n\nSet the secondary button in the fixed footer. The secondary button must be a [TextButtonStyle.OUTLINED](/apps-script/reference/card-service/text-button-style#OUTLINED) button. This method does nothing if [setPrimaryButton(button)](#setPrimaryButton(TextButton)) isn't called to set the primary button.\n\n#### Parameters\n\n| Name | Type | Description |\n|----------|---------------------------------------------------------------|--------------------|\n| `button` | [TextButton](/apps-script/reference/card-service/text-button) | The button to add. |\n\n#### Return\n\n\n[FixedFooter](#) --- This object, for chaining."]]