blob: 5e8c70fa46879454c068e117a4eee3ee1d8ff296 [file] [log] [blame]
// Copyright 2022 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package chat provides access to the Google Chat API.
//
// For product documentation, see: https://developers.google.com/hangouts/chat
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/chat/v1"
// ...
// ctx := context.Background()
// chatService, err := chat.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// chatService, err := chat.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// chatService, err := chat.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package chat // import "google.golang.org/api/chat/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
internal "google.golang.org/api/internal"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
internaloption "google.golang.org/api/option/internaloption"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
const apiId = "chat:v1"
const apiName = "chat"
const apiVersion = "v1"
const basePath = "https://chat.googleapis.com/"
const mtlsBasePath = "https://chat.mtls.googleapis.com/"
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Dms = NewDmsService(s)
s.Media = NewMediaService(s)
s.Rooms = NewRoomsService(s)
s.Spaces = NewSpacesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Dms *DmsService
Media *MediaService
Rooms *RoomsService
Spaces *SpacesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewDmsService(s *Service) *DmsService {
rs := &DmsService{s: s}
rs.Conversations = NewDmsConversationsService(s)
return rs
}
type DmsService struct {
s *Service
Conversations *DmsConversationsService
}
func NewDmsConversationsService(s *Service) *DmsConversationsService {
rs := &DmsConversationsService{s: s}
return rs
}
type DmsConversationsService struct {
s *Service
}
func NewMediaService(s *Service) *MediaService {
rs := &MediaService{s: s}
return rs
}
type MediaService struct {
s *Service
}
func NewRoomsService(s *Service) *RoomsService {
rs := &RoomsService{s: s}
rs.Conversations = NewRoomsConversationsService(s)
return rs
}
type RoomsService struct {
s *Service
Conversations *RoomsConversationsService
}
func NewRoomsConversationsService(s *Service) *RoomsConversationsService {
rs := &RoomsConversationsService{s: s}
return rs
}
type RoomsConversationsService struct {
s *Service
}
func NewSpacesService(s *Service) *SpacesService {
rs := &SpacesService{s: s}
rs.Members = NewSpacesMembersService(s)
rs.Messages = NewSpacesMessagesService(s)
return rs
}
type SpacesService struct {
s *Service
Members *SpacesMembersService
Messages *SpacesMessagesService
}
func NewSpacesMembersService(s *Service) *SpacesMembersService {
rs := &SpacesMembersService{s: s}
return rs
}
type SpacesMembersService struct {
s *Service
}
func NewSpacesMessagesService(s *Service) *SpacesMessagesService {
rs := &SpacesMessagesService{s: s}
rs.Attachments = NewSpacesMessagesAttachmentsService(s)
return rs
}
type SpacesMessagesService struct {
s *Service
Attachments *SpacesMessagesAttachmentsService
}
func NewSpacesMessagesAttachmentsService(s *Service) *SpacesMessagesAttachmentsService {
rs := &SpacesMessagesAttachmentsService{s: s}
return rs
}
type SpacesMessagesAttachmentsService struct {
s *Service
}
// ActionParameter: List of string parameters to supply when the action
// method is invoked. For example, consider three snooze buttons: snooze
// now, snooze 1 day, snooze next week. You might use action method =
// snooze(), passing the snooze type and snooze time in the list of
// string parameters.
type ActionParameter struct {
// Key: The name of the parameter for the action script.
Key string `json:"key,omitempty"`
// Value: The value of the parameter.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActionParameter) MarshalJSON() ([]byte, error) {
type NoMethod ActionParameter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActionResponse: Parameters that a Chat app can use to configure how
// it's response is posted.
type ActionResponse struct {
// DialogAction: Input only. A response to an event related to a dialog
// (https://developers.google.com/chat/how-tos/dialogs). Must be
// accompanied by `ResponseType.Dialog`.
DialogAction *DialogAction `json:"dialogAction,omitempty"`
// Type: Input only. The type of Chat app response.
//
// Possible values:
// "TYPE_UNSPECIFIED" - Default type; will be handled as NEW_MESSAGE.
// "NEW_MESSAGE" - Post as a new message in the topic.
// "UPDATE_MESSAGE" - Update the Chat app's message. This is only
// permitted on a CARD_CLICKED event where the message sender type is
// BOT.
// "UPDATE_USER_MESSAGE_CARDS" - Update the cards on a user's message.
// This is only permitted as a response to a MESSAGE event with a
// matched url, or a CARD_CLICKED event where the message sender type is
// HUMAN. Text will be ignored.
// "REQUEST_CONFIG" - Privately ask the user for additional auth or
// config.
// "DIALOG" - Presents a
// [dialog](https://developers.google.com/chat/how-tos/dialogs).
Type string `json:"type,omitempty"`
// Url: Input only. URL for users to auth or config. (Only for
// REQUEST_CONFIG response types.)
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "DialogAction") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DialogAction") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActionResponse) MarshalJSON() ([]byte, error) {
type NoMethod ActionResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActionStatus: Represents the status for a request to either invoke or
// submit a dialog (https://developers.google.com/chat/how-tos/dialogs).
type ActionStatus struct {
// StatusCode: The status code.
//
// Possible values:
// "OK" - Not an error; returned on success HTTP Mapping: 200 OK
// "CANCELLED" - The operation was cancelled, typically by the caller.
// HTTP Mapping: 499 Client Closed Request
// "UNKNOWN" - Unknown error. For example, this error may be returned
// when a `Status` value received from another address space belongs to
// an error space that is not known in this address space. Also errors
// raised by APIs that do not return enough error information may be
// converted to this error. HTTP Mapping: 500 Internal Server Error
// "INVALID_ARGUMENT" - The client specified an invalid argument. Note
// that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT`
// indicates arguments that are problematic regardless of the state of
// the system (e.g., a malformed file name). HTTP Mapping: 400 Bad
// Request
// "DEADLINE_EXCEEDED" - The deadline expired before the operation
// could complete. For operations that change the state of the system,
// this error may be returned even if the operation has completed
// successfully. For example, a successful response from a server could
// have been delayed long enough for the deadline to expire. HTTP
// Mapping: 504 Gateway Timeout
// "NOT_FOUND" - Some requested entity (e.g., file or directory) was
// not found. Note to server developers: if a request is denied for an
// entire class of users, such as gradual feature rollout or
// undocumented allowlist, `NOT_FOUND` may be used. If a request is
// denied for some users within a class of users, such as user-based
// access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404
// Not Found
// "ALREADY_EXISTS" - The entity that a client attempted to create
// (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict
// "PERMISSION_DENIED" - The caller does not have permission to
// execute the specified operation. `PERMISSION_DENIED` must not be used
// for rejections caused by exhausting some resource (use
// `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED`
// must not be used if the caller can not be identified (use
// `UNAUTHENTICATED` instead for those errors). This error code does not
// imply the request is valid or the requested entity exists or
// satisfies other pre-conditions. HTTP Mapping: 403 Forbidden
// "UNAUTHENTICATED" - The request does not have valid authentication
// credentials for the operation. HTTP Mapping: 401 Unauthorized
// "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a
// per-user quota, or perhaps the entire file system is out of space.
// HTTP Mapping: 429 Too Many Requests
// "FAILED_PRECONDITION" - The operation was rejected because the
// system is not in a state required for the operation's execution. For
// example, the directory to be deleted is non-empty, an rmdir operation
// is applied to a non-directory, etc. Service implementors can use the
// following guidelines to decide between `FAILED_PRECONDITION`,
// `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can
// retry just the failing call. (b) Use `ABORTED` if the client should
// retry at a higher level. For example, when a client-specified
// test-and-set fails, indicating the client should restart a
// read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the
// client should not retry until the system state has been explicitly
// fixed. For example, if an "rmdir" fails because the directory is
// non-empty, `FAILED_PRECONDITION` should be returned since the client
// should not retry unless the files are deleted from the directory.
// HTTP Mapping: 400 Bad Request
// "ABORTED" - The operation was aborted, typically due to a
// concurrency issue such as a sequencer check failure or transaction
// abort. See the guidelines above for deciding between
// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping:
// 409 Conflict
// "OUT_OF_RANGE" - The operation was attempted past the valid range.
// E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`,
// this error indicates a problem that may be fixed if the system state
// changes. For example, a 32-bit file system will generate
// `INVALID_ARGUMENT` if asked to read at an offset that is not in the
// range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to
// read from an offset past the current file size. There is a fair bit
// of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We
// recommend using `OUT_OF_RANGE` (the more specific error) when it
// applies so that callers who are iterating through a space can easily
// look for an `OUT_OF_RANGE` error to detect when they are done. HTTP
// Mapping: 400 Bad Request
// "UNIMPLEMENTED" - The operation is not implemented or is not
// supported/enabled in this service. HTTP Mapping: 501 Not Implemented
// "INTERNAL" - Internal errors. This means that some invariants
// expected by the underlying system have been broken. This error code
// is reserved for serious errors. HTTP Mapping: 500 Internal Server
// Error
// "UNAVAILABLE" - The service is currently unavailable. This is most
// likely a transient condition, which can be corrected by retrying with
// a backoff. Note that it is not always safe to retry non-idempotent
// operations. See the guidelines above for deciding between
// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping:
// 503 Service Unavailable
// "DATA_LOSS" - Unrecoverable data loss or corruption. HTTP Mapping:
// 500 Internal Server Error
StatusCode string `json:"statusCode,omitempty"`
// UserFacingMessage: The message to send users about the status of
// their request. If unset, a generic message based on the `status_code`
// is sent.
UserFacingMessage string `json:"userFacingMessage,omitempty"`
// ForceSendFields is a list of field names (e.g. "StatusCode") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "StatusCode") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActionStatus) MarshalJSON() ([]byte, error) {
type NoMethod ActionStatus
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Annotation: Annotations associated with the plain-text body of the
// message. Example plain-text message body: ``` Hello @FooBot how are
// you!" ``` The corresponding annotations metadata: ```
// "annotations":[{ "type":"USER_MENTION", "startIndex":6, "length":7,
// "userMention": { "user": { "name":"users/107946847022116401880",
// "displayName":"FooBot", "avatarUrl":"https://goo.gl/aeDtrS",
// "type":"BOT" }, "type":"MENTION" } }] ```
type Annotation struct {
// Length: Length of the substring in the plain-text message body this
// annotation corresponds to.
Length int64 `json:"length,omitempty"`
// SlashCommand: The metadata for a slash command.
SlashCommand *SlashCommandMetadata `json:"slashCommand,omitempty"`
// StartIndex: Start index (0-based, inclusive) in the plain-text
// message body this annotation corresponds to.
StartIndex int64 `json:"startIndex,omitempty"`
// Type: The type of this annotation.
//
// Possible values:
// "ANNOTATION_TYPE_UNSPECIFIED" - Default value for the enum. DO NOT
// USE.
// "USER_MENTION" - A user is mentioned.
// "SLASH_COMMAND" - A slash command is invoked.
Type string `json:"type,omitempty"`
// UserMention: The metadata of user mention.
UserMention *UserMentionMetadata `json:"userMention,omitempty"`
// ForceSendFields is a list of field names (e.g. "Length") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Length") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Annotation) MarshalJSON() ([]byte, error) {
type NoMethod Annotation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Attachment: An attachment in Google Chat.
type Attachment struct {
// AttachmentDataRef: A reference to the attachment data. This is used
// with the media API to download the attachment data.
AttachmentDataRef *AttachmentDataRef `json:"attachmentDataRef,omitempty"`
// ContentName: The original file name for the content, not the full
// path.
ContentName string `json:"contentName,omitempty"`
// ContentType: The content type (MIME type) of the file.
ContentType string `json:"contentType,omitempty"`
// DownloadUri: Output only. The download URL which should be used to
// allow a human user to download the attachment. Chat apps should not
// use this URL to download attachment content.
DownloadUri string `json:"downloadUri,omitempty"`
// DriveDataRef: A reference to the drive attachment. This is used with
// the Drive API.
DriveDataRef *DriveDataRef `json:"driveDataRef,omitempty"`
// Name: Resource name of the attachment, in the form
// "spaces/*/messages/*/attachments/*".
Name string `json:"name,omitempty"`
// Source: The source of the attachment.
//
// Possible values:
// "SOURCE_UNSPECIFIED"
// "DRIVE_FILE"
// "UPLOADED_CONTENT"
Source string `json:"source,omitempty"`
// ThumbnailUri: Output only. The thumbnail URL which should be used to
// preview the attachment to a human user. Chat apps should not use this
// URL to download attachment content.
ThumbnailUri string `json:"thumbnailUri,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AttachmentDataRef")
// to unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AttachmentDataRef") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Attachment) MarshalJSON() ([]byte, error) {
type NoMethod Attachment
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AttachmentDataRef: A reference to the data of an attachment.
type AttachmentDataRef struct {
// ResourceName: The resource name of the attachment data. This is used
// with the media API to download the attachment data.
ResourceName string `json:"resourceName,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResourceName") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResourceName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AttachmentDataRef) MarshalJSON() ([]byte, error) {
type NoMethod AttachmentDataRef
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Button: A button. Can be a text button or an image button.
type Button struct {
// ImageButton: A button with image and onclick action.
ImageButton *ImageButton `json:"imageButton,omitempty"`
// TextButton: A button with text and onclick action.
TextButton *TextButton `json:"textButton,omitempty"`
// ForceSendFields is a list of field names (e.g. "ImageButton") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ImageButton") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Button) MarshalJSON() ([]byte, error) {
type NoMethod Button
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Card: A card is a UI element that can contain UI widgets such as
// texts, images.
type Card struct {
// CardActions: The actions of this card.
CardActions []*CardAction `json:"cardActions,omitempty"`
// Header: The header of the card. A header usually contains a title and
// an image.
Header *CardHeader `json:"header,omitempty"`
// Name: Name of the card.
Name string `json:"name,omitempty"`
// Sections: Sections are separated by a line divider.
Sections []*Section `json:"sections,omitempty"`
// ForceSendFields is a list of field names (e.g. "CardActions") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CardActions") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Card) MarshalJSON() ([]byte, error) {
type NoMethod Card
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CardAction: A card action is the action associated with the card. For
// an invoice card, a typical action would be: delete invoice, email
// invoice or open the invoice in browser.
type CardAction struct {
// ActionLabel: The label used to be displayed in the action menu item.
ActionLabel string `json:"actionLabel,omitempty"`
// OnClick: The onclick action for this action item.
OnClick *OnClick `json:"onClick,omitempty"`
// ForceSendFields is a list of field names (e.g. "ActionLabel") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ActionLabel") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CardAction) MarshalJSON() ([]byte, error) {
type NoMethod CardAction
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type CardHeader struct {
// ImageStyle: The image's type (e.g. square border or circular border).
//
// Possible values:
// "IMAGE_STYLE_UNSPECIFIED"
// "IMAGE" - Square border.
// "AVATAR" - Circular border.
ImageStyle string `json:"imageStyle,omitempty"`
// ImageUrl: The URL of the image in the card header.
ImageUrl string `json:"imageUrl,omitempty"`
// Subtitle: The subtitle of the card header.
Subtitle string `json:"subtitle,omitempty"`
// Title: The title must be specified. The header has a fixed height: if
// both a title and subtitle is specified, each will take up 1 line. If
// only the title is specified, it will take up both lines.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "ImageStyle") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ImageStyle") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CardHeader) MarshalJSON() ([]byte, error) {
type NoMethod CardHeader
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChatAppLogEntry: JSON payload of error messages. If the Cloud Logging
// API is enabled, these error messages are logged to Google Cloud
// Logging (https://cloud.google.com/logging/docs).
type ChatAppLogEntry struct {
// Deployment: The deployment that caused the error. For Chat bots built
// in Apps Script, this is the deployment ID defined by Apps Script.
Deployment string `json:"deployment,omitempty"`
// DeploymentFunction: The unencrypted `callback_method` name that was
// running when the error was encountered.
DeploymentFunction string `json:"deploymentFunction,omitempty"`
// Error: The error code and message.
Error *Status `json:"error,omitempty"`
// ForceSendFields is a list of field names (e.g. "Deployment") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Deployment") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChatAppLogEntry) MarshalJSON() ([]byte, error) {
type NoMethod ChatAppLogEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Color: Represents a color in the RGBA color space. This
// representation is designed for simplicity of conversion to/from color
// representations in various languages over compactness. For example,
// the fields of this representation can be trivially provided to the
// constructor of `java.awt.Color` in Java; it can also be trivially
// provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS;
// and, with just a little work, it can be easily formatted into a CSS
// `rgba()` string in JavaScript. This reference page doesn't carry
// information about the absolute color space that should be used to
// interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020,
// etc.). By default, applications should assume the sRGB color space.
// When color equality needs to be decided, implementations, unless
// documented otherwise, treat two colors as equal if all their red,
// green, blue, and alpha values each differ by at most 1e-5. Example
// (Java): import com.google.type.Color; // ... public static
// java.awt.Color fromProto(Color protocolor) { float alpha =
// protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0;
// return new java.awt.Color( protocolor.getRed(),
// protocolor.getGreen(), protocolor.getBlue(), alpha); } public static
// Color toProto(java.awt.Color color) { float red = (float)
// color.getRed(); float green = (float) color.getGreen(); float blue =
// (float) color.getBlue(); float denominator = 255.0; Color.Builder
// resultBuilder = Color .newBuilder() .setRed(red / denominator)
// .setGreen(green / denominator) .setBlue(blue / denominator); int
// alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha(
// FloatValue .newBuilder() .setValue(((float) alpha) / denominator)
// .build()); } return resultBuilder.build(); } // ... Example (iOS /
// Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float
// red = [protocolor red]; float green = [protocolor green]; float blue
// = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha];
// float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper
// value]; } return [UIColor colorWithRed:red green:green blue:blue
// alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red,
// green, blue, alpha; if (![color getRed:&red green:&green blue:&blue
// alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init];
// [result setRed:red]; [result setGreen:green]; [result setBlue:blue];
// if (alpha <= 0.9999) { [result
// setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease];
// return result; } // ... Example (JavaScript): // ... var
// protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red
// || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac =
// rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green
// = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255);
// if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green,
// blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams
// = [red, green, blue].join(','); return ['rgba(', rgbParams, ',',
// alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green,
// blue) { var rgbNumber = new Number((red << 16) | (green << 8) |
// blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 -
// hexString.length; var resultBuilder = ['#']; for (var i = 0; i <
// missingZeros; i++) { resultBuilder.push('0'); }
// resultBuilder.push(hexString); return resultBuilder.join(''); }; //
// ...
type Color struct {
// Alpha: The fraction of this color that should be applied to the
// pixel. That is, the final pixel color is defined by the equation:
// `pixel color = alpha * (this color) + (1.0 - alpha) * (background
// color)` This means that a value of 1.0 corresponds to a solid color,
// whereas a value of 0.0 corresponds to a completely transparent color.
// This uses a wrapper message rather than a simple float scalar so that
// it is possible to distinguish between a default value and the value
// being unset. If omitted, this color object is rendered as a solid
// color (as if the alpha value had been explicitly given a value of
// 1.0).
Alpha float64 `json:"alpha,omitempty"`
// Blue: The amount of blue in the color as a value in the interval [0,
// 1].
Blue float64 `json:"blue,omitempty"`
// Green: The amount of green in the color as a value in the interval
// [0, 1].
Green float64 `json:"green,omitempty"`
// Red: The amount of red in the color as a value in the interval [0,
// 1].
Red float64 `json:"red,omitempty"`
// ForceSendFields is a list of field names (e.g. "Alpha") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Alpha") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Color) MarshalJSON() ([]byte, error) {
type NoMethod Color
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Color) UnmarshalJSON(data []byte) error {
type NoMethod Color
var s1 struct {
Alpha gensupport.JSONFloat64 `json:"alpha"`
Blue gensupport.JSONFloat64 `json:"blue"`
Green gensupport.JSONFloat64 `json:"green"`
Red gensupport.JSONFloat64 `json:"red"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Alpha = float64(s1.Alpha)
s.Blue = float64(s1.Blue)
s.Green = float64(s1.Green)
s.Red = float64(s1.Red)
return nil
}
// CommonEventObject: Represents information about the user's client,
// such as locale, host app, and platform. For Chat apps,
// `CommonEventObject` includes data submitted by users interacting with
// cards, like data entered in dialogs
// (https://developers.google.com/chat/how-tos/dialogs).
type CommonEventObject struct {
// FormInputs: A map containing the current values of the widgets in a
// card. The map keys are the string IDs assigned to each widget, and
// the values represent inputs to the widget. Depending on the input
// data type, a different object represents each input: For single-value
// widgets, `StringInput`. For multi-value widgets, an array of
// `StringInput` objects. For a date-time picker, a `DateTimeInput`. For
// a date-only picker, a `DateInput`. For a time-only picker, a
// `TimeInput`. Corresponds with the data entered by a user on a card in
// a dialog (https://developers.google.com/chat/how-tos/dialogs).
FormInputs map[string]Inputs `json:"formInputs,omitempty"`
// HostApp: The hostApp enum which indicates the app the add-on is
// invoked from. Always `CHAT` for Chat apps.
//
// Possible values:
// "UNSPECIFIED_HOST_APP" - Google can't identify a host app.
// "GMAIL" - The add-on launches from Gmail.
// "CALENDAR" - The add-on launches from Google Calendar.
// "DRIVE" - The add-on launches from Google Drive.
// "DEMO" - Not used.
// "DOCS" - The add-on launches from Google Docs.
// "SHEETS" - The add-on launches from Google Sheets.
// "SLIDES" - The add-on launches from Google Slides.
// "DRAWINGS" - The add-on launches from Google Drawings.
// "CHAT" - A Google Chat app. Not used for Google Workspace Add-ons.
HostApp string `json:"hostApp,omitempty"`
// InvokedFunction: Name of the invoked function associated with the
// widget. Only set for Chat apps.
InvokedFunction string `json:"invokedFunction,omitempty"`
// Parameters: Custom parameters
// (/chat/api/reference/rest/v1/cards#ActionParameter) passed to the
// invoked function. Both keys and values must be strings.
Parameters map[string]string `json:"parameters,omitempty"`
// Platform: The platform enum which indicates the platform where the
// event originates (`WEB`, `IOS`, or `ANDROID`). Not supported by Chat
// apps.
//
// Possible values:
// "UNKNOWN_PLATFORM"
// "WEB"
// "IOS"
// "ANDROID"
Platform string `json:"platform,omitempty"`
// TimeZone: The timezone ID and offset from Coordinated Universal Time
// (UTC).
TimeZone *TimeZone `json:"timeZone,omitempty"`
// UserLocale: The full `locale.displayName` in the format of [ISO 639
// language code]-[ISO 3166 country/region code] such as "en-US". Not
// supported by Chat apps.
UserLocale string `json:"userLocale,omitempty"`
// ForceSendFields is a list of field names (e.g. "FormInputs") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FormInputs") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CommonEventObject) MarshalJSON() ([]byte, error) {
type NoMethod CommonEventObject
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DateInput: Date input values. Not supported by Chat apps.
type DateInput struct {
// MsSinceEpoch: Time since epoch time, in milliseconds.
MsSinceEpoch int64 `json:"msSinceEpoch,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "MsSinceEpoch") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MsSinceEpoch") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DateInput) MarshalJSON() ([]byte, error) {
type NoMethod DateInput
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DateTimeInput: Date and time input values. Not supported by Chat
// apps.
type DateTimeInput struct {
// HasDate: Whether the `datetime` input includes a calendar date.
HasDate bool `json:"hasDate,omitempty"`
// HasTime: Whether the `datetime` input includes a timestamp.
HasTime bool `json:"hasTime,omitempty"`
// MsSinceEpoch: Time since epoch time, in milliseconds.
MsSinceEpoch int64 `json:"msSinceEpoch,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "HasDate") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "HasDate") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DateTimeInput) MarshalJSON() ([]byte, error) {
type NoMethod DateTimeInput
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeprecatedEvent: Google Chat events.
type DeprecatedEvent struct {
// Action: The form action data associated with an interactive card that
// was clicked. Only populated for CARD_CLICKED events. See the
// Interactive Cards guide (/chat/how-tos/cards-onclick) for more
// information.
Action *FormAction `json:"action,omitempty"`
// Common: Represents information about the user's client, such as
// locale, host app, and platform. For Chat apps, `CommonEventObject`
// includes information submitted by users interacting with dialogs
// (https://developers.google.com/chat/how-tos/dialogs), like data
// entered on a card.
Common *CommonEventObject `json:"common,omitempty"`
// ConfigCompleteRedirectUrl: The URL the Chat app should redirect the
// user to after they have completed an authorization or configuration
// flow outside of Google Chat. See the Authorizing access to 3p
// services guide (/chat/how-tos/auth-3p) for more information.
ConfigCompleteRedirectUrl string `json:"configCompleteRedirectUrl,omitempty"`
// DialogEventType: The type of dialog
// (https://developers.google.com/chat/how-tos/dialogs) event received.
//
// Possible values:
// "TYPE_UNSPECIFIED" - This could be used when the corresponding
// event is not dialog related. For example an @mention.
// "REQUEST_DIALOG" - Any user action that opens a
// [dialog](https://developers.google.com/chat/how-tos/dialogs).
// "SUBMIT_DIALOG" - A card click event from a
// [dialog](https://developers.google.com/chat/how-tos/dialogs).
// "CANCEL_DIALOG" - The
// [dialog](https://developers.google.com/chat/how-tos/dialogs) was
// cancelled.
DialogEventType string `json:"dialogEventType,omitempty"`
// EventTime: The timestamp indicating when the event occurred.
EventTime string `json:"eventTime,omitempty"`
// IsDialogEvent: True when the event is related to dialogs
// (https://developers.google.com/chat/how-tos/dialogs).
IsDialogEvent bool `json:"isDialogEvent,omitempty"`
// Message: The message that triggered the event, if applicable.
Message *Message `json:"message,omitempty"`
// Space: The space in which the event occurred.
Space *Space `json:"space,omitempty"`
// ThreadKey: The Chat app-defined key for the thread related to the
// event. See the thread_key field of the `spaces.message.create`
// request for more information.
ThreadKey string `json:"threadKey,omitempty"`
// Token: A secret value that legacy Chat apps can use to verify if a
// request is from Google. Google randomly generates the token, and its
// value remains static. You can obtain, revoke, or regenerate the token
// from the Chat API configuration page
// (https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat)
// in the Google Cloud Console. Modern Chat apps don't use this field.
// It is absent from API responses and the Chat API configuration page
// (https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat).
Token string `json:"token,omitempty"`
// Type: The type of the event.
//
// Possible values:
// "UNSPECIFIED" - Default value for the enum. DO NOT USE.
// "MESSAGE" - A message was sent in a space.
// "ADDED_TO_SPACE" - The Chat app was added to a space.
// "REMOVED_FROM_SPACE" - The Chat app was removed from a space.
// "CARD_CLICKED" - The Chat app's interactive card was clicked.
Type string `json:"type,omitempty"`
// User: The user that triggered the event.
User *User `json:"user,omitempty"`
// ForceSendFields is a list of field names (e.g. "Action") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Action") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DeprecatedEvent) MarshalJSON() ([]byte, error) {
type NoMethod DeprecatedEvent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Dialog: Wrapper around the card body of the dialog.
type Dialog struct {
// Body: Input only. Body of the dialog, which is rendered in a modal.
// Google Chat apps do not support the following card entities:
// `DateTimePicker`, `OnChangeAction`.
Body *GoogleAppsCardV1Card `json:"body,omitempty"`
// ForceSendFields is a list of field names (e.g. "Body") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Body") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Dialog) MarshalJSON() ([]byte, error) {
type NoMethod Dialog
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DialogAction: Contains a dialog
// (https://developers.google.com/chat/how-tos/dialogs) and request
// status code.
type DialogAction struct {
// ActionStatus: Input only. Status for a request to either invoke or
// submit a dialog (https://developers.google.com/chat/how-tos/dialogs).
// Displays a status and message to users, if necessary. For example, in
// case of an error or success.
ActionStatus *ActionStatus `json:"actionStatus,omitempty"`
// Dialog: Input only. Dialog
// (https://developers.google.com/chat/how-tos/dialogs) for the request.
Dialog *Dialog `json:"dialog,omitempty"`
// ForceSendFields is a list of field names (e.g. "ActionStatus") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ActionStatus") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DialogAction) MarshalJSON() ([]byte, error) {
type NoMethod DialogAction
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DriveDataRef: A reference to the data of a drive attachment.
type DriveDataRef struct {
// DriveFileId: The id for the drive file, for use with the Drive API.
DriveFileId string `json:"driveFileId,omitempty"`
// ForceSendFields is a list of field names (e.g. "DriveFileId") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DriveFileId") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DriveDataRef) MarshalJSON() ([]byte, error) {
type NoMethod DriveDataRef
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Empty: A generic empty message that you can re-use to avoid defining
// duplicated empty messages in your APIs. A typical example is to use
// it as the request or the response type of an API method. For
// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
// (google.protobuf.Empty); }
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
}
// FormAction: A form action describes the behavior when the form is
// submitted. For example, an Apps Script can be invoked to handle the
// form.
type FormAction struct {
// ActionMethodName: The method name is used to identify which part of
// the form triggered the form submission. This information is echoed
// back to the Chat app as part of the card click event. The same method
// name can be used for several elements that trigger a common behavior
// if desired.
ActionMethodName string `json:"actionMethodName,omitempty"`
// Parameters: List of action parameters.
Parameters []*ActionParameter `json:"parameters,omitempty"`
// ForceSendFields is a list of field names (e.g. "ActionMethodName") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ActionMethodName") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *FormAction) MarshalJSON() ([]byte, error) {
type NoMethod FormAction
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1Action: An action that describes the behavior when
// the form is submitted. For example, an Apps Script can be invoked to
// handle the form.
type GoogleAppsCardV1Action struct {
// Function: Apps Script function to invoke when the containing element
// is clicked/activated.
Function string `json:"function,omitempty"`
// LoadIndicator: Specifies the loading indicator that the action
// displays while making the call to the action.
//
// Possible values:
// "SPINNER" - Displays a spinner to indicate that content is loading.
// "NONE" - Nothing is displayed.
LoadIndicator string `json:"loadIndicator,omitempty"`
// Parameters: List of action parameters.
Parameters []*GoogleAppsCardV1ActionParameter `json:"parameters,omitempty"`
// PersistValues: Indicates whether form values persist after the
// action. The default value is `false`. If `true`, form values remain
// after the action is triggered. When using LoadIndicator.NONE
// (workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator)
// for actions, `persist_values` = `true`is recommended, as it ensures
// that any changes made by the user after form or on change actions are
// sent to the server are not overwritten by the response. If `false`,
// the form values are cleared when the action is triggered. When
// `persist_values` is set to `false`, it is strongly recommended that
// the card use LoadIndicator.SPINNER
// (workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator)
// for all actions, as this locks the UI to ensure no changes are made
// by the user while the action is being processed.
PersistValues bool `json:"persistValues,omitempty"`
// ForceSendFields is a list of field names (e.g. "Function") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Function") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1Action) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1Action
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1ActionParameter: List of string parameters to supply
// when the action method is invoked. For example, consider three snooze
// buttons: snooze now, snooze 1 day, snooze next week. You might use
// action method = snooze(), passing the snooze type and snooze time in
// the list of string parameters.
type GoogleAppsCardV1ActionParameter struct {
// Key: The name of the parameter for the action script.
Key string `json:"key,omitempty"`
// Value: The value of the parameter.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1ActionParameter) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1ActionParameter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1BorderStyle: Represents the complete border style
// applied to widgets.
type GoogleAppsCardV1BorderStyle struct {
// CornerRadius: The corner radius for the border.
CornerRadius int64 `json:"cornerRadius,omitempty"`
// StrokeColor: The colors to use when the type is `BORDER_TYPE_STROKE`.
StrokeColor *Color `json:"strokeColor,omitempty"`
// Type: The border type.
//
// Possible values:
// "BORDER_TYPE_UNSPECIFIED" - No value specified.
// "NO_BORDER" - No border.
// "STROKE" - Outline.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "CornerRadius") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CornerRadius") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1BorderStyle) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1BorderStyle
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1Button: A button. Can be a text button or an image
// button.
type GoogleAppsCardV1Button struct {
// AltText: The alternative text used for accessibility. Has no effect
// when an icon is set; use `icon.alt_text` instead.
AltText string `json:"altText,omitempty"`
// Color: If set, the button is filled with a solid background.
Color *Color `json:"color,omitempty"`
// Disabled: If `true`, the button is displayed in a disabled state and
// doesn't respond to user actions.
Disabled bool `json:"disabled,omitempty"`
// Icon: The icon image.
Icon *GoogleAppsCardV1Icon `json:"icon,omitempty"`
// OnClick: The action to perform when the button is clicked.
OnClick *GoogleAppsCardV1OnClick `json:"onClick,omitempty"`
// Text: The text of the button.
Text string `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "AltText") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AltText") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1Button) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1Button
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1ButtonList: A list of buttons layed out horizontally.
type GoogleAppsCardV1ButtonList struct {
// Buttons: An array of buttons.
Buttons []*GoogleAppsCardV1Button `json:"buttons,omitempty"`
// ForceSendFields is a list of field names (e.g. "Buttons") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Buttons") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1ButtonList) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1ButtonList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1Card: A card is a UI element that can contain UI
// widgets such as text and images. For more information, see Cards .
// For example, the following JSON creates a card that has a header with
// the name, position, icons, and link for a contact, followed by a
// section with contact information like email and phone number. ``` {
// "header": { "title": "Sasha", "subtitle": "Software Engineer",
// "imageStyle": "ImageStyle.AVATAR", "imageUrl":
// "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha"
// }, "sections" : [ { "header": "Contact Info", "widgets": [ {
// "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content":
// "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon":
// "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": {
// "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, {
// "buttons": [ { "textButton": { "text": "Share", }, "onClick": {
// "openLink": { "url": "https://example.com/share" } } }, {
// "textButton": { "text": "Edit", }, "onClick": { "action": {
// "function": "goToView", "parameters": [ { "key": "viewType", "value":
// "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ],
// "collapsible": true, "uncollapsibleWidgetsCount": 3 } ],
// "cardActions": [ { "actionLabel": "Send Feedback", "onClick": {
// "openLink": { "url": "https://example.com/feedback" } } } ], "name":
// "contact-card-K3wB6arF2H9L" } ```
type GoogleAppsCardV1Card struct {
// CardActions: The card's actions. Actions are added to the card's
// generated toolbar menu. For example, the following JSON constructs a
// card action menu with Settings and Send Feedback options: ```
// "card_actions": [ { "actionLabel": "Settings", "onClick": { "action":
// { "functionName": "goToView", "parameters": [ { "key": "viewType",
// "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } }
// }, { "actionLabel": "Send Feedback", "onClick": { "openLink": {
// "url": "https://example.com/feedback" } } } ] ```
CardActions []*GoogleAppsCardV1CardAction `json:"cardActions,omitempty"`
// DisplayStyle: The display style for `peekCardHeader`.
//
// Possible values:
// "DISPLAY_STYLE_UNSPECIFIED" - Default value. Do not use.
// "PEEK" - The header of the card appears at the bottom of the
// sidebar, partially covering the current top card of the stack.
// Clicking the header pops the card into the card stack. If the card
// has no header, a generated header is used instead.
// "REPLACE" - The card is shown by replacing the view of the top card
// in the card stack.
DisplayStyle string `json:"displayStyle,omitempty"`
// FixedFooter: The fixed footer shown at the bottom of this card.
FixedFooter *GoogleAppsCardV1CardFixedFooter `json:"fixedFooter,omitempty"`
// Header: The header of the card. A header usually contains a title and
// an image.
Header *GoogleAppsCardV1CardHeader `json:"header,omitempty"`
// Name: Name of the card. Used as a card identifier in card navigation.
Name string `json:"name,omitempty"`
// PeekCardHeader: When displaying contextual content, the peek card
// header acts as a placeholder so that the user can navigate forward
// between the homepage cards and the contextual cards.
PeekCardHeader *GoogleAppsCardV1CardHeader `json:"peekCardHeader,omitempty"`
// Sections: Sections are separated by a line divider.
Sections []*GoogleAppsCardV1Section `json:"sections,omitempty"`
// ForceSendFields is a list of field names (e.g. "CardActions") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CardActions") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1Card) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1Card
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1CardAction: A card action is the action associated
// with the card. For example, an invoice card might include actions
// such as delete invoice, email invoice, or open the invoice in a
// browser.
type GoogleAppsCardV1CardAction struct {
// ActionLabel: The label that displays as the action menu item.
ActionLabel string `json:"actionLabel,omitempty"`
// OnClick: The `onClick` action for this action item.
OnClick *GoogleAppsCardV1OnClick `json:"onClick,omitempty"`
// ForceSendFields is a list of field names (e.g. "ActionLabel") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ActionLabel") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1CardAction) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1CardAction
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1CardFixedFooter: A persistent (sticky) footer that is
// added to the bottom of the card.
type GoogleAppsCardV1CardFixedFooter struct {
// PrimaryButton: The primary button of the fixed footer. The button
// must be a text button with text and color set.
PrimaryButton *GoogleAppsCardV1Button `json:"primaryButton,omitempty"`
// SecondaryButton: The secondary button of the fixed footer. The button
// must be a text button with text and color set. `primaryButton` must
// be set if `secondaryButton` is set.
SecondaryButton *GoogleAppsCardV1Button `json:"secondaryButton,omitempty"`
// ForceSendFields is a list of field names (e.g. "PrimaryButton") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PrimaryButton") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1CardFixedFooter) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1CardFixedFooter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1CardHeader: Represents a card header.
type GoogleAppsCardV1CardHeader struct {
// ImageAltText: The alternative text of this image which is used for
// accessibility.
ImageAltText string `json:"imageAltText,omitempty"`
// ImageType: The image's type.
//
// Possible values:
// "SQUARE" - Applies no cropping to the image.
// "CIRCLE" - Applies a circular mask to the image.
ImageType string `json:"imageType,omitempty"`
// ImageUrl: The URL of the image in the card header.
ImageUrl string `json:"imageUrl,omitempty"`
// Subtitle: The subtitle of the card header.
Subtitle string `json:"subtitle,omitempty"`
// Title: Required. The title of the card header. The header has a fixed
// height: if both a title and subtitle are specified, each takes up one
// line. If only the title is specified, it takes up both lines.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "ImageAltText") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ImageAltText") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1CardHeader) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1CardHeader
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1DateTimePicker: The widget that lets users to specify
// a date and time. Not supported by Google Chat apps.
type GoogleAppsCardV1DateTimePicker struct {
// Label: The label for the field that displays to the user.
Label string `json:"label,omitempty"`
// Name: The name of the text input that's used in `formInput`, and
// uniquely identifies this input.
Name string `json:"name,omitempty"`
// OnChangeAction: Triggered when the user clicks Save or Clear from the
// date/time picker dialog. This is only triggered if the value changed
// as a result of the Save/Clear operation.
OnChangeAction *GoogleAppsCardV1Action `json:"onChangeAction,omitempty"`
// TimezoneOffsetDate: The number representing the time zone offset from
// UTC, in minutes. If set, the `value_ms_epoch` is displayed in the
// specified time zone. If not set, it uses the user's time zone setting
// on the client side.
TimezoneOffsetDate int64 `json:"timezoneOffsetDate,omitempty"`
// Type: The type of the date/time picker.
//
// Possible values:
// "DATE_AND_TIME" - The user can select a date and time.
// "DATE_ONLY" - The user can only select a date.
// "TIME_ONLY" - The user can only select a time.
Type string `json:"type,omitempty"`
// ValueMsEpoch: The value to display as the default value before user
// input or previous user input. It is represented in milliseconds
// (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used.
// For `DATE_ONLY` type, only date of the epoch time is used. For
// `TIME_ONLY` type, only time of the epoch time is used. For example,
// you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am.
ValueMsEpoch int64 `json:"valueMsEpoch,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Label") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Label") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1DateTimePicker) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1DateTimePicker
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1DecoratedText: A widget that displays text with
// optional decorations such as a label above or below the text, an icon
// in front of the text, a selection widget or a button after the text.
type GoogleAppsCardV1DecoratedText struct {
// BottomLabel: The formatted text label that shows below the main text.
BottomLabel string `json:"bottomLabel,omitempty"`
// Button: A button that can be clicked to trigger an action.
Button *GoogleAppsCardV1Button `json:"button,omitempty"`
// EndIcon: An icon displayed after the text.
EndIcon *GoogleAppsCardV1Icon `json:"endIcon,omitempty"`
// Icon: Deprecated in favor of start_icon.
Icon *GoogleAppsCardV1Icon `json:"icon,omitempty"`
// OnClick: Only the top and bottom label and content region are
// clickable.
OnClick *GoogleAppsCardV1OnClick `json:"onClick,omitempty"`
// StartIcon: The icon displayed in front of the text.
StartIcon *GoogleAppsCardV1Icon `json:"startIcon,omitempty"`
// SwitchControl: A switch widget can be clicked to change its state or
// trigger an action.
SwitchControl *GoogleAppsCardV1SwitchControl `json:"switchControl,omitempty"`
// Text: Required. The main widget formatted text. See Text formatting
// for details.
Text string `json:"text,omitempty"`
// TopLabel: The formatted text label that shows above the main text.
TopLabel string `json:"topLabel,omitempty"`
// WrapText: The wrap text setting. If `true`, the text is wrapped and
// displayed in multiline. Otherwise, the text is truncated.
WrapText bool `json:"wrapText,omitempty"`
// ForceSendFields is a list of field names (e.g. "BottomLabel") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BottomLabel") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1DecoratedText) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1DecoratedText
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1Divider: A divider that appears in between widgets.
type GoogleAppsCardV1Divider struct {
}
// GoogleAppsCardV1Grid: Represents a Grid widget that displays items in
// a configurable grid layout.
type GoogleAppsCardV1Grid struct {
// BorderStyle: The border style to apply to each grid item.
BorderStyle *GoogleAppsCardV1BorderStyle `json:"borderStyle,omitempty"`
// ColumnCount: The number of columns to display in the grid. A default
// value is used if this field isn't specified, and that default value
// is different depending on where the grid is shown (dialog versus
// companion).
ColumnCount int64 `json:"columnCount,omitempty"`
// Items: The items to display in the grid.
Items []*GoogleAppsCardV1GridItem `json:"items,omitempty"`
// OnClick: This callback is reused by each individual grid item, but
// with the item's identifier and index in the items list added to the
// callback's parameters.
OnClick *GoogleAppsCardV1OnClick `json:"onClick,omitempty"`
// Title: The text that displays in the grid header.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "BorderStyle") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BorderStyle") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1Grid) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1Grid
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1GridItem: Represents a single item in the grid
// layout.
type GoogleAppsCardV1GridItem struct {
// Id: A user-specified identifier for this grid item. This identifier
// is returned in the parent Grid's onClick callback parameters.
Id string `json:"id,omitempty"`
// Image: The image that displays in the grid item.
Image *GoogleAppsCardV1ImageComponent `json:"image,omitempty"`
// Layout: The layout to use for the grid item.
//
// Possible values:
// "GRID_ITEM_LAYOUT_UNSPECIFIED" - No layout specified.
// "TEXT_BELOW" - The title and subtitle are shown below the grid
// item's image.
// "TEXT_ABOVE" - The title and subtitle are shown above the grid
// item's image.
Layout string `json:"layout,omitempty"`
// Subtitle: The grid item's subtitle.
Subtitle string `json:"subtitle,omitempty"`
// TextAlignment: The horizontal alignment of the grid item's text.
//
// Possible values:
// "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Unspecified alignment.
// "START" - Alignment to the start position.
// "CENTER" - Alignment to the center position.
// "END" - Alignment to the end position.
TextAlignment string `json:"textAlignment,omitempty"`
// Title: The grid item's title.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Id") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1GridItem) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1GridItem
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GoogleAppsCardV1Icon struct {
// AltText: The description of the icon, used for accessibility. The
// default value is provided if you don't specify one.
AltText string `json:"altText,omitempty"`
// IconUrl: The icon specified by a URL.
IconUrl string `json:"iconUrl,omitempty"`
// ImageType: The crop style applied to the image. In some cases,
// applying a `CIRCLE` crop causes the image to be drawn larger than a
// standard icon.
//
// Possible values:
// "SQUARE" - Applies no cropping to the image.
// "CIRCLE" - Applies a circular mask to the image.
ImageType string `json:"imageType,omitempty"`
// KnownIcon: The icon specified by the string name of a list of known
// icons.
KnownIcon string `json:"knownIcon,omitempty"`
// ForceSendFields is a list of field names (e.g. "AltText") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AltText") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1Icon) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1Icon
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1Image: An image that is specified by a URL and can
// have an `onClick` action.
type GoogleAppsCardV1Image struct {
// AltText: The alternative text of this image, used for accessibility.
AltText string `json:"altText,omitempty"`
// ImageUrl: An image URL.
ImageUrl string `json:"imageUrl,omitempty"`
// OnClick: The action triggered by an `onClick` event.
OnClick *GoogleAppsCardV1OnClick `json:"onClick,omitempty"`
// ForceSendFields is a list of field names (e.g. "AltText") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AltText") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1Image) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1Image
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1ImageComponent: Represents an image.
type GoogleAppsCardV1ImageComponent struct {
// AltText: The accessibility label for the image.
AltText string `json:"altText,omitempty"`
// BorderStyle: The border style to apply to the image.
BorderStyle *GoogleAppsCardV1BorderStyle `json:"borderStyle,omitempty"`
// CropStyle: The crop style to apply to the image.
CropStyle *GoogleAppsCardV1ImageCropStyle `json:"cropStyle,omitempty"`
// ImageUri: The image URL.
ImageUri string `json:"imageUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "AltText") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AltText") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1ImageComponent) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1ImageComponent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1ImageCropStyle: Represents the crop style applied to
// an image.
type GoogleAppsCardV1ImageCropStyle struct {
// AspectRatio: The aspect ratio to use if the crop type is
// `RECTANGLE_CUSTOM`.
AspectRatio float64 `json:"aspectRatio,omitempty"`
// Type: The crop type.
//
// Possible values:
// "IMAGE_CROP_TYPE_UNSPECIFIED" - No value specified.
// "SQUARE" - Applies a square crop.
// "CIRCLE" - Applies a circular crop.
// "RECTANGLE_CUSTOM" - Applies a rectangular crop with a custom
// aspect ratio.
// "RECTANGLE_4_3" - Applies a rectangular crop with a 4:3 aspect
// ratio.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "AspectRatio") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AspectRatio") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1ImageCropStyle) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1ImageCropStyle
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleAppsCardV1ImageCropStyle) UnmarshalJSON(data []byte) error {
type NoMethod GoogleAppsCardV1ImageCropStyle
var s1 struct {
AspectRatio gensupport.JSONFloat64 `json:"aspectRatio"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.AspectRatio = float64(s1.AspectRatio)
return nil
}
// GoogleAppsCardV1OnClick: Represents the response to an `onClick`
// event.
type GoogleAppsCardV1OnClick struct {
// Action: If specified, an action is triggered by this `onClick`.
Action *GoogleAppsCardV1Action `json:"action,omitempty"`
// Card: A new card is pushed to the card stack after clicking if
// specified.
Card *GoogleAppsCardV1Card `json:"card,omitempty"`
// OpenDynamicLinkAction: An add-on triggers this action when the action
// needs to open a link. This differs from the `open_link` above in that
// this needs to talk to server to get the link. Thus some preparation
// work is required for web client to do before the open link action
// response comes back.
OpenDynamicLinkAction *GoogleAppsCardV1Action `json:"openDynamicLinkAction,omitempty"`
// OpenLink: If specified, this `onClick` triggers an open link action.
OpenLink *GoogleAppsCardV1OpenLink `json:"openLink,omitempty"`
// ForceSendFields is a list of field names (e.g. "Action") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Action") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1OnClick) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1OnClick
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1OpenLink: Represents an `onClick` event that opens a
// hyperlink.
type GoogleAppsCardV1OpenLink struct {
// OnClose: Whether the client forgets about a link after opening it, or
// observes it until the window closes. Not supported by Chat apps.
//
// Possible values:
// "NOTHING" - Doesn’t reload the card after the child window
// closes.
// "RELOAD" - Reloads the card after the child window closes. If used
// in conjunction with
// [OpenAs.OVERLAY](/workspace/add-ons/reference/rpc/google.apps.card.v1#
// openas), the child window acts as a modal dialog and the main card is
// blocked until the child window closes.
OnClose string `json:"onClose,omitempty"`
// OpenAs: How to open a link. Not supported by Chat apps.
//
// Possible values:
// "FULL_SIZE" - The link opens as a full size window (if that's the
// frame used by the client.
// "OVERLAY" - The link opens as an overlay, such as a pop-up.
OpenAs string `json:"openAs,omitempty"`
// Url: The URL to open.
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "OnClose") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "OnClose") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1OpenLink) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1OpenLink
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1Section: A section contains a collection of widgets
// that are rendered vertically in the order that they are specified.
// Across all platforms, cards have a narrow fixed width, so there is
// currently no need for layout properties, for example, float.
type GoogleAppsCardV1Section struct {
// Collapsible: Indicates whether this section is collapsible. If a
// section is collapsible, the description must be given.
Collapsible bool `json:"collapsible,omitempty"`
// Header: The header of the section. Formatted text is supported.
Header string `json:"header,omitempty"`
// UncollapsibleWidgetsCount: The number of uncollapsible widgets. For
// example, when a section contains five widgets and the
// `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are
// always shown and the last three are collapsed as default. The
// `uncollapsibleWidgetsCount` is taken into account only when
// `collapsible` is `true`.
UncollapsibleWidgetsCount int64 `json:"uncollapsibleWidgetsCount,omitempty"`
// Widgets: A section must contain at least 1 widget.
Widgets []*GoogleAppsCardV1Widget `json:"widgets,omitempty"`
// ForceSendFields is a list of field names (e.g. "Collapsible") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Collapsible") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1Section) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1Section
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1SelectionInput: A widget that creates a UI item with
// options for users to select. For example, a dropdown menu.
type GoogleAppsCardV1SelectionInput struct {
// Items: An array of the selected items.
Items []*GoogleAppsCardV1SelectionItem `json:"items,omitempty"`
// Label: The label displayed ahead of the switch control.
Label string `json:"label,omitempty"`
// Name: The name of the text input which is used in `formInput`.
Name string `json:"name,omitempty"`
// OnChangeAction: If specified, the form is submitted when the
// selection changes. If not specified, you must specify a separate
// button.
OnChangeAction *GoogleAppsCardV1Action `json:"onChangeAction,omitempty"`
// Type: The type of the selection.
//
// Possible values:
// "CHECK_BOX" - A checkbox.
// "RADIO_BUTTON" - A radio button.
// "SWITCH" - A switch.
// "DROPDOWN" - A dropdown menu.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Items") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Items") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1SelectionInput) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1SelectionInput
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1SelectionItem: A selectable item in the switch
// control.
type GoogleAppsCardV1SelectionItem struct {
// Selected: If more than one item is selected for `RADIO_BUTTON` and
// `DROPDOWN`, the first selected item is treated as selected and the
// ones after are ignored.
Selected bool `json:"selected,omitempty"`
// Text: The text to be displayed.
Text string `json:"text,omitempty"`
// Value: The value associated with this item. The client should use
// this as a form input value.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Selected") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Selected") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1SelectionItem) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1SelectionItem
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1SuggestionItem: A suggestion item.
type GoogleAppsCardV1SuggestionItem struct {
// Text: The suggested autocomplete result.
Text string `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "Text") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Text") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1SuggestionItem) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1SuggestionItem
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1Suggestions: A container wrapping elements necessary
// for showing suggestion items used in text input autocomplete.
type GoogleAppsCardV1Suggestions struct {
// Items: A list of suggestions used for autocomplete recommendations.
Items []*GoogleAppsCardV1SuggestionItem `json:"items,omitempty"`
// ForceSendFields is a list of field names (e.g. "Items") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Items") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1Suggestions) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1Suggestions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1SwitchControl: Either a toggle-style switch or a
// checkbox.
type GoogleAppsCardV1SwitchControl struct {
// ControlType: The control type, either switch or checkbox.
//
// Possible values:
// "SWITCH" - A toggle-style switch.
// "CHECKBOX" - Deprecated in favor of `CHECK_BOX`.
// "CHECK_BOX" - A checkbox.
ControlType string `json:"controlType,omitempty"`
// Name: The name of the switch widget that's used in `formInput`.
Name string `json:"name,omitempty"`
// OnChangeAction: The action when the switch state is changed.
OnChangeAction *GoogleAppsCardV1Action `json:"onChangeAction,omitempty"`
// Selected: If the switch is selected.
Selected bool `json:"selected,omitempty"`
// Value: The value is what is passed back in the callback.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "ControlType") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ControlType") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1SwitchControl) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1SwitchControl
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1TextInput: A text input is a UI item where users can
// input text. A text input can also have an onChange action and
// suggestions.
type GoogleAppsCardV1TextInput struct {
// AutoCompleteAction: The refresh function that returns suggestions
// based on the user's input text. If the callback is not specified,
// autocomplete is done in client side based on the initial suggestion
// items.
AutoCompleteAction *GoogleAppsCardV1Action `json:"autoCompleteAction,omitempty"`
// HintText: The hint text.
HintText string `json:"hintText,omitempty"`
// InitialSuggestions: The initial suggestions made before any user
// input.
InitialSuggestions *GoogleAppsCardV1Suggestions `json:"initialSuggestions,omitempty"`
// Label: At least one of label and hintText must be specified.
Label string `json:"label,omitempty"`
// Name: The name of the text input which is used in `formInput`.
Name string `json:"name,omitempty"`
// OnChangeAction: The onChange action, for example, invoke a function.
OnChangeAction *GoogleAppsCardV1Action `json:"onChangeAction,omitempty"`
// Type: The style of the text, for example, a single line or multiple
// lines.
//
// Possible values:
// "SINGLE_LINE" - The text is put into a single line.
// "MULTIPLE_LINE" - The text is put into multiple lines.
Type string `json:"type,omitempty"`
// Value: The default value when there is no input from the user.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "AutoCompleteAction")
// to unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AutoCompleteAction") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1TextInput) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1TextInput
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1TextParagraph: A paragraph of text that supports
// formatting. See Text formatting
// (workspace/add-ons/concepts/widgets#text_formatting") for details.
type GoogleAppsCardV1TextParagraph struct {
// Text: The text that's shown in the widget.
Text string `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "Text") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Text") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1TextParagraph) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1TextParagraph
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleAppsCardV1Widget: A widget is a UI element that presents texts,
// images, etc.
type GoogleAppsCardV1Widget struct {
// ButtonList: A list of buttons. For example, the following JSON
// creates two buttons. The first is a filled text button and the second
// is an image button that opens a link: ``` "buttonList": { "buttons":
// [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255
// "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon":
// "INVITE" "altText": "check calendar" }, "onClick": { "openLink": {
// "url": "https://example.com/calendar" } } }, ] } ```
ButtonList *GoogleAppsCardV1ButtonList `json:"buttonList,omitempty"`
// DateTimePicker: Displays a selection/input widget for date/time. For
// example, the following JSON creates a date/time picker for an
// appointment time: ``` "date_time_picker": { "name":
// "appointment_time", "label": "Book your appointment at:", "type":
// "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" }
// ```
DateTimePicker *GoogleAppsCardV1DateTimePicker `json:"dateTimePicker,omitempty"`
// DecoratedText: Displays a decorated text item in this widget. For
// example, the following JSON creates a decorated text widget showing
// email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL"
// }, "topLabel": "Email Address", "content": "sasha@example.com",
// "bottomLabel": "This is a new Email address!", "switchWidget": {
// "name": "has_send_welcome_email_to_sasha", "selected": false,
// "controlType": "ControlType.CHECKBOX" } } ```
DecoratedText *GoogleAppsCardV1DecoratedText `json:"decoratedText,omitempty"`
// Divider: Displays a divider. For example, the following JSON creates
// a divider: ``` "divider": { } ```
Divider *GoogleAppsCardV1Divider `json:"divider,omitempty"`
// Grid: Displays a grid with a collection of items. For example, the
// following JSON creates a 2 column grid with a single item: ```
// "grid": { "title": "A fine collection of items", "numColumns": 2,
// "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "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" } } } ```
Grid *GoogleAppsCardV1Grid `json:"grid,omitempty"`
// HorizontalAlignment: The horizontal alignment of this widget.
//
// Possible values:
// "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Unspecified alignment.
// "START" - Alignment to the start position.
// "CENTER" - Alignment to the center position.
// "END" - Alignment to the end position.
HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
// Image: Displays an image in this widget. For example, the following
// JSON creates an image with alternative text: ``` "image": {
// "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for
// Sasha" } ```
Image *GoogleAppsCardV1Image `json:"image,omitempty"`
// SelectionInput: Displays a switch control in this widget. For
// example, the following JSON creates a dropdown selection for size:
// ``` "switchControl": { "name": "size", "label": "Size" "type":
// "SelectionType.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 } ] } ```
SelectionInput *GoogleAppsCardV1SelectionInput `json:"selectionInput,omitempty"`
// TextInput: Displays a text input in this widget. For example, the
// following JSON creates a text input for mail address: ```
// "textInput": { "name": "mailing_address", "label": "Mailing Address"
// } ``` As another example, the following JSON creates a text input for
// programming language with static suggestions: ``` "textInput": {
// "name": "preferred_programing_language", "label": "Preferred
// Language", "initialSuggestions": { "items": [ { "text": "C++" }, {
// "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] }
// } ```
TextInput *GoogleAppsCardV1TextInput `json:"textInput,omitempty"`
// TextParagraph: Displays a text paragraph in this widget. For example,
// the following JSON creates a bolded text: ``` "textParagraph": {
// "text": " *bold text*" } ```
TextParagraph *GoogleAppsCardV1TextParagraph `json:"textParagraph,omitempty"`
// ForceSendFields is a list of field names (e.g. "ButtonList") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ButtonList") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleAppsCardV1Widget) MarshalJSON() ([]byte, error) {
type NoMethod GoogleAppsCardV1Widget
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Image: An image that is specified by a URL and can have an onclick
// action.
type Image struct {
// AspectRatio: The aspect ratio of this image (width/height). This
// field allows clients to reserve the right height for the image while
// waiting for it to load. It's not meant to override the native aspect
// ratio of the image. If unset, the server fills it by prefetching the
// image.
AspectRatio float64 `json:"aspectRatio,omitempty"`
// ImageUrl: The URL of the image.
ImageUrl string `json:"imageUrl,omitempty"`
// OnClick: The onclick action.
OnClick *OnClick `json:"onClick,omitempty"`
// ForceSendFields is a list of field names (e.g. "AspectRatio") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AspectRatio") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Image) MarshalJSON() ([]byte, error) {
type NoMethod Image
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Image) UnmarshalJSON(data []byte) error {
type NoMethod Image
var s1 struct {
AspectRatio gensupport.JSONFloat64 `json:"aspectRatio"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.AspectRatio = float64(s1.AspectRatio)
return nil
}
// ImageButton: An image button with an onclick action.
type ImageButton struct {
// Icon: The icon specified by an enum that indices to an icon provided
// by Chat API.
//
// Possible values:
// "ICON_UNSPECIFIED"
// "AIRPLANE"
// "BOOKMARK"
// "BUS"
// "CAR"
// "CLOCK"
// "CONFIRMATION_NUMBER_ICON"
// "DOLLAR"
// "DESCRIPTION"
// "EMAIL"
// "EVENT_PERFORMER"
// "EVENT_SEAT"
// "FLIGHT_ARRIVAL"
// "FLIGHT_DEPARTURE"
// "HOTEL"
// "HOTEL_ROOM_TYPE"
// "INVITE"
// "MAP_PIN"
// "MEMBERSHIP"
// "MULTIPLE_PEOPLE"
// "OFFER"
// "PERSON"
// "PHONE"
// "RESTAURANT_ICON"
// "SHOPPING_CART"
// "STAR"
// "STORE"
// "TICKET"
// "TRAIN"
// "VIDEO_CAMERA"
// "VIDEO_PLAY"
Icon string `json:"icon,omitempty"`
// IconUrl: The icon specified by a URL.
IconUrl string `json:"iconUrl,omitempty"`
// Name: The name of this image_button which will be used for
// accessibility. Default value will be provided if developers don't
// specify.
Name string `json:"name,omitempty"`
// OnClick: The onclick action.
OnClick *OnClick `json:"onClick,omitempty"`
// ForceSendFields is a list of field names (e.g. "Icon") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Icon") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ImageButton) MarshalJSON() ([]byte, error) {
type NoMethod ImageButton
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Inputs: Types of data inputs for widgets. Users enter data with these
// inputs.
type Inputs struct {
// DateInput: Date input values. Not supported by Chat apps.
DateInput *DateInput `json:"dateInput,omitempty"`
// DateTimeInput: Date and time input values. Not supported by Chat
// apps.
DateTimeInput *DateTimeInput `json:"dateTimeInput,omitempty"`
// StringInputs: Input parameter for regular widgets. For single-valued
// widgets, it is a single value list. For multi-valued widgets, such as
// checkbox, all the values are presented.
StringInputs *StringInputs `json:"stringInputs,omitempty"`
// TimeInput: Time input values. Not supported by Chat apps.
TimeInput *TimeInput `json:"timeInput,omitempty"`
// ForceSendFields is a list of field names (e.g. "DateInput") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DateInput") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Inputs) MarshalJSON() ([]byte, error) {
type NoMethod Inputs
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// KeyValue: A UI element contains a key (label) and a value (content).
// And this element may also contain some actions such as onclick
// button.
type KeyValue struct {
// BottomLabel: The text of the bottom label. Formatted text supported.
BottomLabel string `json:"bottomLabel,omitempty"`
// Button: A button that can be clicked to trigger an action.
Button *Button `json:"button,omitempty"`
// Content: The text of the content. Formatted text supported and always
// required.
Content string `json:"content,omitempty"`
// ContentMultiline: If the content should be multiline.
ContentMultiline bool `json:"contentMultiline,omitempty"`
// Icon: An enum value that will be replaced by the Chat API with the
// corresponding icon image.
//
// Possible values:
// "ICON_UNSPECIFIED"
// "AIRPLANE"
// "BOOKMARK"
// "BUS"
// "CAR"
// "CLOCK"
// "CONFIRMATION_NUMBER_ICON"
// "DOLLAR"
// "DESCRIPTION"
// "EMAIL"
// "EVENT_PERFORMER"
// "EVENT_SEAT"
// "FLIGHT_ARRIVAL"
// "FLIGHT_DEPARTURE"
// "HOTEL"
// "HOTEL_ROOM_TYPE"
// "INVITE"
// "MAP_PIN"
// "MEMBERSHIP"
// "MULTIPLE_PEOPLE"
// "OFFER"
// "PERSON"
// "PHONE"
// "RESTAURANT_ICON"
// "SHOPPING_CART"
// "STAR"
// "STORE"
// "TICKET"
// "TRAIN"
// "VIDEO_CAMERA"
// "VIDEO_PLAY"
Icon string `json:"icon,omitempty"`
// IconUrl: The icon specified by a URL.
IconUrl string `json:"iconUrl,omitempty"`
// OnClick: The onclick action. Only the top label, bottom label and
// content region are clickable.
OnClick *OnClick `json:"onClick,omitempty"`
// TopLabel: The text of the top label. Formatted text supported.
TopLabel string `json:"topLabel,omitempty"`
// ForceSendFields is a list of field names (e.g. "BottomLabel") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BottomLabel") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *KeyValue) MarshalJSON() ([]byte, error) {
type NoMethod KeyValue
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ListMembershipsResponse struct {
// Memberships: List of memberships in the requested (or first) page.
Memberships []*Membership `json:"memberships,omitempty"`
// NextPageToken: Continuation token to retrieve the next page of
// results. It will be empty for the last page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Memberships") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Memberships") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListMembershipsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListMembershipsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ListSpacesResponse struct {
// NextPageToken: Continuation token to retrieve the next page of
// results. It will be empty for the last page of results. Tokens expire
// in an hour. An error is thrown if an expired token is passed.
NextPageToken string `json:"nextPageToken,omitempty"`
// Spaces: List of spaces in the requested (or first) page.
Spaces []*Space `json:"spaces,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListSpacesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListSpacesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MatchedUrl: A matched url in a Chat message. Chat apps can unfurl
// matched URLs. For more information, refer to Unfurl links
// (https://developers.google.com/chat/how-tos/link-unfurling).
type MatchedUrl struct {
// Url: Output only. The url that was matched.
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "Url") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Url") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MatchedUrl) MarshalJSON() ([]byte, error) {
type NoMethod MatchedUrl
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Media: Media resource.
type Media struct {
// ResourceName: Name of the media resource.
ResourceName string `json:"resourceName,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ResourceName") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResourceName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Media) MarshalJSON() ([]byte, error) {
type NoMethod Media
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Membership: Represents a membership relation in Google Chat.
type Membership struct {
// CreateTime: Output only. The creation time of the membership a.k.a.
// the time at which the member joined the space, if applicable.
CreateTime string `json:"createTime,omitempty"`
// Member: A Google Chat user or app. Format: `users/{person}` or
// `users/app` When `users/{person}`, represents a person
// (https://developers.google.com/people/api/rest/v1/people) in the
// People API or a user
// (https://developers.google.com/admin-sdk/directory/reference/rest/v1/users)
// in the Admin SDK Directory API. Format: `users/{user}` When
// `users/app`, represents a Chat app creating membership for itself.
// Creating membership is available as a developer preview
// (https://developers.google.com/workspace/preview).
Member *User `json:"member,omitempty"`
Name string `json:"name,omitempty"`
// State: Output only. State of the membership.
//
// Possible values:
// "MEMBERSHIP_STATE_UNSPECIFIED" - Default, do not use.
// "JOINED" - The user has joined the space.
// "INVITED" - The user has been invited, is able to join the space,
// but currently has not joined.
// "NOT_A_MEMBER" - The user is not a member of the space, has not
// been invited and is not able to join the space.
State string `json:"state,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Membership) MarshalJSON() ([]byte, error) {
type NoMethod Membership
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Message: A message in Google Chat.
type Message struct {
// ActionResponse: Input only. Parameters that a Chat app can use to
// configure how its response is posted.
ActionResponse *ActionResponse `json:"actionResponse,omitempty"`
// Annotations: Output only. Annotations associated with the text in
// this message.
Annotations []*Annotation `json:"annotations,omitempty"`
// ArgumentText: Plain-text body of the message with all Chat app
// mentions stripped out.
ArgumentText string `json:"argumentText,omitempty"`
// Attachment: User uploaded attachment.
Attachment []*Attachment `json:"attachment,omitempty"`
// Cards: Rich, formatted and interactive cards that can be used to
// display UI elements such as: formatted texts, buttons, clickable
// images. Cards are normally displayed below the plain-text body of the
// message.
Cards []*Card `json:"cards,omitempty"`
// CreateTime: Output only. The time at which the message was created in
// Google Chat server.
CreateTime string `json:"createTime,omitempty"`
// FallbackText: A plain-text description of the message's cards, used
// when the actual cards cannot be displayed (e.g. mobile
// notifications).
FallbackText string `json:"fallbackText,omitempty"`
// LastUpdateTime: Output only. The time at which the message was last
// updated in Google Chat server. If the message was never updated, this
// field will be same as create_time.
LastUpdateTime string `json:"lastUpdateTime,omitempty"`
// MatchedUrl: Output only. A URL in `spaces.messages.text` that matches
// a link unfurling pattern. For more information, refer to Unfurl links
// (https://developers.google.com/chat/how-tos/link-unfurling).
MatchedUrl *MatchedUrl `json:"matchedUrl,omitempty"`
// Name: Resource name in the form `spaces/*/messages/*`. Example:
// `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`
Name string `json:"name,omitempty"`
// Sender: Output only. The user who created the message.
Sender *User `json:"sender,omitempty"`
// SlashCommand: Output only. Slash command information, if applicable.
SlashCommand *SlashCommand `json:"slashCommand,omitempty"`
// Space: The space the message belongs to.
Space *Space `json:"space,omitempty"`
// Text: Plain-text body of the message. The first link to an image,
// video, web page, or other preview-able item generates a preview chip.
Text string `json:"text,omitempty"`
// Thread: The thread the message belongs to.
Thread *Thread `json:"thread,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ActionResponse") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ActionResponse") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Message) MarshalJSON() ([]byte, error) {
type NoMethod Message
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// OnClick: An onclick action (e.g. open a link).
type OnClick struct {
// Action: A form action will be triggered by this onclick if specified.
Action *FormAction `json:"action,omitempty"`
// OpenLink: This onclick triggers an open link action if specified.
OpenLink *OpenLink `json:"openLink,omitempty"`
// ForceSendFields is a list of field names (e.g. "Action") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Action") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *OnClick) MarshalJSON() ([]byte, error) {
type NoMethod OnClick
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// OpenLink: A link that opens a new window.
type OpenLink struct {
// Url: The URL to open.
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "Url") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Url") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *OpenLink) MarshalJSON() ([]byte, error) {
type NoMethod OpenLink
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Section: A section contains a collection of widgets that are rendered
// (vertically) in the order that they are specified. Across all
// platforms, cards have a narrow fixed width, so there is currently no
// need for layout properties (e.g. float).
type Section struct {
// Header: The header of the section, text formatted supported.
Header string `json:"header,omitempty"`
// Widgets: A section must contain at least 1 widget.
Widgets []*WidgetMarkup `json:"widgets,omitempty"`
// ForceSendFields is a list of field names (e.g. "Header") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Header") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Section) MarshalJSON() ([]byte, error) {
type NoMethod Section
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SlashCommand: A slash command
// (https://developers.google.com/chat/how-tos/slash-commands) in Google
// Chat.
type SlashCommand struct {
// CommandId: The id of the slash command invoked.
CommandId int64 `json:"commandId,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "CommandId") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CommandId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SlashCommand) MarshalJSON() ([]byte, error) {
type NoMethod SlashCommand
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SlashCommandMetadata: Annotation metadata for slash commands (/).
type SlashCommandMetadata struct {
// Bot: The Chat app whose command was invoked.
Bot *User `json:"bot,omitempty"`
// CommandId: The command id of the invoked slash command.
CommandId int64 `json:"commandId,omitempty,string"`
// CommandName: The name of the invoked slash command.
CommandName string `json:"commandName,omitempty"`
// TriggersDialog: Indicating whether the slash command is for a dialog.
TriggersDialog bool `json:"triggersDialog,omitempty"`
// Type: The type of slash command.
//
// Possible values:
// "TYPE_UNSPECIFIED" - Default value for the enum. DO NOT USE.
// "ADD" - Add Chat app to space.
// "INVOKE" - Invoke slash command in space.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Bot") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Bot") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SlashCommandMetadata) MarshalJSON() ([]byte, error) {
type NoMethod SlashCommandMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Space: A space in Google Chat. Spaces are conversations between two
// or more users or 1:1 messages between a user and a Chat app.
type Space struct {
// DisplayName: The space's display name. For direct messages between
// humans, this field might be empty.
DisplayName string `json:"displayName,omitempty"`
// Name: Resource name of the space, in the form "spaces/*". Example:
// spaces/AAAAAAAAAAAA
Name string `json:"name,omitempty"`
// SingleUserBotDm: Output only. Whether the space is a DM between a
// Chat app and a single human.
SingleUserBotDm bool `json:"singleUserBotDm,omitempty"`
// Threaded: Output only. Output only. Whether the messages are threaded
// in this space.
Threaded bool `json:"threaded,omitempty"`
// Type: Output only. Deprecated: Use `single_user_bot_dm` instead.
// Output only. The type of a space.
//
// Possible values:
// "TYPE_UNSPECIFIED"
// "ROOM" - Conversations between two or more humans.
// "DM" - 1:1 Direct Message between a human and a Chat app, where all
// messages are flat. Note that this does not include direct messages
// between two humans.
Type string `json:"type,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Space) MarshalJSON() ([]byte, error) {
type NoMethod Space
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Status: The `Status` type defines a logical error model that is
// suitable for different programming environments, including REST APIs
// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
// `Status` message contains three pieces of data: error code, error
// message, and error details. You can find out more about this error
// model and how to work with it in the API Design Guide
// (https://cloud.google.com/apis/design/errors).
type Status struct {
// Code: The status code, which should be an enum value of
// google.rpc.Code.
Code int64 `json:"code,omitempty"`
// Details: A list of messages that carry the error details. There is a
// common set of message types for APIs to use.
Details []googleapi.RawMessage `json:"details,omitempty"`
// Message: A developer-facing error message, which should be in
// English. Any user-facing error message should be localized and sent
// in the google.rpc.Status.details field, or localized by the client.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// StringInputs: Input parameter for regular widgets. For single-valued
// widgets, it is a single value list. For multi-valued widgets, such as
// checkbox, all the values are presented.
type StringInputs struct {
// Value: An array of strings entered by the user.
Value []string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Value") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Value") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *StringInputs) MarshalJSON() ([]byte, error) {
type NoMethod StringInputs
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TextButton: A button with text and onclick action.
type TextButton struct {
// OnClick: The onclick action of the button.
OnClick *OnClick `json:"onClick,omitempty"`
// Text: The text of the button.
Text string `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "OnClick") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "OnClick") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TextButton) MarshalJSON() ([]byte, error) {
type NoMethod TextButton
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TextParagraph: A paragraph of text. Formatted text supported.
type TextParagraph struct {
Text string `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "Text") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Text") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TextParagraph) MarshalJSON() ([]byte, error) {
type NoMethod TextParagraph
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Thread: A thread in Google Chat.
type Thread struct {
// Name: Resource name, in the form "spaces/*/threads/*". Example:
// spaces/AAAAAAAAAAA/threads/TTTTTTTTTTT
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Thread) MarshalJSON() ([]byte, error) {
type NoMethod Thread
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TimeInput: Time input values. Not supported by Chat apps.
type TimeInput struct {
// Hours: The hour on a 24-hour clock.
Hours int64 `json:"hours,omitempty"`
// Minutes: The number of minutes past the hour. Valid values are 0 to
// 59.
Minutes int64 `json:"minutes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Hours") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Hours") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TimeInput) MarshalJSON() ([]byte, error) {
type NoMethod TimeInput
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TimeZone: The timezone ID and offset from Coordinated Universal Time
// (UTC). Not supported by Chat apps.
type TimeZone struct {
// Id: The IANA TZ (https://www.iana.org/time-zones) time zone database
// code, such as "America/Toronto".
Id string `json:"id,omitempty"`
// Offset: The user timezone offset, in milliseconds, from Coordinated
// Universal Time (UTC).
Offset int64 `json:"offset,omitempty"`
// ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Id") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TimeZone) MarshalJSON() ([]byte, error) {
type NoMethod TimeZone
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// User: A user in Google Chat.
type User struct {
// DisplayName: Output only. The user's display name.
DisplayName string `json:"displayName,omitempty"`
// DomainId: Unique identifier of the user's Google Workspace domain.
DomainId string `json:"domainId,omitempty"`
// IsAnonymous: Output only. When `true`, the user is deleted or their
// profile is not visible.
IsAnonymous bool `json:"isAnonymous,omitempty"`
// Name: Resource name for a Google Chat user. Represents a person
// (https://developers.google.com/people/api/rest/v1/people#Person) in
// the People API or a user
// (https://developers.google.com/admin-sdk/directory/reference/rest/v1/users)
// in the Admin SDK Directory API. Formatted as: `users/{user}`
Name string `json:"name,omitempty"`
// Type: User type.
//
// Possible values:
// "TYPE_UNSPECIFIED" - Default value for the enum. DO NOT USE.
// "HUMAN" - Human user.
// "BOT" - Chat app user.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *User) MarshalJSON() ([]byte, error) {
type NoMethod User
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UserMentionMetadata: Annotation metadata for user mentions (@).
type UserMentionMetadata struct {
// Type: The type of user mention.
//
// Possible values:
// "TYPE_UNSPECIFIED" - Default value for the enum. DO NOT USE.
// "ADD" - Add user to space.
// "MENTION" - Mention user in space.
Type string `json:"type,omitempty"`
// User: The user mentioned.
User *User `json:"user,omitempty"`
// ForceSendFields is a list of field names (e.g. "Type") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Type") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *UserMentionMetadata) MarshalJSON() ([]byte, error) {
type NoMethod UserMentionMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WidgetMarkup: A widget is a UI element that presents texts, images,
// etc.
type WidgetMarkup struct {
// Buttons: A list of buttons. Buttons is also oneof data and only one
// of these fields should be set.
Buttons []*Button `json:"buttons,omitempty"`
// Image: Display an image in this widget.
Image *Image `json:"image,omitempty"`
// KeyValue: Display a key value item in this widget.
KeyValue *KeyValue `json:"keyValue,omitempty"`
// TextParagraph: Display a text paragraph in this widget.
TextParagraph *TextParagraph `json:"textParagraph,omitempty"`
// ForceSendFields is a list of field names (e.g. "Buttons") to
// unconditionally include in API requests. By default, fields with
// empty or default values are omitted from API requests. However, any
// non-pointer, non-interface field appearing in ForceSendFields will be
// sent to the server regardless of whether the field is empty or not.
// This may be used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Buttons") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WidgetMarkup) MarshalJSON() ([]byte, error) {
type NoMethod WidgetMarkup
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "chat.dms.messages":
type DmsMessagesCall struct {
s *Service
parent string
message *Message
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Messages: Legacy path for creating message. Calling these will result
// in a BadRequest response.
//
// - parent: Space resource name, in the form "spaces/*". Example:
// spaces/AAAAAAAAAAA.
func (r *DmsService) Messages(parent string, message *Message) *DmsMessagesCall {
c := &DmsMessagesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.message = message
return c
}
// RequestId sets the optional parameter "requestId": A unique request
// ID for this message. Specifying an existing request ID returns the
// message created with that ID instead of creating a new message.
func (c *DmsMessagesCall) RequestId(requestId string) *DmsMessagesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
// ThreadKey sets the optional parameter "threadKey": Opaque thread
// identifier. To start or add to a thread, create a message and specify
// a `threadKey` instead of thread.name. (Setting thread.name has no
// effect.) The first message with a given `threadKey` starts a new
// thread. Subsequent messages with the same `threadKey` post into the
// same thread.
func (c *DmsMessagesCall) ThreadKey(threadKey string) *DmsMessagesCall {
c.urlParams_.Set("threadKey", threadKey)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *DmsMessagesCall) Fields(s ...googleapi.Field) *DmsMessagesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *DmsMessagesCall) Context(ctx context.Context) *DmsMessagesCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *DmsMessagesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *DmsMessagesCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/messages")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.dms.messages" call.
// Exactly one of *Message or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Message.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *DmsMessagesCall) Do(opts ...googleapi.CallOption) (*Message, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Message{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Legacy path for creating message. Calling these will result in a BadRequest response.",
// "flatPath": "v1/dms/{dmsId}/messages",
// "httpMethod": "POST",
// "id": "chat.dms.messages",
// "parameterOrder": [
// "parent"
// ],
// "parameters": {
// "parent": {
// "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA",
// "location": "path",
// "pattern": "^dms/[^/]+$",
// "required": true,
// "type": "string"
// },
// "requestId": {
// "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.",
// "location": "query",
// "type": "string"
// },
// "threadKey": {
// "description": "Optional. Opaque thread identifier. To start or add to a thread, create a message and specify a `threadKey` instead of thread.name. (Setting thread.name has no effect.) The first message with a given `threadKey` starts a new thread. Subsequent messages with the same `threadKey` post into the same thread.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+parent}/messages",
// "request": {
// "$ref": "Message"
// },
// "response": {
// "$ref": "Message"
// }
// }
}
// method id "chat.dms.webhooks":
type DmsWebhooksCall struct {
s *Service
parent string
message *Message
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Webhooks: Legacy path for creating message. Calling these will result
// in a BadRequest response.
//
// - parent: Space resource name, in the form "spaces/*". Example:
// spaces/AAAAAAAAAAA.
func (r *DmsService) Webhooks(parent string, message *Message) *DmsWebhooksCall {
c := &DmsWebhooksCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.message = message
return c
}
// RequestId sets the optional parameter "requestId": A unique request
// ID for this message. Specifying an existing request ID returns the
// message created with that ID instead of creating a new message.
func (c *DmsWebhooksCall) RequestId(requestId string) *DmsWebhooksCall {
c.urlParams_.Set("requestId", requestId)
return c
}
// ThreadKey sets the optional parameter "threadKey": Opaque thread
// identifier. To start or add to a thread, create a message and specify
// a `threadKey` instead of thread.name. (Setting thread.name has no
// effect.) The first message with a given `threadKey` starts a new
// thread. Subsequent messages with the same `threadKey` post into the
// same thread.
func (c *DmsWebhooksCall) ThreadKey(threadKey string) *DmsWebhooksCall {
c.urlParams_.Set("threadKey", threadKey)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *DmsWebhooksCall) Fields(s ...googleapi.Field) *DmsWebhooksCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *DmsWebhooksCall) Context(ctx context.Context) *DmsWebhooksCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *DmsWebhooksCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *DmsWebhooksCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/webhooks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.dms.webhooks" call.
// Exactly one of *Message or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Message.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *DmsWebhooksCall) Do(opts ...googleapi.CallOption) (*Message, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Message{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Legacy path for creating message. Calling these will result in a BadRequest response.",
// "flatPath": "v1/dms/{dmsId}/webhooks",
// "httpMethod": "POST",
// "id": "chat.dms.webhooks",
// "parameterOrder": [
// "parent"
// ],
// "parameters": {
// "parent": {
// "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA",
// "location": "path",
// "pattern": "^dms/[^/]+$",
// "required": true,
// "type": "string"
// },
// "requestId": {
// "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.",
// "location": "query",
// "type": "string"
// },
// "threadKey": {
// "description": "Optional. Opaque thread identifier. To start or add to a thread, create a message and specify a `threadKey` instead of thread.name. (Setting thread.name has no effect.) The first message with a given `threadKey` starts a new thread. Subsequent messages with the same `threadKey` post into the same thread.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+parent}/webhooks",
// "request": {
// "$ref": "Message"
// },
// "response": {
// "$ref": "Message"
// }
// }
}
// method id "chat.dms.conversations.messages":
type DmsConversationsMessagesCall struct {
s *Service
parent string
message *Message
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Messages: Legacy path for creating message. Calling these will result
// in a BadRequest response.
//
// - parent: Space resource name, in the form "spaces/*". Example:
// spaces/AAAAAAAAAAA.
func (r *DmsConversationsService) Messages(parent string, message *Message) *DmsConversationsMessagesCall {
c := &DmsConversationsMessagesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.message = message
return c
}
// RequestId sets the optional parameter "requestId": A unique request
// ID for this message. Specifying an existing request ID returns the
// message created with that ID instead of creating a new message.
func (c *DmsConversationsMessagesCall) RequestId(requestId string) *DmsConversationsMessagesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
// ThreadKey sets the optional parameter "threadKey": Opaque thread
// identifier. To start or add to a thread, create a message and specify
// a `threadKey` instead of thread.name. (Setting thread.name has no
// effect.) The first message with a given `threadKey` starts a new
// thread. Subsequent messages with the same `threadKey` post into the
// same thread.
func (c *DmsConversationsMessagesCall) ThreadKey(threadKey string) *DmsConversationsMessagesCall {
c.urlParams_.Set("threadKey", threadKey)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *DmsConversationsMessagesCall) Fields(s ...googleapi.Field) *DmsConversationsMessagesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *DmsConversationsMessagesCall) Context(ctx context.Context) *DmsConversationsMessagesCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *DmsConversationsMessagesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *DmsConversationsMessagesCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/messages")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.dms.conversations.messages" call.
// Exactly one of *Message or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Message.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *DmsConversationsMessagesCall) Do(opts ...googleapi.CallOption) (*Message, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Message{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Legacy path for creating message. Calling these will result in a BadRequest response.",
// "flatPath": "v1/dms/{dmsId}/conversations/{conversationsId}/messages",
// "httpMethod": "POST",
// "id": "chat.dms.conversations.messages",
// "parameterOrder": [
// "parent"
// ],
// "parameters": {
// "parent": {
// "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA",
// "location": "path",
// "pattern": "^dms/[^/]+/conversations/[^/]+$",
// "required": true,
// "type": "string"
// },
// "requestId": {
// "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.",
// "location": "query",
// "type": "string"
// },
// "threadKey": {
// "description": "Optional. Opaque thread identifier. To start or add to a thread, create a message and specify a `threadKey` instead of thread.name. (Setting thread.name has no effect.) The first message with a given `threadKey` starts a new thread. Subsequent messages with the same `threadKey` post into the same thread.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+parent}/messages",
// "request": {
// "$ref": "Message"
// },
// "response": {
// "$ref": "Message"
// }
// }
}
// method id "chat.media.download":
type MediaDownloadCall struct {
s *Service
resourceName string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Download: Downloads media. Download is supported on the URI
// `/v1/media/{+name}?alt=media`.
//
// - resourceName: Name of the media that is being downloaded. See
// ReadRequest.resource_name.
func (r *MediaService) Download(resourceName string) *MediaDownloadCall {
c := &MediaDownloadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.resourceName = resourceName
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *MediaDownloadCall) Fields(s ...googleapi.Field) *MediaDownloadCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *MediaDownloadCall) IfNoneMatch(entityTag string) *MediaDownloadCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do and Download
// methods. Any pending HTTP request will be aborted if the provided
// context is canceled.
func (c *MediaDownloadCall) Context(ctx context.Context) *MediaDownloadCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *MediaDownloadCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/media/{+resourceName}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"resourceName": c.resourceName,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Download fetches the API endpoint's "media" value, instead of the normal
// API response value. If the returned error is nil, the Response is guaranteed to
// have a 2xx status code. Callers must close the Response.Body as usual.
func (c *MediaDownloadCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("media")
if err != nil {
return nil, err
}
if err := googleapi.CheckResponse(res); err != nil {
res.Body.Close()
return nil, err
}
return res, nil
}
// Do executes the "chat.media.download" call.
// Exactly one of *Media or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Media.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *MediaDownloadCall) Do(opts ...googleapi.CallOption) (*Media, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Media{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Downloads media. Download is supported on the URI `/v1/media/{+name}?alt=media`.",
// "flatPath": "v1/media/{mediaId}",
// "httpMethod": "GET",
// "id": "chat.media.download",
// "parameterOrder": [
// "resourceName"
// ],
// "parameters": {
// "resourceName": {
// "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.",
// "location": "path",
// "pattern": "^.*$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/media/{+resourceName}",
// "response": {
// "$ref": "Media"
// },
// "supportsMediaDownload": true
// }
}
// method id "chat.rooms.messages":
type RoomsMessagesCall struct {
s *Service
parent string
message *Message
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Messages: Legacy path for creating message. Calling these will result
// in a BadRequest response.
//
// - parent: Space resource name, in the form "spaces/*". Example:
// spaces/AAAAAAAAAAA.
func (r *RoomsService) Messages(parent string, message *Message) *RoomsMessagesCall {
c := &RoomsMessagesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.message = message
return c
}
// RequestId sets the optional parameter "requestId": A unique request
// ID for this message. Specifying an existing request ID returns the
// message created with that ID instead of creating a new message.
func (c *RoomsMessagesCall) RequestId(requestId string) *RoomsMessagesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
// ThreadKey sets the optional parameter "threadKey": Opaque thread
// identifier. To start or add to a thread, create a message and specify
// a `threadKey` instead of thread.name. (Setting thread.name has no
// effect.) The first message with a given `threadKey` starts a new
// thread. Subsequent messages with the same `threadKey` post into the
// same thread.
func (c *RoomsMessagesCall) ThreadKey(threadKey string) *RoomsMessagesCall {
c.urlParams_.Set("threadKey", threadKey)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *RoomsMessagesCall) Fields(s ...googleapi.Field) *RoomsMessagesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *RoomsMessagesCall) Context(ctx context.Context) *RoomsMessagesCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *RoomsMessagesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *RoomsMessagesCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/messages")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.rooms.messages" call.
// Exactly one of *Message or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Message.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *RoomsMessagesCall) Do(opts ...googleapi.CallOption) (*Message, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Message{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Legacy path for creating message. Calling these will result in a BadRequest response.",
// "flatPath": "v1/rooms/{roomsId}/messages",
// "httpMethod": "POST",
// "id": "chat.rooms.messages",
// "parameterOrder": [
// "parent"
// ],
// "parameters": {
// "parent": {
// "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA",
// "location": "path",
// "pattern": "^rooms/[^/]+$",
// "required": true,
// "type": "string"
// },
// "requestId": {
// "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.",
// "location": "query",
// "type": "string"
// },
// "threadKey": {
// "description": "Optional. Opaque thread identifier. To start or add to a thread, create a message and specify a `threadKey` instead of thread.name. (Setting thread.name has no effect.) The first message with a given `threadKey` starts a new thread. Subsequent messages with the same `threadKey` post into the same thread.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+parent}/messages",
// "request": {
// "$ref": "Message"
// },
// "response": {
// "$ref": "Message"
// }
// }
}
// method id "chat.rooms.webhooks":
type RoomsWebhooksCall struct {
s *Service
parent string
message *Message
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Webhooks: Legacy path for creating message. Calling these will result
// in a BadRequest response.
//
// - parent: Space resource name, in the form "spaces/*". Example:
// spaces/AAAAAAAAAAA.
func (r *RoomsService) Webhooks(parent string, message *Message) *RoomsWebhooksCall {
c := &RoomsWebhooksCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.message = message
return c
}
// RequestId sets the optional parameter "requestId": A unique request
// ID for this message. Specifying an existing request ID returns the
// message created with that ID instead of creating a new message.
func (c *RoomsWebhooksCall) RequestId(requestId string) *RoomsWebhooksCall {
c.urlParams_.Set("requestId", requestId)
return c
}
// ThreadKey sets the optional parameter "threadKey": Opaque thread
// identifier. To start or add to a thread, create a message and specify
// a `threadKey` instead of thread.name. (Setting thread.name has no
// effect.) The first message with a given `threadKey` starts a new
// thread. Subsequent messages with the same `threadKey` post into the
// same thread.
func (c *RoomsWebhooksCall) ThreadKey(threadKey string) *RoomsWebhooksCall {
c.urlParams_.Set("threadKey", threadKey)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *RoomsWebhooksCall) Fields(s ...googleapi.Field) *RoomsWebhooksCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *RoomsWebhooksCall) Context(ctx context.Context) *RoomsWebhooksCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *RoomsWebhooksCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *RoomsWebhooksCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/webhooks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.rooms.webhooks" call.
// Exactly one of *Message or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Message.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *RoomsWebhooksCall) Do(opts ...googleapi.CallOption) (*Message, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Message{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Legacy path for creating message. Calling these will result in a BadRequest response.",
// "flatPath": "v1/rooms/{roomsId}/webhooks",
// "httpMethod": "POST",
// "id": "chat.rooms.webhooks",
// "parameterOrder": [
// "parent"
// ],
// "parameters": {
// "parent": {
// "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA",
// "location": "path",
// "pattern": "^rooms/[^/]+$",
// "required": true,
// "type": "string"
// },
// "requestId": {
// "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.",
// "location": "query",
// "type": "string"
// },
// "threadKey": {
// "description": "Optional. Opaque thread identifier. To start or add to a thread, create a message and specify a `threadKey` instead of thread.name. (Setting thread.name has no effect.) The first message with a given `threadKey` starts a new thread. Subsequent messages with the same `threadKey` post into the same thread.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+parent}/webhooks",
// "request": {
// "$ref": "Message"
// },
// "response": {
// "$ref": "Message"
// }
// }
}
// method id "chat.rooms.conversations.messages":
type RoomsConversationsMessagesCall struct {
s *Service
parent string
message *Message
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Messages: Legacy path for creating message. Calling these will result
// in a BadRequest response.
//
// - parent: Space resource name, in the form "spaces/*". Example:
// spaces/AAAAAAAAAAA.
func (r *RoomsConversationsService) Messages(parent string, message *Message) *RoomsConversationsMessagesCall {
c := &RoomsConversationsMessagesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.message = message
return c
}
// RequestId sets the optional parameter "requestId": A unique request
// ID for this message. Specifying an existing request ID returns the
// message created with that ID instead of creating a new message.
func (c *RoomsConversationsMessagesCall) RequestId(requestId string) *RoomsConversationsMessagesCall {
c.urlParams_.Set("requestId", requestId)
return c
}
// ThreadKey sets the optional parameter "threadKey": Opaque thread
// identifier. To start or add to a thread, create a message and specify
// a `threadKey` instead of thread.name. (Setting thread.name has no
// effect.) The first message with a given `threadKey` starts a new
// thread. Subsequent messages with the same `threadKey` post into the
// same thread.
func (c *RoomsConversationsMessagesCall) ThreadKey(threadKey string) *RoomsConversationsMessagesCall {
c.urlParams_.Set("threadKey", threadKey)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *RoomsConversationsMessagesCall) Fields(s ...googleapi.Field) *RoomsConversationsMessagesCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *RoomsConversationsMessagesCall) Context(ctx context.Context) *RoomsConversationsMessagesCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *RoomsConversationsMessagesCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *RoomsConversationsMessagesCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/messages")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.rooms.conversations.messages" call.
// Exactly one of *Message or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Message.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *RoomsConversationsMessagesCall) Do(opts ...googleapi.CallOption) (*Message, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Message{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Legacy path for creating message. Calling these will result in a BadRequest response.",
// "flatPath": "v1/rooms/{roomsId}/conversations/{conversationsId}/messages",
// "httpMethod": "POST",
// "id": "chat.rooms.conversations.messages",
// "parameterOrder": [
// "parent"
// ],
// "parameters": {
// "parent": {
// "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA",
// "location": "path",
// "pattern": "^rooms/[^/]+/conversations/[^/]+$",
// "required": true,
// "type": "string"
// },
// "requestId": {
// "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.",
// "location": "query",
// "type": "string"
// },
// "threadKey": {
// "description": "Optional. Opaque thread identifier. To start or add to a thread, create a message and specify a `threadKey` instead of thread.name. (Setting thread.name has no effect.) The first message with a given `threadKey` starts a new thread. Subsequent messages with the same `threadKey` post into the same thread.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+parent}/messages",
// "request": {
// "$ref": "Message"
// },
// "response": {
// "$ref": "Message"
// }
// }
}
// method id "chat.spaces.get":
type SpacesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Returns a space. Requires service account authentication
// (https://developers.google.com/chat/api/guides/auth/service-accounts).
//
// - name: Resource name of the space, in the form "spaces/*". Example:
// spaces/AAAAAAAAAAAA.
func (r *SpacesService) Get(name string) *SpacesGetCall {
c := &SpacesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *SpacesGetCall) Fields(s ...googleapi.Field) *SpacesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *SpacesGetCall) IfNoneMatch(entityTag string) *SpacesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *SpacesGetCall) Context(ctx context.Context) *SpacesGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *SpacesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SpacesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.spaces.get" call.
// Exactly one of *Space or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Space.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *SpacesGetCall) Do(opts ...googleapi.CallOption) (*Space, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Space{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns a space. Requires [service account authentication](https://developers.google.com/chat/api/guides/auth/service-accounts).",
// "flatPath": "v1/spaces/{spacesId}",
// "httpMethod": "GET",
// "id": "chat.spaces.get",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "Required. Resource name of the space, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAAA",
// "location": "path",
// "pattern": "^spaces/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "response": {
// "$ref": "Space"
// }
// }
}
// method id "chat.spaces.list":
type SpacesListCall struct {
s *Service
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists spaces the caller is a member of. Requires service
// account authentication
// (https://developers.google.com/chat/api/guides/auth/service-accounts).
func (r *SpacesService) List() *SpacesListCall {
c := &SpacesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
return c
}
// PageSize sets the optional parameter "pageSize": Requested page size.
// The value is capped at 1000. Server may return fewer results than
// requested. If unspecified, server will default to 100.
func (c *SpacesListCall) PageSize(pageSize int64) *SpacesListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A token
// identifying a page of results the server should return.
func (c *SpacesListCall) PageToken(pageToken string) *SpacesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *SpacesListCall) Fields(s ...googleapi.Field) *SpacesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *SpacesListCall) IfNoneMatch(entityTag string) *SpacesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *SpacesListCall) Context(ctx context.Context) *SpacesListCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *SpacesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SpacesListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/spaces")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.spaces.list" call.
// Exactly one of *ListSpacesResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *ListSpacesResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func (c *SpacesListCall) Do(opts ...googleapi.CallOption) (*ListSpacesResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &ListSpacesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists spaces the caller is a member of. Requires [service account authentication](https://developers.google.com/chat/api/guides/auth/service-accounts).",
// "flatPath": "v1/spaces",
// "httpMethod": "GET",
// "id": "chat.spaces.list",
// "parameterOrder": [],
// "parameters": {
// "pageSize": {
// "description": "Requested page size. The value is capped at 1000. Server may return fewer results than requested. If unspecified, server will default to 100.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "pageToken": {
// "description": "A token identifying a page of results the server should return.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/spaces",
// "response": {
// "$ref": "ListSpacesResponse"
// }
// }
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *SpacesListCall) Pages(ctx context.Context, f func(*ListSpacesResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
// method id "chat.spaces.webhooks":
type SpacesWebhooksCall struct {
s *Service
parent string
message *Message
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Webhooks: Legacy path for creating message. Calling these will result
// in a BadRequest response.
//
// - parent: Space resource name, in the form "spaces/*". Example:
// spaces/AAAAAAAAAAA.
func (r *SpacesService) Webhooks(parent string, message *Message) *SpacesWebhooksCall {
c := &SpacesWebhooksCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.message = message
return c
}
// RequestId sets the optional parameter "requestId": A unique request
// ID for this message. Specifying an existing request ID returns the
// message created with that ID instead of creating a new message.
func (c *SpacesWebhooksCall) RequestId(requestId string) *SpacesWebhooksCall {
c.urlParams_.Set("requestId", requestId)
return c
}
// ThreadKey sets the optional parameter "threadKey": Opaque thread
// identifier. To start or add to a thread, create a message and specify
// a `threadKey` instead of thread.name. (Setting thread.name has no
// effect.) The first message with a given `threadKey` starts a new
// thread. Subsequent messages with the same `threadKey` post into the
// same thread.
func (c *SpacesWebhooksCall) ThreadKey(threadKey string) *SpacesWebhooksCall {
c.urlParams_.Set("threadKey", threadKey)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *SpacesWebhooksCall) Fields(s ...googleapi.Field) *SpacesWebhooksCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *SpacesWebhooksCall) Context(ctx context.Context) *SpacesWebhooksCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *SpacesWebhooksCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SpacesWebhooksCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/webhooks")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.spaces.webhooks" call.
// Exactly one of *Message or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Message.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *SpacesWebhooksCall) Do(opts ...googleapi.CallOption) (*Message, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Message{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Legacy path for creating message. Calling these will result in a BadRequest response.",
// "flatPath": "v1/spaces/{spacesId}/webhooks",
// "httpMethod": "POST",
// "id": "chat.spaces.webhooks",
// "parameterOrder": [
// "parent"
// ],
// "parameters": {
// "parent": {
// "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA",
// "location": "path",
// "pattern": "^spaces/[^/]+$",
// "required": true,
// "type": "string"
// },
// "requestId": {
// "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.",
// "location": "query",
// "type": "string"
// },
// "threadKey": {
// "description": "Optional. Opaque thread identifier. To start or add to a thread, create a message and specify a `threadKey` instead of thread.name. (Setting thread.name has no effect.) The first message with a given `threadKey` starts a new thread. Subsequent messages with the same `threadKey` post into the same thread.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+parent}/webhooks",
// "request": {
// "$ref": "Message"
// },
// "response": {
// "$ref": "Message"
// }
// }
}
// method id "chat.spaces.members.get":
type SpacesMembersGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Returns a membership. Requires service account authentication
// (https://developers.google.com/chat/api/guides/auth/service-accounts).
//
// - name: Resource name of the membership to be retrieved, in the form
// "spaces/*/members/*". Example:
// spaces/AAAAAAAAAAAA/members/111111111111111111111.
func (r *SpacesMembersService) Get(name string) *SpacesMembersGetCall {
c := &SpacesMembersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *SpacesMembersGetCall) Fields(s ...googleapi.Field) *SpacesMembersGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *SpacesMembersGetCall) IfNoneMatch(entityTag string) *SpacesMembersGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *SpacesMembersGetCall) Context(ctx context.Context) *SpacesMembersGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *SpacesMembersGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SpacesMembersGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.spaces.members.get" call.
// Exactly one of *Membership or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *Membership.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
// to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SpacesMembersGetCall) Do(opts ...googleapi.CallOption) (*Membership, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Membership{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns a membership. Requires [service account authentication](https://developers.google.com/chat/api/guides/auth/service-accounts).",
// "flatPath": "v1/spaces/{spacesId}/members/{membersId}",
// "httpMethod": "GET",
// "id": "chat.spaces.members.get",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "Required. Resource name of the membership to be retrieved, in the form \"spaces/*/members/*\". Example: spaces/AAAAAAAAAAAA/members/111111111111111111111",
// "location": "path",
// "pattern": "^spaces/[^/]+/members/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "response": {
// "$ref": "Membership"
// }
// }
}
// method id "chat.spaces.members.list":
type SpacesMembersListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists human memberships in a space. Requires service account
// authentication
// (https://developers.google.com/chat/api/guides/auth/service-accounts).
//
// - parent: The resource name of the space for which membership list is
// to be fetched, in the form "spaces/*". Example: spaces/AAAAAAAAAAAA.
func (r *SpacesMembersService) List(parent string) *SpacesMembersListCall {
c := &SpacesMembersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// PageSize sets the optional parameter "pageSize": Requested page size.
// The value is capped at 1000. Server may return fewer results than
// requested. If unspecified, server will default to 100.
func (c *SpacesMembersListCall) PageSize(pageSize int64) *SpacesMembersListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A token
// identifying a page of results the server should return.
func (c *SpacesMembersListCall) PageToken(pageToken string) *SpacesMembersListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *SpacesMembersListCall) Fields(s ...googleapi.Field) *SpacesMembersListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *SpacesMembersListCall) IfNoneMatch(entityTag string) *SpacesMembersListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *SpacesMembersListCall) Context(ctx context.Context) *SpacesMembersListCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *SpacesMembersListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SpacesMembersListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/members")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.spaces.members.list" call.
// Exactly one of *ListMembershipsResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *ListMembershipsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func (c *SpacesMembersListCall) Do(opts ...googleapi.CallOption) (*ListMembershipsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &ListMembershipsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists human memberships in a space. Requires [service account authentication](https://developers.google.com/chat/api/guides/auth/service-accounts).",
// "flatPath": "v1/spaces/{spacesId}/members",
// "httpMethod": "GET",
// "id": "chat.spaces.members.list",
// "parameterOrder": [
// "parent"
// ],
// "parameters": {
// "pageSize": {
// "description": "Requested page size. The value is capped at 1000. Server may return fewer results than requested. If unspecified, server will default to 100.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "pageToken": {
// "description": "A token identifying a page of results the server should return.",
// "location": "query",
// "type": "string"
// },
// "parent": {
// "description": "Required. The resource name of the space for which membership list is to be fetched, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAAA",
// "location": "path",
// "pattern": "^spaces/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/{+parent}/members",
// "response": {
// "$ref": "ListMembershipsResponse"
// }
// }
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *SpacesMembersListCall) Pages(ctx context.Context, f func(*ListMembershipsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
// method id "chat.spaces.messages.create":
type SpacesMessagesCreateCall struct {
s *Service
parent string
message *Message
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a message. Requires service account authentication
// (https://developers.google.com/chat/api/guides/auth/service-accounts).
//
// - parent: Space resource name, in the form "spaces/*". Example:
// spaces/AAAAAAAAAAA.
func (r *SpacesMessagesService) Create(parent string, message *Message) *SpacesMessagesCreateCall {
c := &SpacesMessagesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.message = message
return c
}
// RequestId sets the optional parameter "requestId": A unique request
// ID for this message. Specifying an existing request ID returns the
// message created with that ID instead of creating a new message.
func (c *SpacesMessagesCreateCall) RequestId(requestId string) *SpacesMessagesCreateCall {
c.urlParams_.Set("requestId", requestId)
return c
}
// ThreadKey sets the optional parameter "threadKey": Opaque thread
// identifier. To start or add to a thread, create a message and specify
// a `threadKey` instead of thread.name. (Setting thread.name has no
// effect.) The first message with a given `threadKey` starts a new
// thread. Subsequent messages with the same `threadKey` post into the
// same thread.
func (c *SpacesMessagesCreateCall) ThreadKey(threadKey string) *SpacesMessagesCreateCall {
c.urlParams_.Set("threadKey", threadKey)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *SpacesMessagesCreateCall) Fields(s ...googleapi.Field) *SpacesMessagesCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *SpacesMessagesCreateCall) Context(ctx context.Context) *SpacesMessagesCreateCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *SpacesMessagesCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SpacesMessagesCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/messages")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.spaces.messages.create" call.
// Exactly one of *Message or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Message.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *SpacesMessagesCreateCall) Do(opts ...googleapi.CallOption) (*Message, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Message{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Creates a message. Requires [service account authentication](https://developers.google.com/chat/api/guides/auth/service-accounts).",
// "flatPath": "v1/spaces/{spacesId}/messages",
// "httpMethod": "POST",
// "id": "chat.spaces.messages.create",
// "parameterOrder": [
// "parent"
// ],
// "parameters": {
// "parent": {
// "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA",
// "location": "path",
// "pattern": "^spaces/[^/]+$",
// "required": true,
// "type": "string"
// },
// "requestId": {
// "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.",
// "location": "query",
// "type": "string"
// },
// "threadKey": {
// "description": "Optional. Opaque thread identifier. To start or add to a thread, create a message and specify a `threadKey` instead of thread.name. (Setting thread.name has no effect.) The first message with a given `threadKey` starts a new thread. Subsequent messages with the same `threadKey` post into the same thread.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+parent}/messages",
// "request": {
// "$ref": "Message"
// },
// "response": {
// "$ref": "Message"
// }
// }
}
// method id "chat.spaces.messages.delete":
type SpacesMessagesDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a message. Requires service account authentication
// (https://developers.google.com/chat/api/guides/auth/service-accounts).
//
// - name: Resource name of the message to be deleted, in the form
// "spaces/*/messages/*" Example:
// spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB.
func (r *SpacesMessagesService) Delete(name string) *SpacesMessagesDeleteCall {
c := &SpacesMessagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *SpacesMessagesDeleteCall) Fields(s ...googleapi.Field) *SpacesMessagesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *SpacesMessagesDeleteCall) Context(ctx context.Context) *SpacesMessagesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *SpacesMessagesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SpacesMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.spaces.messages.delete" call.
// Exactly one of *Empty or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Empty.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *SpacesMessagesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Deletes a message. Requires [service account authentication](https://developers.google.com/chat/api/guides/auth/service-accounts).",
// "flatPath": "v1/spaces/{spacesId}/messages/{messagesId}",
// "httpMethod": "DELETE",
// "id": "chat.spaces.messages.delete",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "Required. Resource name of the message to be deleted, in the form \"spaces/*/messages/*\" Example: spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB",
// "location": "path",
// "pattern": "^spaces/[^/]+/messages/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "response": {
// "$ref": "Empty"
// }
// }
}
// method id "chat.spaces.messages.get":
type SpacesMessagesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Returns a message. Requires service account authentication
// (https://developers.google.com/chat/api/guides/auth/service-accounts).
//
// - name: Resource name of the message to be retrieved, in the form
// "spaces/*/messages/*". Example:
// spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB.
func (r *SpacesMessagesService) Get(name string) *SpacesMessagesGetCall {
c := &SpacesMessagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *SpacesMessagesGetCall) Fields(s ...googleapi.Field) *SpacesMessagesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *SpacesMessagesGetCall) IfNoneMatch(entityTag string) *SpacesMessagesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *SpacesMessagesGetCall) Context(ctx context.Context) *SpacesMessagesGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *SpacesMessagesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SpacesMessagesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.spaces.messages.get" call.
// Exactly one of *Message or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Message.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *SpacesMessagesGetCall) Do(opts ...googleapi.CallOption) (*Message, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Message{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns a message. Requires [service account authentication](https://developers.google.com/chat/api/guides/auth/service-accounts).",
// "flatPath": "v1/spaces/{spacesId}/messages/{messagesId}",
// "httpMethod": "GET",
// "id": "chat.spaces.messages.get",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "Required. Resource name of the message to be retrieved, in the form \"spaces/*/messages/*\". Example: spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB",
// "location": "path",
// "pattern": "^spaces/[^/]+/messages/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "response": {
// "$ref": "Message"
// }
// }
}
// method id "chat.spaces.messages.update":
type SpacesMessagesUpdateCall struct {
s *Service
name string
message *Message
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Update: Updates a message. Requires service account authentication
// (https://developers.google.com/chat/api/guides/auth/service-accounts).
//
// - name: Resource name in the form `spaces/*/messages/*`. Example:
// `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`.
func (r *SpacesMessagesService) Update(name string, message *Message) *SpacesMessagesUpdateCall {
c := &SpacesMessagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.message = message
return c
}
// UpdateMask sets the optional parameter "updateMask": Required. The
// field paths to be updated, comma separated if there are multiple.
// Currently supported field paths: * text * cards * attachment
func (c *SpacesMessagesUpdateCall) UpdateMask(updateMask string) *SpacesMessagesUpdateCall {
c.urlParams_.Set("updateMask", updateMask)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *SpacesMessagesUpdateCall) Fields(s ...googleapi.Field) *SpacesMessagesUpdateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *SpacesMessagesUpdateCall) Context(ctx context.Context) *SpacesMessagesUpdateCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *SpacesMessagesUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SpacesMessagesUpdateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.message)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PUT", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.spaces.messages.update" call.
// Exactly one of *Message or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Message.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *SpacesMessagesUpdateCall) Do(opts ...googleapi.CallOption) (*Message, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Message{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates a message. Requires [service account authentication](https://developers.google.com/chat/api/guides/auth/service-accounts).",
// "flatPath": "v1/spaces/{spacesId}/messages/{messagesId}",
// "httpMethod": "PUT",
// "id": "chat.spaces.messages.update",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`",
// "location": "path",
// "pattern": "^spaces/[^/]+/messages/[^/]+$",
// "required": true,
// "type": "string"
// },
// "updateMask": {
// "description": "Required. The field paths to be updated, comma separated if there are multiple. Currently supported field paths: * text * cards * attachment",
// "format": "google-fieldmask",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "request": {
// "$ref": "Message"
// },
// "response": {
// "$ref": "Message"
// }
// }
}
// method id "chat.spaces.messages.attachments.get":
type SpacesMessagesAttachmentsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the metadata of a message attachment. The attachment data
// is fetched using the media API. Requires service account
// authentication
// (https://developers.google.com/chat/api/guides/auth/service-accounts).
//
// - name: Resource name of the attachment, in the form
// "spaces/*/messages/*/attachments/*".
func (r *SpacesMessagesAttachmentsService) Get(name string) *SpacesMessagesAttachmentsGetCall {
c := &SpacesMessagesAttachmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *SpacesMessagesAttachmentsGetCall) Fields(s ...googleapi.Field) *SpacesMessagesAttachmentsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *SpacesMessagesAttachmentsGetCall) IfNoneMatch(entityTag string) *SpacesMessagesAttachmentsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *SpacesMessagesAttachmentsGetCall) Context(ctx context.Context) *SpacesMessagesAttachmentsGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *SpacesMessagesAttachmentsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SpacesMessagesAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "chat.spaces.messages.attachments.get" call.
// Exactly one of *Attachment or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *Attachment.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
// to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *SpacesMessagesAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*Attachment, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Attachment{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Gets the metadata of a message attachment. The attachment data is fetched using the media API. Requires [service account authentication](https://developers.google.com/chat/api/guides/auth/service-accounts).",
// "flatPath": "v1/spaces/{spacesId}/messages/{messagesId}/attachments/{attachmentsId}",
// "httpMethod": "GET",
// "id": "chat.spaces.messages.attachments.get",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "Required. Resource name of the attachment, in the form \"spaces/*/messages/*/attachments/*\".",
// "location": "path",
// "pattern": "^spaces/[^/]+/messages/[^/]+/attachments/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "response": {
// "$ref": "Attachment"
// }
// }
}