Google Chat API v1 - Package cloud.google.com/go/chat/apiv1 (v0.1.1)

Package chat is an auto-generated package for the Google Chat API.

The Google Chat API lets you build Chat apps to integrate your services with Google Chat and manage Chat resources such as spaces, members, and messages.

NOTE: This package is in beta. It is not stable, and may be subject to changes.

General documentation

For information that is relevant for all client libraries please reference https://pkg.go.dev/cloud.google.com/go#pkg-overview. Some information on this page includes:

Example usage

To get started with this package, create a client.

ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := chat.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}
defer c.Close()

The client will use your default application credentials. Clients should be reused instead of created as needed. The methods of Client are safe for concurrent use by multiple goroutines. The returned client must be Closed when it is done being used.

Using the Client

The following is an example of making an API call with the newly created client.

ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := chat.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}
defer c.Close()

req := &chatpb.CompleteImportSpaceRequest{
    // TODO: Fill request struct fields.
    // See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#CompleteImportSpaceRequest.
}
resp, err := c.CompleteImportSpace(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

Use of Context

The ctx passed to NewClient is used for authentication requests and for creating the underlying connection, but is not used for subsequent calls. Individual methods on the client use the ctx given to them.

To close the open connection, use the Close() method.

Functions

func DefaultAuthScopes

func DefaultAuthScopes() []string

DefaultAuthScopes reports the default set of authentication scopes to use with this package.

CallOptions

type CallOptions struct {
	CreateMessage        []gax.CallOption
	ListMessages         []gax.CallOption
	ListMemberships      []gax.CallOption
	GetMembership        []gax.CallOption
	GetMessage           []gax.CallOption
	UpdateMessage        []gax.CallOption
	DeleteMessage        []gax.CallOption
	GetAttachment        []gax.CallOption
	UploadAttachment     []gax.CallOption
	ListSpaces           []gax.CallOption
	GetSpace             []gax.CallOption
	CreateSpace          []gax.CallOption
	SetUpSpace           []gax.CallOption
	UpdateSpace          []gax.CallOption
	DeleteSpace          []gax.CallOption
	CompleteImportSpace  []gax.CallOption
	FindDirectMessage    []gax.CallOption
	CreateMembership     []gax.CallOption
	UpdateMembership     []gax.CallOption
	DeleteMembership     []gax.CallOption
	CreateReaction       []gax.CallOption
	ListReactions        []gax.CallOption
	DeleteReaction       []gax.CallOption
	GetSpaceReadState    []gax.CallOption
	UpdateSpaceReadState []gax.CallOption
	GetThreadReadState   []gax.CallOption
}

CallOptions contains the retry settings for each method of Client.

Client

type Client struct {

	// The call options for this service.
	CallOptions *CallOptions
	// contains filtered or unexported fields
}

Client is a client for interacting with Google Chat API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.

Enables developers to build Chat apps and integrations on Google Chat Platform.

func NewClient

func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error)

NewClient creates a new chat service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.

Enables developers to build Chat apps and integrations on Google Chat Platform.

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	// TODO: Use client.
	_ = c
}

func NewRESTClient

func NewRESTClient(ctx context.Context, opts ...option.ClientOption) (*Client, error)

NewRESTClient creates a new chat service rest client.

Enables developers to build Chat apps and integrations on Google Chat Platform.

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewRESTClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	// TODO: Use client.
	_ = c
}

func (*Client) Close

func (c *Client) Close() error

Close closes the connection to the API service. The user should invoke this when the client is no longer required.

func (*Client) CompleteImportSpace

