- 1.63.1 (latest)
- 1.63.0
- 1.62.0
- 1.61.0
- 1.60.0
- 1.59.1
- 1.58.0
- 1.57.1
- 1.54.0
- 1.53.0
- 1.52.0
- 1.51.2
- 1.50.0
- 1.49.0
- 1.48.0
- 1.47.0
- 1.46.0
- 1.45.0
- 1.44.0
- 1.43.0
- 1.42.0
- 1.41.0
- 1.40.0
- 1.39.0
- 1.38.0
- 1.37.0
- 1.36.0
- 1.35.0
- 1.34.1
- 1.33.0
- 1.32.0
- 1.31.0
- 1.30.2
- 1.29.0
- 1.28.0
- 1.27.0
- 1.26.0
- 1.25.0
- 1.24.0
- 1.23.0
- 1.22.0
- 1.21.0
- 1.20.1
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.0
- 1.15.0
Package dataexchange is an auto-generated package for the Analytics Hub API.
Exchange data and analytics assets securely and efficiently.
NOTE: This package is in beta. It is not stable, and may be subject to changes.
Example usage
To get started with this package, create a client.
ctx := context.Background() c, err := dataexchange.NewAnalyticsHubClient(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() c, err := dataexchange.NewAnalyticsHubClient(ctx) if err != nil { // TODO: Handle error. } defer c.Close() req := &dataexchangepb.ListDataExchangesRequest{ // TODO: Fill request struct fields. // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#ListDataExchangesRequest. } it := c.ListDataExchanges(ctx, req) for { resp, err := it.Next() if err == iterator.Done { break } 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.
For information about setting deadlines, reusing contexts, and more please visit https://pkg.go.dev/cloud.google.com/go.
Functions
func DefaultAuthScopes
func DefaultAuthScopes() []string
DefaultAuthScopes reports the default set of authentication scopes to use with this package.
AnalyticsHubCallOptions
type AnalyticsHubCallOptions struct {
ListDataExchanges []gax.CallOption
ListOrgDataExchanges []gax.CallOption
GetDataExchange []gax.CallOption
CreateDataExchange []gax.CallOption
UpdateDataExchange []gax.CallOption
DeleteDataExchange []gax.CallOption
ListListings []gax.CallOption
GetListing []gax.CallOption
CreateListing []gax.CallOption
UpdateListing []gax.CallOption
DeleteListing []gax.CallOption
SubscribeListing []gax.CallOption
GetIamPolicy []gax.CallOption
SetIamPolicy []gax.CallOption
TestIamPermissions []gax.CallOption
}
AnalyticsHubCallOptions contains the retry settings for each method of AnalyticsHubClient.
AnalyticsHubClient
type AnalyticsHubClient struct {
// The call options for this service.
CallOptions *AnalyticsHubCallOptions
// contains filtered or unexported fields
}
AnalyticsHubClient is a client for interacting with Analytics Hub API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
The AnalyticsHubService API facilitates data sharing within and across organizations. It allows data providers to publish Listings — a discoverable and searchable SKU representing a dataset. Data consumers can subscribe to Listings. Upon subscription, AnalyticsHub provisions a “Linked Datasets” surfacing the data in the consumer’s project.
func NewAnalyticsHubClient
func NewAnalyticsHubClient(ctx context.Context, opts ...option.ClientOption) (*AnalyticsHubClient, error)
NewAnalyticsHubClient creates a new analytics hub service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.
The AnalyticsHubService API facilitates data sharing within and across organizations. It allows data providers to publish Listings — a discoverable and searchable SKU representing a dataset. Data consumers can subscribe to Listings. Upon subscription, AnalyticsHub provisions a “Linked Datasets” surfacing the data in the consumer’s project.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
// TODO: Use client.
_ = c
}
func NewAnalyticsHubRESTClient
func NewAnalyticsHubRESTClient(ctx context.Context, opts ...option.ClientOption) (*AnalyticsHubClient, error)
NewAnalyticsHubRESTClient creates a new analytics hub service rest client.
The AnalyticsHubService API facilitates data sharing within and across organizations. It allows data providers to publish Listings — a discoverable and searchable SKU representing a dataset. Data consumers can subscribe to Listings. Upon subscription, AnalyticsHub provisions a “Linked Datasets” surfacing the data in the consumer’s project.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubRESTClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
// TODO: Use client.
_ = c
}
func (*AnalyticsHubClient) Close
func (c *AnalyticsHubClient) Close() error
Close closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*AnalyticsHubClient) Connection
func (c *AnalyticsHubClient) Connection() *grpc.ClientConn
Connection returns a connection to the API service.
Deprecated.
func (*AnalyticsHubClient) CreateDataExchange
func (c *AnalyticsHubClient) CreateDataExchange(ctx context.Context, req *dataexchangepb.CreateDataExchangeRequest, opts ...gax.CallOption) (*dataexchangepb.DataExchange, error)
CreateDataExchange creates a new DataExchange in a given project and location.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.CreateDataExchangeRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#CreateDataExchangeRequest.
}
resp, err := c.CreateDataExchange(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*AnalyticsHubClient) CreateListing
func (c *AnalyticsHubClient) CreateListing(ctx context.Context, req *dataexchangepb.CreateListingRequest, opts ...gax.CallOption) (*dataexchangepb.Listing, error)
CreateListing creates a new Listing in a given project and location.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.CreateListingRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#CreateListingRequest.
}
resp, err := c.CreateListing(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*AnalyticsHubClient) DeleteDataExchange
func (c *AnalyticsHubClient) DeleteDataExchange(ctx context.Context, req *dataexchangepb.DeleteDataExchangeRequest, opts ...gax.CallOption) error
DeleteDataExchange deletes a single DataExchange.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.DeleteDataExchangeRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#DeleteDataExchangeRequest.
}
err = c.DeleteDataExchange(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*AnalyticsHubClient) DeleteListing
func (c *AnalyticsHubClient) DeleteListing(ctx context.Context, req *dataexchangepb.DeleteListingRequest, opts ...gax.CallOption) error
DeleteListing deletes a single Listing, as long as there are no subscriptions associated with the source of this Listing.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.DeleteListingRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#DeleteListingRequest.
}
err = c.DeleteListing(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*AnalyticsHubClient) GetDataExchange
func (c *AnalyticsHubClient) GetDataExchange(ctx context.Context, req *dataexchangepb.GetDataExchangeRequest, opts ...gax.CallOption) (*dataexchangepb.DataExchange, error)
GetDataExchange gets details of a single DataExchange.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.GetDataExchangeRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#GetDataExchangeRequest.
}
resp, err := c.GetDataExchange(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*AnalyticsHubClient) GetIamPolicy
func (c *AnalyticsHubClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error)
GetIamPolicy gets the IAM policy for a dataExchange or a listing.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
iampb "google.golang.org/genproto/googleapis/iam/v1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &iampb.GetIamPolicyRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest.
}
resp, err := c.GetIamPolicy(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*AnalyticsHubClient) GetListing
func (c *AnalyticsHubClient) GetListing(ctx context.Context, req *dataexchangepb.GetListingRequest, opts ...gax.CallOption) (*dataexchangepb.Listing, error)
GetListing gets details of a single Listing.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.GetListingRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#GetListingRequest.
}
resp, err := c.GetListing(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*AnalyticsHubClient) ListDataExchanges
func (c *AnalyticsHubClient) ListDataExchanges(ctx context.Context, req *dataexchangepb.ListDataExchangesRequest, opts ...gax.CallOption) *DataExchangeIterator
ListDataExchanges lists DataExchanges in a given project and location.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
"google.golang.org/api/iterator"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.ListDataExchangesRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#ListDataExchangesRequest.
}
it := c.ListDataExchanges(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
}
func (*AnalyticsHubClient) ListListings
func (c *AnalyticsHubClient) ListListings(ctx context.Context, req *dataexchangepb.ListListingsRequest, opts ...gax.CallOption) *ListingIterator
ListListings lists Listings in a given project and location.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
"google.golang.org/api/iterator"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.ListListingsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#ListListingsRequest.
}
it := c.ListListings(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
}
func (*AnalyticsHubClient) ListOrgDataExchanges
func (c *AnalyticsHubClient) ListOrgDataExchanges(ctx context.Context, req *dataexchangepb.ListOrgDataExchangesRequest, opts ...gax.CallOption) *DataExchangeIterator
ListOrgDataExchanges lists DataExchanges from projects in a given organization and location.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
"google.golang.org/api/iterator"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.ListOrgDataExchangesRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#ListOrgDataExchangesRequest.
}
it := c.ListOrgDataExchanges(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
}
func (*AnalyticsHubClient) SetIamPolicy
func (c *AnalyticsHubClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error)
SetIamPolicy sets the IAM policy for a dataExchange or a listing.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
iampb "google.golang.org/genproto/googleapis/iam/v1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &iampb.SetIamPolicyRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest.
}
resp, err := c.SetIamPolicy(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*AnalyticsHubClient) SubscribeListing
func (c *AnalyticsHubClient) SubscribeListing(ctx context.Context, req *dataexchangepb.SubscribeListingRequest, opts ...gax.CallOption) (*dataexchangepb.SubscribeListingResponse, error)
SubscribeListing subscribes to a single Listing.
Data Exchange currently supports one type of Listing: a BigQuery dataset. Upon subscription to a Listing for a BigQuery dataset, Data Exchange creates a linked dataset in the subscriber’s project.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.SubscribeListingRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#SubscribeListingRequest.
}
resp, err := c.SubscribeListing(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*AnalyticsHubClient) TestIamPermissions
func (c *AnalyticsHubClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error)
TestIamPermissions returns the permissions that a caller has on a specified dataExchange or listing.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
iampb "google.golang.org/genproto/googleapis/iam/v1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &iampb.TestIamPermissionsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest.
}
resp, err := c.TestIamPermissions(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*AnalyticsHubClient) UpdateDataExchange
func (c *AnalyticsHubClient) UpdateDataExchange(ctx context.Context, req *dataexchangepb.UpdateDataExchangeRequest, opts ...gax.CallOption) (*dataexchangepb.DataExchange, error)
UpdateDataExchange updates the parameters of a single DataExchange.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.UpdateDataExchangeRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#UpdateDataExchangeRequest.
}
resp, err := c.UpdateDataExchange(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*AnalyticsHubClient) UpdateListing
func (c *AnalyticsHubClient) UpdateListing(ctx context.Context, req *dataexchangepb.UpdateListingRequest, opts ...gax.CallOption) (*dataexchangepb.Listing, error)
UpdateListing updates the parameters of a single Listing.
Example
package main
import (
"context"
dataexchange "cloud.google.com/go/bigquery/dataexchange/apiv1beta1"
dataexchangepb "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1"
)
func main() {
ctx := context.Background()
c, err := dataexchange.NewAnalyticsHubClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataexchangepb.UpdateListingRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/v1beta1#UpdateListingRequest.
}
resp, err := c.UpdateListing(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
DataExchangeIterator
type DataExchangeIterator 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 []*dataexchangepb.DataExchange, nextPageToken string, err error)
// contains filtered or unexported fields
}
DataExchangeIterator manages a stream of *dataexchangepb.DataExchange.
func (*DataExchangeIterator) Next
func (it *DataExchangeIterator) Next() (*dataexchangepb.DataExchange, 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 (*DataExchangeIterator) PageInfo
func (it *DataExchangeIterator) PageInfo() *iterator.PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
ListingIterator
type ListingIterator 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 []*dataexchangepb.Listing, nextPageToken string, err error)
// contains filtered or unexported fields
}
ListingIterator manages a stream of *dataexchangepb.Listing.
func (*ListingIterator) Next
func (it *ListingIterator) Next() (*dataexchangepb.Listing, 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 (*ListingIterator) PageInfo
func (it *ListingIterator) PageInfo() *iterator.PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.