CompleteImportSpace completes the import process (at https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires app authentication and domain-wide delegation. For more information, see Authorize Google Chat apps to import data (at https://developers.google.com/workspace/chat/authorize-import).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.CompleteImportSpaceRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#CompleteImportSpaceRequest.
	}
	resp, err := c.CompleteImportSpace(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) Connection (deprecated)

func (c *Client) Connection() *grpc.ClientConn

Connection returns a connection to the API service.

Deprecated: Connections are now pooled so this method does not always return the same resource.

func (*Client) CreateMembership

func (c *Client) CreateMembership(ctx context.Context, req *chatpb.CreateMembershipRequest, opts ...gax.CallOption) (*chatpb.Membership, error)

CreateMembership creates a human membership or app membership for the calling app. Creating memberships for other apps isn’t supported. For an example, see Invite or add a user or a Google Chat app to a space (at https://developers.google.com/workspace/chat/create-members). When creating a membership, if the specified member has their auto-accept policy turned off, then they’re invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

To specify the member to add, set the membership.member.name for the human or app member.

To add the calling app to a space or a direct message between two human
users, use users/app. Unable to add other
apps to the space.

To add a human user, use users/{user}, where {user} can be the email
address for the user. For users in the same Workspace organization {user}
can also be the id for the person from the People API, or the id for
the user in the Directory API. For example, if the People API Person
profile ID for user@example.com is 123456789, you can add the user to
the space by setting the membership.member.name to
users/user@example.com or users/123456789.

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.CreateMembershipRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#CreateMembershipRequest.
	}
	resp, err := c.CreateMembership(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) CreateMessage

func (c *Client) CreateMessage(ctx context.Context, req *chatpb.CreateMessageRequest, opts ...gax.CallOption) (*chatpb.Message, error)

CreateMessage creates a message in a Google Chat space. The maximum message size, including text and cards, is 32,000 bytes. For an example, see Send a message (at https://developers.google.com/workspace/chat/create-messages).

Calling this method requires authentication (at https://developers.google.com/workspace/chat/authenticate-authorize) and supports the following authentication types:

For text messages, user authentication or app authentication are
supported.

For card messages, only app authentication is supported. (Only Chat apps
can create card messages.)

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.CreateMessageRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#CreateMessageRequest.
	}
	resp, err := c.CreateMessage(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) CreateReaction

func (c *Client) CreateReaction(ctx context.Context, req *chatpb.CreateReactionRequest, opts ...gax.CallOption) (*chatpb.Reaction, error)

CreateReaction creates a reaction and adds it to a message. Only unicode emojis are supported. For an example, see Add a reaction to a message (at https://developers.google.com/workspace/chat/create-reactions). Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.CreateReactionRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#CreateReactionRequest.
	}
	resp, err := c.CreateReaction(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) CreateSpace

func (c *Client) CreateSpace(ctx context.Context, req *chatpb.CreateSpaceRequest, opts ...gax.CallOption) (*chatpb.Space, error)

CreateSpace creates a named space. Spaces grouped by topics aren’t supported. For an example, see Create a space (at https://developers.google.com/workspace/chat/create-spaces).

If you receive the error message ALREADY_EXISTS when creating a space, try a different displayName. An existing space within the Google Workspace organization might already use this display name.

Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.CreateSpaceRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#CreateSpaceRequest.
	}
	resp, err := c.CreateSpace(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) DeleteMembership

func (c *Client) DeleteMembership(ctx context.Context, req *chatpb.DeleteMembershipRequest, opts ...gax.CallOption) (*chatpb.Membership, error)

DeleteMembership deletes a membership. For an example, see Remove a user or a Google Chat app from a space (at https://developers.google.com/workspace/chat/delete-members).

Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.DeleteMembershipRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#DeleteMembershipRequest.
	}
	resp, err := c.DeleteMembership(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) DeleteMessage

func (c *Client) DeleteMessage(ctx context.Context, req *chatpb.DeleteMessageRequest, opts ...gax.CallOption) error

DeleteMessage deletes a message. For an example, see Delete a message (at https://developers.google.com/workspace/chat/delete-messages).

Requires authentication (at https://developers.google.com/workspace/chat/authenticate-authorize). Supports app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). When using app authentication, requests can only delete messages created by the calling Chat app.

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.DeleteMessageRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#DeleteMessageRequest.
	}
	err = c.DeleteMessage(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}

func (*Client) DeleteReaction

func (c *Client) DeleteReaction(ctx context.Context, req *chatpb.DeleteReactionRequest, opts ...gax.CallOption) error

DeleteReaction deletes a reaction to a message. Only unicode emojis are supported. For an example, see Delete a reaction (at https://developers.google.com/workspace/chat/delete-reactions). Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.DeleteReactionRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#DeleteReactionRequest.
	}
	err = c.DeleteReaction(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}

func (*Client) DeleteSpace

func (c *Client) DeleteSpace(ctx context.Context, req *chatpb.DeleteSpaceRequest, opts ...gax.CallOption) error

DeleteSpace deletes a named space. Always performs a cascading delete, which means that the space’s child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see Delete a space (at https://developers.google.com/workspace/chat/delete-spaces). Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) from a user who has permission to delete the space.

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.DeleteSpaceRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#DeleteSpaceRequest.
	}
	err = c.DeleteSpace(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}

func (*Client) FindDirectMessage

func (c *Client) FindDirectMessage(ctx context.Context, req *chatpb.FindDirectMessageRequest, opts ...gax.CallOption) (*chatpb.Space, error)

FindDirectMessage returns the existing direct message with the specified user. If no direct message space is found, returns a 404 NOT_FOUND error. For an example, see Find a direct message (at /chat/api/guides/v1/spaces/find-direct-message).

With user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), returns the direct message space between the specified user and the authenticated user.

With app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app), returns the direct message space between the specified user and the calling Chat app.

Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) or app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.FindDirectMessageRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#FindDirectMessageRequest.
	}
	resp, err := c.FindDirectMessage(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) GetAttachment

func (c *Client) GetAttachment(ctx context.Context, req *chatpb.GetAttachmentRequest, opts ...gax.CallOption) (*chatpb.Attachment, error)

GetAttachment gets the metadata of a message attachment. The attachment data is fetched using the media API (at https://developers.google.com/workspace/chat/api/reference/rest/v1/media/download). For an example, see Get metadata about a message attachment (at https://developers.google.com/workspace/chat/get-media-attachments). Requires app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.GetAttachmentRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#GetAttachmentRequest.
	}
	resp, err := c.GetAttachment(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) GetMembership

func (c *Client) GetMembership(ctx context.Context, req *chatpb.GetMembershipRequest, opts ...gax.CallOption) (*chatpb.Membership, error)

GetMembership returns details about a membership. For an example, see Get details about a user’s or Google Chat app’s membership (at https://developers.google.com/workspace/chat/get-members).

Requires authentication (at https://developers.google.com/workspace/chat/authenticate-authorize). Supports app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.GetMembershipRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#GetMembershipRequest.
	}
	resp, err := c.GetMembership(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) GetMessage

func (c *Client) GetMessage(ctx context.Context, req *chatpb.GetMessageRequest, opts ...gax.CallOption) (*chatpb.Message, error)

GetMessage returns details about a message. For an example, see Get details about a message (at https://developers.google.com/workspace/chat/get-messages).

Requires authentication (at https://developers.google.com/workspace/chat/authenticate-authorize). Supports app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Note: Might return a message from a blocked member or space.

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.GetMessageRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#GetMessageRequest.
	}
	resp, err := c.GetMessage(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) GetSpace

func (c *Client) GetSpace(ctx context.Context, req *chatpb.GetSpaceRequest, opts ...gax.CallOption) (*chatpb.Space, error)

GetSpace returns details about a space. For an example, see Get details about a space (at https://developers.google.com/workspace/chat/get-spaces).

Requires authentication (at https://developers.google.com/workspace/chat/authenticate-authorize). Supports app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.GetSpaceRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#GetSpaceRequest.
	}
	resp, err := c.GetSpace(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) GetSpaceReadState

func (c *Client) GetSpaceReadState(ctx context.Context, req *chatpb.GetSpaceReadStateRequest, opts ...gax.CallOption) (*chatpb.SpaceReadState, error)

GetSpaceReadState returns details about a user’s read state within a space, used to identify read and unread messages. For an example, see Get details about a user’s space read state (at https://developers.google.com/workspace/chat/get-space-read-state).

Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.GetSpaceReadStateRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#GetSpaceReadStateRequest.
	}
	resp, err := c.GetSpaceReadState(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) GetThreadReadState

func (c *Client) GetThreadReadState(ctx context.Context, req *chatpb.GetThreadReadStateRequest, opts ...gax.CallOption) (*chatpb.ThreadReadState, error)

GetThreadReadState returns details about a user’s read state within a thread, used to identify read and unread messages. For an example, see Get details about a user’s thread read state (at https://developers.google.com/workspace/chat/get-thread-read-state).

Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.GetThreadReadStateRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#GetThreadReadStateRequest.
	}
	resp, err := c.GetThreadReadState(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) ListMemberships

func (c *Client) ListMemberships(ctx context.Context, req *chatpb.ListMembershipsRequest, opts ...gax.CallOption) *MembershipIterator

ListMemberships lists memberships in a space. For an example, see List users and Google Chat apps in a space (at https://developers.google.com/workspace/chat/list-members). Listing memberships with app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with User authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to.

Requires authentication (at https://developers.google.com/workspace/chat/authenticate-authorize). Supports app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.ListMembershipsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#ListMembershipsRequest.
	}
	it := c.ListMemberships(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*chatpb.ListMembershipsResponse)
	}
}

func (*Client) ListMessages

func (c *Client) ListMessages(ctx context.Context, req *chatpb.ListMessagesRequest, opts ...gax.CallOption) *MessageIterator

ListMessages lists messages in a space that the caller is a member of, including messages from blocked members and spaces. For an example, see List messages (at /chat/api/guides/v1/messages/list). Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.ListMessagesRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#ListMessagesRequest.
	}
	it := c.ListMessages(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*chatpb.ListMessagesResponse)
	}
}

func (*Client) ListReactions

func (c *Client) ListReactions(ctx context.Context, req *chatpb.ListReactionsRequest, opts ...gax.CallOption) *ReactionIterator

ListReactions lists reactions to a message. For an example, see List reactions for a message (at https://developers.google.com/workspace/chat/list-reactions). Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.ListReactionsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#ListReactionsRequest.
	}
	it := c.ListReactions(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*chatpb.ListReactionsResponse)
	}
}

func (*Client) ListSpaces

func (c *Client) ListSpaces(ctx context.Context, req *chatpb.ListSpacesRequest, opts ...gax.CallOption) *SpaceIterator

ListSpaces lists spaces the caller is a member of. Group chats and DMs aren’t listed until the first message is sent. For an example, see List spaces (at https://developers.google.com/workspace/chat/list-spaces).

Requires authentication (at https://developers.google.com/workspace/chat/authenticate-authorize). Supports app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Lists spaces visible to the caller or authenticated user. Group chats and DMs aren’t listed until the first message is sent.

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.ListSpacesRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#ListSpacesRequest.
	}
	it := c.ListSpaces(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*chatpb.ListSpacesResponse)
	}
}

func (*Client) SetUpSpace

func (c *Client) SetUpSpace(ctx context.Context, req *chatpb.SetUpSpaceRequest, opts ...gax.CallOption) (*chatpb.Space, error)

SetUpSpace creates a space and adds specified users to it. The calling user is automatically added to the space, and shouldn’t be specified as a membership in the request. For an example, see Set up a space with initial members (at https://developers.google.com/workspace/chat/set-up-spaces).

To specify the human members to add, add memberships with the appropriate membership.member.name. To add a human user, use users/{user}, where {user} can be the email address for the user. For users in the same Workspace organization {user} can also be the id for the person from the People API, or the id for the user in the Directory API. For example, if the People API Person profile ID for user@example.com is 123456789, you can add the user to the space by setting the membership.member.name to users/user@example.com or users/123456789.

For a named space or group chat, if the caller blocks, or is blocked by some members, or doesn’t have permission to add some members, then those members aren’t added to the created space.

To create a direct message (DM) between the calling user and another human user, specify exactly one membership to represent the human user. If one user blocks the other, the request fails and the DM isn’t created.

To create a DM between the calling user and the calling app, set Space.singleUserBotDm to true and don’t specify any memberships. You can only use this method to set up a DM with the calling app. To add the calling app as a member of a space or an existing DM between two human users, see Invite or add a user or app to a space (at https://developers.google.com/workspace/chat/create-members).

If a DM already exists between two users, even when one user blocks the other at the time a request is made, then the existing DM is returned.

Spaces with threaded replies aren’t supported. If you receive the error message ALREADY_EXISTS when setting up a space, try a different displayName. An existing space within the Google Workspace organization might already use this display name.

Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.SetUpSpaceRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#SetUpSpaceRequest.
	}
	resp, err := c.SetUpSpace(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) UpdateMembership

func (c *Client) UpdateMembership(ctx context.Context, req *chatpb.UpdateMembershipRequest, opts ...gax.CallOption) (*chatpb.Membership, error)

UpdateMembership updates a membership. For an example, see Update a user’s membership in a space (at https://developers.google.com/workspace/chat/update-members).

Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.UpdateMembershipRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#UpdateMembershipRequest.
	}
	resp, err := c.UpdateMembership(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) UpdateMessage

func (c *Client) UpdateMessage(ctx context.Context, req *chatpb.UpdateMessageRequest, opts ...gax.CallOption) (*chatpb.Message, error)

UpdateMessage updates a message. There’s a difference between the patch and update methods. The patch method uses a patch request while the update method uses a put request. We recommend using the patch method. For an example, see Update a message (at https://developers.google.com/workspace/chat/update-messages).

Requires authentication (at https://developers.google.com/workspace/chat/authenticate-authorize). Supports app authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). When using app authentication, requests can only update messages created by the calling Chat app.

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.UpdateMessageRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#UpdateMessageRequest.
	}
	resp, err := c.UpdateMessage(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) UpdateSpace

func (c *Client) UpdateSpace(ctx context.Context, req *chatpb.UpdateSpaceRequest, opts ...gax.CallOption) (*chatpb.Space, error)

UpdateSpace updates a space. For an example, see Update a space (at https://developers.google.com/workspace/chat/update-spaces).

If you’re updating the displayName field and receive the error message ALREADY_EXISTS, try a different display name… An existing space within the Google Workspace organization might already use this display name.

Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.UpdateSpaceRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#UpdateSpaceRequest.
	}
	resp, err := c.UpdateSpace(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) UpdateSpaceReadState

func (c *Client) UpdateSpaceReadState(ctx context.Context, req *chatpb.UpdateSpaceReadStateRequest, opts ...gax.CallOption) (*chatpb.SpaceReadState, error)

UpdateSpaceReadState updates a user’s read state within a space, used to identify read and unread messages. For an example, see Update a user’s space read state (at https://developers.google.com/workspace/chat/update-space-read-state).

Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.UpdateSpaceReadStateRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#UpdateSpaceReadStateRequest.
	}
	resp, err := c.UpdateSpaceReadState(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) UploadAttachment

UploadAttachment uploads an attachment. For an example, see Upload media as a file attachment (at https://developers.google.com/workspace/chat/upload-media-attachments). Requires user authentication (at https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

You can upload attachments up to 200 MB. Certain file types aren’t supported. For details, see File types blocked by Google Chat (at https://support.google.com/chat/answer/7651457?&co=GENIE.Platform%3DDesktop#File%20types%20blocked%20in%20Google%20Chat).

Example

package main

import (
	"context"

	chat "cloud.google.com/go/chat/apiv1"
	chatpb "cloud.google.com/go/chat/apiv1/chatpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := chat.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &chatpb.UploadAttachmentRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/chat/apiv1/chatpb#UploadAttachmentRequest.
	}
	resp, err := c.UploadAttachment(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

MembershipIterator

type MembershipIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*chatpb.Membership, nextPageToken string, err error)
	// contains filtered or unexported fields
}

MembershipIterator manages a stream of *chatpb.Membership.

func (*MembershipIterator) Next

func (it *MembershipIterator) Next() (*chatpb.Membership, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*MembershipIterator) PageInfo

func (it *MembershipIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

MessageIterator

type MessageIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*chatpb.Message, nextPageToken string, err error)
	// contains filtered or unexported fields
}

MessageIterator manages a stream of *chatpb.Message.

func (*MessageIterator) Next

func (it *MessageIterator) Next() (*chatpb.Message, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*MessageIterator) PageInfo

func (it *MessageIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

ReactionIterator

type ReactionIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*chatpb.Reaction, nextPageToken string, err error)
	// contains filtered or unexported fields
}

ReactionIterator manages a stream of *chatpb.Reaction.

func (*ReactionIterator) Next

func (it *ReactionIterator) Next() (*chatpb.Reaction, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*ReactionIterator) PageInfo

func (it *ReactionIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

SpaceIterator

type SpaceIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*chatpb.Space, nextPageToken string, err error)
	// contains filtered or unexported fields
}

SpaceIterator manages a stream of *chatpb.Space.

func (*SpaceIterator) Next

func (it *SpaceIterator) Next() (*chatpb.Space, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*SpaceIterator) PageInfo

func (it *SpaceIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.