...

Source file src/google.golang.org/api/plus/v1/plus-gen.go

Documentation: google.golang.org/api/plus/v1

     1  // Copyright 2020 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package plus provides access to the Google+ API.
     8  //
     9  // For product documentation, see: https://developers.google.com/+/api/
    10  //
    11  // # Creating a client
    12  //
    13  // Usage example:
    14  //
    15  //	import "google.golang.org/api/plus/v1"
    16  //	...
    17  //	ctx := context.Background()
    18  //	plusService, err := plus.NewService(ctx)
    19  //
    20  // In this example, Google Application Default Credentials are used for authentication.
    21  //
    22  // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    23  //
    24  // # Other authentication options
    25  //
    26  // By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
    27  //
    28  //	plusService, err := plus.NewService(ctx, option.WithScopes(plus.UserinfoProfileScope))
    29  //
    30  // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
    31  //
    32  //	plusService, err := plus.NewService(ctx, option.WithAPIKey("AIza..."))
    33  //
    34  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
    35  //
    36  //	config := &oauth2.Config{...}
    37  //	// ...
    38  //	token, err := config.Exchange(ctx, ...)
    39  //	plusService, err := plus.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    40  //
    41  // See https://godoc.org/google.golang.org/api/option/ for details on options.
    42  package plus // import "google.golang.org/api/plus/v1"
    43  
    44  import (
    45  	"bytes"
    46  	"context"
    47  	"encoding/json"
    48  	"errors"
    49  	"fmt"
    50  	"io"
    51  	"net/http"
    52  	"net/url"
    53  	"strconv"
    54  	"strings"
    55  
    56  	googleapi "google.golang.org/api/googleapi"
    57  	gensupport "google.golang.org/api/internal/gensupport"
    58  	option "google.golang.org/api/option"
    59  	internaloption "google.golang.org/api/option/internaloption"
    60  	htransport "google.golang.org/api/transport/http"
    61  )
    62  
    63  // Always reference these packages, just in case the auto-generated code
    64  // below doesn't.
    65  var _ = bytes.NewBuffer
    66  var _ = strconv.Itoa
    67  var _ = fmt.Sprintf
    68  var _ = json.NewDecoder
    69  var _ = io.Copy
    70  var _ = url.Parse
    71  var _ = gensupport.MarshalJSON
    72  var _ = googleapi.Version
    73  var _ = errors.New
    74  var _ = strings.Replace
    75  var _ = context.Canceled
    76  var _ = internaloption.WithDefaultEndpoint
    77  
    78  const apiId = "plus:v1"
    79  const apiName = "plus"
    80  const apiVersion = "v1"
    81  const basePath = "https://www.googleapis.com/plus/v1/"
    82  
    83  // OAuth2 scopes used by this API.
    84  const (
    85  	// View your basic profile info, including your age range and language
    86  	PlusLoginScope = "https://www.googleapis.com/auth/plus.login"
    87  
    88  	// Associate you with your personal info on Google
    89  	PlusMeScope = "https://www.googleapis.com/auth/plus.me"
    90  
    91  	// View your email address
    92  	UserinfoEmailScope = "https://www.googleapis.com/auth/userinfo.email"
    93  
    94  	// See your personal info, including any personal info you've made
    95  	// publicly available
    96  	UserinfoProfileScope = "https://www.googleapis.com/auth/userinfo.profile"
    97  )
    98  
    99  // NewService creates a new Service.
   100  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   101  	scopesOption := option.WithScopes(
   102  		"https://www.googleapis.com/auth/plus.login",
   103  		"https://www.googleapis.com/auth/plus.me",
   104  		"https://www.googleapis.com/auth/userinfo.email",
   105  		"https://www.googleapis.com/auth/userinfo.profile",
   106  	)
   107  	// NOTE: prepend, so we don't override user-specified scopes.
   108  	opts = append([]option.ClientOption{scopesOption}, opts...)
   109  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   110  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   111  	if err != nil {
   112  		return nil, err
   113  	}
   114  	s, err := New(client)
   115  	if err != nil {
   116  		return nil, err
   117  	}
   118  	if endpoint != "" {
   119  		s.BasePath = endpoint
   120  	}
   121  	return s, nil
   122  }
   123  
   124  // New creates a new Service. It uses the provided http.Client for requests.
   125  //
   126  // Deprecated: please use NewService instead.
   127  // To provide a custom HTTP client, use option.WithHTTPClient.
   128  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   129  func New(client *http.Client) (*Service, error) {
   130  	if client == nil {
   131  		return nil, errors.New("client is nil")
   132  	}
   133  	s := &Service{client: client, BasePath: basePath}
   134  	s.Activities = NewActivitiesService(s)
   135  	s.Comments = NewCommentsService(s)
   136  	s.People = NewPeopleService(s)
   137  	return s, nil
   138  }
   139  
   140  type Service struct {
   141  	client    *http.Client
   142  	BasePath  string // API endpoint base URL
   143  	UserAgent string // optional additional User-Agent fragment
   144  
   145  	Activities *ActivitiesService
   146  
   147  	Comments *CommentsService
   148  
   149  	People *PeopleService
   150  }
   151  
   152  func (s *Service) userAgent() string {
   153  	if s.UserAgent == "" {
   154  		return googleapi.UserAgent
   155  	}
   156  	return googleapi.UserAgent + " " + s.UserAgent
   157  }
   158  
   159  func NewActivitiesService(s *Service) *ActivitiesService {
   160  	rs := &ActivitiesService{s: s}
   161  	return rs
   162  }
   163  
   164  type ActivitiesService struct {
   165  	s *Service
   166  }
   167  
   168  func NewCommentsService(s *Service) *CommentsService {
   169  	rs := &CommentsService{s: s}
   170  	return rs
   171  }
   172  
   173  type CommentsService struct {
   174  	s *Service
   175  }
   176  
   177  func NewPeopleService(s *Service) *PeopleService {
   178  	rs := &PeopleService{s: s}
   179  	return rs
   180  }
   181  
   182  type PeopleService struct {
   183  	s *Service
   184  }
   185  
   186  type Acl struct {
   187  	// Description: Description of the access granted, suitable for display.
   188  	Description string `json:"description,omitempty"`
   189  
   190  	// Items: The list of access entries.
   191  	Items []*PlusAclentryResource `json:"items,omitempty"`
   192  
   193  	// Kind: Identifies this resource as a collection of access controls.
   194  	// Value: "plus#acl".
   195  	Kind string `json:"kind,omitempty"`
   196  
   197  	// ForceSendFields is a list of field names (e.g. "Description") to
   198  	// unconditionally include in API requests. By default, fields with
   199  	// empty values are omitted from API requests. However, any non-pointer,
   200  	// non-interface field appearing in ForceSendFields will be sent to the
   201  	// server regardless of whether the field is empty or not. This may be
   202  	// used to include empty fields in Patch requests.
   203  	ForceSendFields []string `json:"-"`
   204  
   205  	// NullFields is a list of field names (e.g. "Description") to include
   206  	// in API requests with the JSON null value. By default, fields with
   207  	// empty values are omitted from API requests. However, any field with
   208  	// an empty value appearing in NullFields will be sent to the server as
   209  	// null. It is an error if a field in this list has a non-empty value.
   210  	// This may be used to include null fields in Patch requests.
   211  	NullFields []string `json:"-"`
   212  }
   213  
   214  func (s *Acl) MarshalJSON() ([]byte, error) {
   215  	type NoMethod Acl
   216  	raw := NoMethod(*s)
   217  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   218  }
   219  
   220  type Activity struct {
   221  	// Access: Identifies who has access to see this activity.
   222  	Access *Acl `json:"access,omitempty"`
   223  
   224  	// Actor: The person who performed this activity.
   225  	Actor *ActivityActor `json:"actor,omitempty"`
   226  
   227  	// Address: Street address where this activity occurred.
   228  	Address string `json:"address,omitempty"`
   229  
   230  	// Annotation: Additional content added by the person who shared this
   231  	// activity, applicable only when resharing an activity.
   232  	Annotation string `json:"annotation,omitempty"`
   233  
   234  	// CrosspostSource: If this activity is a crosspost from another system,
   235  	// this property specifies the ID of the original activity.
   236  	CrosspostSource string `json:"crosspostSource,omitempty"`
   237  
   238  	// Etag: ETag of this response for caching purposes.
   239  	Etag string `json:"etag,omitempty"`
   240  
   241  	// Geocode: Latitude and longitude where this activity occurred. Format
   242  	// is latitude followed by longitude, space separated.
   243  	Geocode string `json:"geocode,omitempty"`
   244  
   245  	// Id: The ID of this activity.
   246  	Id string `json:"id,omitempty"`
   247  
   248  	// Kind: Identifies this resource as an activity. Value:
   249  	// "plus#activity".
   250  	Kind string `json:"kind,omitempty"`
   251  
   252  	// Location: The location where this activity occurred.
   253  	Location *Place `json:"location,omitempty"`
   254  
   255  	// Object: The object of this activity.
   256  	Object *ActivityObject `json:"object,omitempty"`
   257  
   258  	// PlaceId: ID of the place where this activity occurred.
   259  	PlaceId string `json:"placeId,omitempty"`
   260  
   261  	// PlaceName: Name of the place where this activity occurred.
   262  	PlaceName string `json:"placeName,omitempty"`
   263  
   264  	// Provider: The service provider that initially published this
   265  	// activity.
   266  	Provider *ActivityProvider `json:"provider,omitempty"`
   267  
   268  	// Published: The time at which this activity was initially published.
   269  	// Formatted as an RFC 3339 timestamp.
   270  	Published string `json:"published,omitempty"`
   271  
   272  	// Radius: Radius, in meters, of the region where this activity
   273  	// occurred, centered at the latitude and longitude identified in
   274  	// geocode.
   275  	Radius string `json:"radius,omitempty"`
   276  
   277  	// Title: Title of this activity.
   278  	Title string `json:"title,omitempty"`
   279  
   280  	// Updated: The time at which this activity was last updated. Formatted
   281  	// as an RFC 3339 timestamp.
   282  	Updated string `json:"updated,omitempty"`
   283  
   284  	// Url: The link to this activity.
   285  	Url string `json:"url,omitempty"`
   286  
   287  	// Verb: This activity's verb, which indicates the action that was
   288  	// performed. Possible values include, but are not limited to, the
   289  	// following values:
   290  	// - "post" - Publish content to the stream.
   291  	// - "share" - Reshare an activity.
   292  	Verb string `json:"verb,omitempty"`
   293  
   294  	// ServerResponse contains the HTTP response code and headers from the
   295  	// server.
   296  	googleapi.ServerResponse `json:"-"`
   297  
   298  	// ForceSendFields is a list of field names (e.g. "Access") to
   299  	// unconditionally include in API requests. By default, fields with
   300  	// empty values are omitted from API requests. However, any non-pointer,
   301  	// non-interface field appearing in ForceSendFields will be sent to the
   302  	// server regardless of whether the field is empty or not. This may be
   303  	// used to include empty fields in Patch requests.
   304  	ForceSendFields []string `json:"-"`
   305  
   306  	// NullFields is a list of field names (e.g. "Access") to include in API
   307  	// requests with the JSON null value. By default, fields with empty
   308  	// values are omitted from API requests. However, any field with an
   309  	// empty value appearing in NullFields will be sent to the server as
   310  	// null. It is an error if a field in this list has a non-empty value.
   311  	// This may be used to include null fields in Patch requests.
   312  	NullFields []string `json:"-"`
   313  }
   314  
   315  func (s *Activity) MarshalJSON() ([]byte, error) {
   316  	type NoMethod Activity
   317  	raw := NoMethod(*s)
   318  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   319  }
   320  
   321  // ActivityActor: The person who performed this activity.
   322  type ActivityActor struct {
   323  	// ClientSpecificActorInfo: Actor info specific to particular clients.
   324  	ClientSpecificActorInfo *ActivityActorClientSpecificActorInfo `json:"clientSpecificActorInfo,omitempty"`
   325  
   326  	// DisplayName: The name of the actor, suitable for display.
   327  	DisplayName string `json:"displayName,omitempty"`
   328  
   329  	// Id: The ID of the actor's Person resource.
   330  	Id string `json:"id,omitempty"`
   331  
   332  	// Image: The image representation of the actor.
   333  	Image *ActivityActorImage `json:"image,omitempty"`
   334  
   335  	// Name: An object representation of the individual components of name.
   336  	Name *ActivityActorName `json:"name,omitempty"`
   337  
   338  	// Url: The link to the actor's Google profile.
   339  	Url string `json:"url,omitempty"`
   340  
   341  	// Verification: Verification status of actor.
   342  	Verification *ActivityActorVerification `json:"verification,omitempty"`
   343  
   344  	// ForceSendFields is a list of field names (e.g.
   345  	// "ClientSpecificActorInfo") to unconditionally include in API
   346  	// requests. By default, fields with empty values are omitted from API
   347  	// requests. However, any non-pointer, non-interface field appearing in
   348  	// ForceSendFields will be sent to the server regardless of whether the
   349  	// field is empty or not. This may be used to include empty fields in
   350  	// Patch requests.
   351  	ForceSendFields []string `json:"-"`
   352  
   353  	// NullFields is a list of field names (e.g. "ClientSpecificActorInfo")
   354  	// to include in API requests with the JSON null value. By default,
   355  	// fields with empty values are omitted from API requests. However, any
   356  	// field with an empty value appearing in NullFields will be sent to the
   357  	// server as null. It is an error if a field in this list has a
   358  	// non-empty value. This may be used to include null fields in Patch
   359  	// requests.
   360  	NullFields []string `json:"-"`
   361  }
   362  
   363  func (s *ActivityActor) MarshalJSON() ([]byte, error) {
   364  	type NoMethod ActivityActor
   365  	raw := NoMethod(*s)
   366  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   367  }
   368  
   369  // ActivityActorClientSpecificActorInfo: Actor info specific to
   370  // particular clients.
   371  type ActivityActorClientSpecificActorInfo struct {
   372  	// YoutubeActorInfo: Actor info specific to YouTube clients.
   373  	YoutubeActorInfo *ActivityActorClientSpecificActorInfoYoutubeActorInfo `json:"youtubeActorInfo,omitempty"`
   374  
   375  	// ForceSendFields is a list of field names (e.g. "YoutubeActorInfo") to
   376  	// unconditionally include in API requests. By default, fields with
   377  	// empty values are omitted from API requests. However, any non-pointer,
   378  	// non-interface field appearing in ForceSendFields will be sent to the
   379  	// server regardless of whether the field is empty or not. This may be
   380  	// used to include empty fields in Patch requests.
   381  	ForceSendFields []string `json:"-"`
   382  
   383  	// NullFields is a list of field names (e.g. "YoutubeActorInfo") to
   384  	// include in API requests with the JSON null value. By default, fields
   385  	// with empty values are omitted from API requests. However, any field
   386  	// with an empty value appearing in NullFields will be sent to the
   387  	// server as null. It is an error if a field in this list has a
   388  	// non-empty value. This may be used to include null fields in Patch
   389  	// requests.
   390  	NullFields []string `json:"-"`
   391  }
   392  
   393  func (s *ActivityActorClientSpecificActorInfo) MarshalJSON() ([]byte, error) {
   394  	type NoMethod ActivityActorClientSpecificActorInfo
   395  	raw := NoMethod(*s)
   396  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   397  }
   398  
   399  // ActivityActorClientSpecificActorInfoYoutubeActorInfo: Actor info
   400  // specific to YouTube clients.
   401  type ActivityActorClientSpecificActorInfoYoutubeActorInfo struct {
   402  	// ChannelId: ID of the YouTube channel owned by the Actor.
   403  	ChannelId string `json:"channelId,omitempty"`
   404  
   405  	// ForceSendFields is a list of field names (e.g. "ChannelId") to
   406  	// unconditionally include in API requests. By default, fields with
   407  	// empty values are omitted from API requests. However, any non-pointer,
   408  	// non-interface field appearing in ForceSendFields will be sent to the
   409  	// server regardless of whether the field is empty or not. This may be
   410  	// used to include empty fields in Patch requests.
   411  	ForceSendFields []string `json:"-"`
   412  
   413  	// NullFields is a list of field names (e.g. "ChannelId") to include in
   414  	// API requests with the JSON null value. By default, fields with empty
   415  	// values are omitted from API requests. However, any field with an
   416  	// empty value appearing in NullFields will be sent to the server as
   417  	// null. It is an error if a field in this list has a non-empty value.
   418  	// This may be used to include null fields in Patch requests.
   419  	NullFields []string `json:"-"`
   420  }
   421  
   422  func (s *ActivityActorClientSpecificActorInfoYoutubeActorInfo) MarshalJSON() ([]byte, error) {
   423  	type NoMethod ActivityActorClientSpecificActorInfoYoutubeActorInfo
   424  	raw := NoMethod(*s)
   425  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   426  }
   427  
   428  // ActivityActorImage: The image representation of the actor.
   429  type ActivityActorImage struct {
   430  	// Url: The URL of the actor's profile photo. To resize the image and
   431  	// crop it to a square, append the query string ?sz=x, where x is the
   432  	// dimension in pixels of each side.
   433  	Url string `json:"url,omitempty"`
   434  
   435  	// ForceSendFields is a list of field names (e.g. "Url") to
   436  	// unconditionally include in API requests. By default, fields with
   437  	// empty values are omitted from API requests. However, any non-pointer,
   438  	// non-interface field appearing in ForceSendFields will be sent to the
   439  	// server regardless of whether the field is empty or not. This may be
   440  	// used to include empty fields in Patch requests.
   441  	ForceSendFields []string `json:"-"`
   442  
   443  	// NullFields is a list of field names (e.g. "Url") to include in API
   444  	// requests with the JSON null value. By default, fields with empty
   445  	// values are omitted from API requests. However, any field with an
   446  	// empty value appearing in NullFields will be sent to the server as
   447  	// null. It is an error if a field in this list has a non-empty value.
   448  	// This may be used to include null fields in Patch requests.
   449  	NullFields []string `json:"-"`
   450  }
   451  
   452  func (s *ActivityActorImage) MarshalJSON() ([]byte, error) {
   453  	type NoMethod ActivityActorImage
   454  	raw := NoMethod(*s)
   455  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   456  }
   457  
   458  // ActivityActorName: An object representation of the individual
   459  // components of name.
   460  type ActivityActorName struct {
   461  	// FamilyName: The family name ("last name") of the actor.
   462  	FamilyName string `json:"familyName,omitempty"`
   463  
   464  	// GivenName: The given name ("first name") of the actor.
   465  	GivenName string `json:"givenName,omitempty"`
   466  
   467  	// ForceSendFields is a list of field names (e.g. "FamilyName") to
   468  	// unconditionally include in API requests. By default, fields with
   469  	// empty values are omitted from API requests. However, any non-pointer,
   470  	// non-interface field appearing in ForceSendFields will be sent to the
   471  	// server regardless of whether the field is empty or not. This may be
   472  	// used to include empty fields in Patch requests.
   473  	ForceSendFields []string `json:"-"`
   474  
   475  	// NullFields is a list of field names (e.g. "FamilyName") to include in
   476  	// API requests with the JSON null value. By default, fields with empty
   477  	// values are omitted from API requests. However, any field with an
   478  	// empty value appearing in NullFields will be sent to the server as
   479  	// null. It is an error if a field in this list has a non-empty value.
   480  	// This may be used to include null fields in Patch requests.
   481  	NullFields []string `json:"-"`
   482  }
   483  
   484  func (s *ActivityActorName) MarshalJSON() ([]byte, error) {
   485  	type NoMethod ActivityActorName
   486  	raw := NoMethod(*s)
   487  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   488  }
   489  
   490  // ActivityActorVerification: Verification status of actor.
   491  type ActivityActorVerification struct {
   492  	// AdHocVerified: Verification for one-time or manual processes.
   493  	AdHocVerified string `json:"adHocVerified,omitempty"`
   494  
   495  	// ForceSendFields is a list of field names (e.g. "AdHocVerified") to
   496  	// unconditionally include in API requests. By default, fields with
   497  	// empty values are omitted from API requests. However, any non-pointer,
   498  	// non-interface field appearing in ForceSendFields will be sent to the
   499  	// server regardless of whether the field is empty or not. This may be
   500  	// used to include empty fields in Patch requests.
   501  	ForceSendFields []string `json:"-"`
   502  
   503  	// NullFields is a list of field names (e.g. "AdHocVerified") to include
   504  	// in API requests with the JSON null value. By default, fields with
   505  	// empty values are omitted from API requests. However, any field with
   506  	// an empty value appearing in NullFields will be sent to the server as
   507  	// null. It is an error if a field in this list has a non-empty value.
   508  	// This may be used to include null fields in Patch requests.
   509  	NullFields []string `json:"-"`
   510  }
   511  
   512  func (s *ActivityActorVerification) MarshalJSON() ([]byte, error) {
   513  	type NoMethod ActivityActorVerification
   514  	raw := NoMethod(*s)
   515  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   516  }
   517  
   518  // ActivityObject: The object of this activity.
   519  type ActivityObject struct {
   520  	// Actor: If this activity's object is itself another activity, such as
   521  	// when a person reshares an activity, this property specifies the
   522  	// original activity's actor.
   523  	Actor *ActivityObjectActor `json:"actor,omitempty"`
   524  
   525  	// Attachments: The media objects attached to this activity.
   526  	Attachments []*ActivityObjectAttachments `json:"attachments,omitempty"`
   527  
   528  	// Content: The HTML-formatted content, which is suitable for display.
   529  	Content string `json:"content,omitempty"`
   530  
   531  	// Id: The ID of the object. When resharing an activity, this is the ID
   532  	// of the activity that is being reshared.
   533  	Id string `json:"id,omitempty"`
   534  
   535  	// ObjectType: The type of the object. Possible values include, but are
   536  	// not limited to, the following values:
   537  	// - "note" - Textual content.
   538  	// - "activity" - A Google+ activity.
   539  	ObjectType string `json:"objectType,omitempty"`
   540  
   541  	// OriginalContent: The content (text) as provided by the author, which
   542  	// is stored without any HTML formatting. When creating or updating an
   543  	// activity, this value must be supplied as plain text in the request.
   544  	OriginalContent string `json:"originalContent,omitempty"`
   545  
   546  	// Plusoners: People who +1'd this activity.
   547  	Plusoners *ActivityObjectPlusoners `json:"plusoners,omitempty"`
   548  
   549  	// Replies: Comments in reply to this activity.
   550  	Replies *ActivityObjectReplies `json:"replies,omitempty"`
   551  
   552  	// Resharers: People who reshared this activity.
   553  	Resharers *ActivityObjectResharers `json:"resharers,omitempty"`
   554  
   555  	// Url: The URL that points to the linked resource.
   556  	Url string `json:"url,omitempty"`
   557  
   558  	// ForceSendFields is a list of field names (e.g. "Actor") to
   559  	// unconditionally include in API requests. By default, fields with
   560  	// empty values are omitted from API requests. However, any non-pointer,
   561  	// non-interface field appearing in ForceSendFields will be sent to the
   562  	// server regardless of whether the field is empty or not. This may be
   563  	// used to include empty fields in Patch requests.
   564  	ForceSendFields []string `json:"-"`
   565  
   566  	// NullFields is a list of field names (e.g. "Actor") to include in API
   567  	// requests with the JSON null value. By default, fields with empty
   568  	// values are omitted from API requests. However, any field with an
   569  	// empty value appearing in NullFields will be sent to the server as
   570  	// null. It is an error if a field in this list has a non-empty value.
   571  	// This may be used to include null fields in Patch requests.
   572  	NullFields []string `json:"-"`
   573  }
   574  
   575  func (s *ActivityObject) MarshalJSON() ([]byte, error) {
   576  	type NoMethod ActivityObject
   577  	raw := NoMethod(*s)
   578  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   579  }
   580  
   581  // ActivityObjectActor: If this activity's object is itself another
   582  // activity, such as when a person reshares an activity, this property
   583  // specifies the original activity's actor.
   584  type ActivityObjectActor struct {
   585  	// ClientSpecificActorInfo: Actor info specific to particular clients.
   586  	ClientSpecificActorInfo *ActivityObjectActorClientSpecificActorInfo `json:"clientSpecificActorInfo,omitempty"`
   587  
   588  	// DisplayName: The original actor's name, which is suitable for
   589  	// display.
   590  	DisplayName string `json:"displayName,omitempty"`
   591  
   592  	// Id: ID of the original actor.
   593  	Id string `json:"id,omitempty"`
   594  
   595  	// Image: The image representation of the original actor.
   596  	Image *ActivityObjectActorImage `json:"image,omitempty"`
   597  
   598  	// Url: A link to the original actor's Google profile.
   599  	Url string `json:"url,omitempty"`
   600  
   601  	// Verification: Verification status of actor.
   602  	Verification *ActivityObjectActorVerification `json:"verification,omitempty"`
   603  
   604  	// ForceSendFields is a list of field names (e.g.
   605  	// "ClientSpecificActorInfo") to unconditionally include in API
   606  	// requests. By default, fields with empty values are omitted from API
   607  	// requests. However, any non-pointer, non-interface field appearing in
   608  	// ForceSendFields will be sent to the server regardless of whether the
   609  	// field is empty or not. This may be used to include empty fields in
   610  	// Patch requests.
   611  	ForceSendFields []string `json:"-"`
   612  
   613  	// NullFields is a list of field names (e.g. "ClientSpecificActorInfo")
   614  	// to include in API requests with the JSON null value. By default,
   615  	// fields with empty values are omitted from API requests. However, any
   616  	// field with an empty value appearing in NullFields will be sent to the
   617  	// server as null. It is an error if a field in this list has a
   618  	// non-empty value. This may be used to include null fields in Patch
   619  	// requests.
   620  	NullFields []string `json:"-"`
   621  }
   622  
   623  func (s *ActivityObjectActor) MarshalJSON() ([]byte, error) {
   624  	type NoMethod ActivityObjectActor
   625  	raw := NoMethod(*s)
   626  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   627  }
   628  
   629  // ActivityObjectActorClientSpecificActorInfo: Actor info specific to
   630  // particular clients.
   631  type ActivityObjectActorClientSpecificActorInfo struct {
   632  	// YoutubeActorInfo: Actor info specific to YouTube clients.
   633  	YoutubeActorInfo *ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo `json:"youtubeActorInfo,omitempty"`
   634  
   635  	// ForceSendFields is a list of field names (e.g. "YoutubeActorInfo") to
   636  	// unconditionally include in API requests. By default, fields with
   637  	// empty values are omitted from API requests. However, any non-pointer,
   638  	// non-interface field appearing in ForceSendFields will be sent to the
   639  	// server regardless of whether the field is empty or not. This may be
   640  	// used to include empty fields in Patch requests.
   641  	ForceSendFields []string `json:"-"`
   642  
   643  	// NullFields is a list of field names (e.g. "YoutubeActorInfo") to
   644  	// include in API requests with the JSON null value. By default, fields
   645  	// with empty values are omitted from API requests. However, any field
   646  	// with an empty value appearing in NullFields will be sent to the
   647  	// server as null. It is an error if a field in this list has a
   648  	// non-empty value. This may be used to include null fields in Patch
   649  	// requests.
   650  	NullFields []string `json:"-"`
   651  }
   652  
   653  func (s *ActivityObjectActorClientSpecificActorInfo) MarshalJSON() ([]byte, error) {
   654  	type NoMethod ActivityObjectActorClientSpecificActorInfo
   655  	raw := NoMethod(*s)
   656  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   657  }
   658  
   659  // ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo: Actor
   660  // info specific to YouTube clients.
   661  type ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo struct {
   662  	// ChannelId: ID of the YouTube channel owned by the Actor.
   663  	ChannelId string `json:"channelId,omitempty"`
   664  
   665  	// ForceSendFields is a list of field names (e.g. "ChannelId") to
   666  	// unconditionally include in API requests. By default, fields with
   667  	// empty values are omitted from API requests. However, any non-pointer,
   668  	// non-interface field appearing in ForceSendFields will be sent to the
   669  	// server regardless of whether the field is empty or not. This may be
   670  	// used to include empty fields in Patch requests.
   671  	ForceSendFields []string `json:"-"`
   672  
   673  	// NullFields is a list of field names (e.g. "ChannelId") to include in
   674  	// API requests with the JSON null value. By default, fields with empty
   675  	// values are omitted from API requests. However, any field with an
   676  	// empty value appearing in NullFields will be sent to the server as
   677  	// null. It is an error if a field in this list has a non-empty value.
   678  	// This may be used to include null fields in Patch requests.
   679  	NullFields []string `json:"-"`
   680  }
   681  
   682  func (s *ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo) MarshalJSON() ([]byte, error) {
   683  	type NoMethod ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo
   684  	raw := NoMethod(*s)
   685  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   686  }
   687  
   688  // ActivityObjectActorImage: The image representation of the original
   689  // actor.
   690  type ActivityObjectActorImage struct {
   691  	// Url: A URL that points to a thumbnail photo of the original actor.
   692  	Url string `json:"url,omitempty"`
   693  
   694  	// ForceSendFields is a list of field names (e.g. "Url") to
   695  	// unconditionally include in API requests. By default, fields with
   696  	// empty values are omitted from API requests. However, any non-pointer,
   697  	// non-interface field appearing in ForceSendFields will be sent to the
   698  	// server regardless of whether the field is empty or not. This may be
   699  	// used to include empty fields in Patch requests.
   700  	ForceSendFields []string `json:"-"`
   701  
   702  	// NullFields is a list of field names (e.g. "Url") to include in API
   703  	// requests with the JSON null value. By default, fields with empty
   704  	// values are omitted from API requests. However, any field with an
   705  	// empty value appearing in NullFields will be sent to the server as
   706  	// null. It is an error if a field in this list has a non-empty value.
   707  	// This may be used to include null fields in Patch requests.
   708  	NullFields []string `json:"-"`
   709  }
   710  
   711  func (s *ActivityObjectActorImage) MarshalJSON() ([]byte, error) {
   712  	type NoMethod ActivityObjectActorImage
   713  	raw := NoMethod(*s)
   714  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   715  }
   716  
   717  // ActivityObjectActorVerification: Verification status of actor.
   718  type ActivityObjectActorVerification struct {
   719  	// AdHocVerified: Verification for one-time or manual processes.
   720  	AdHocVerified string `json:"adHocVerified,omitempty"`
   721  
   722  	// ForceSendFields is a list of field names (e.g. "AdHocVerified") to
   723  	// unconditionally include in API requests. By default, fields with
   724  	// empty values are omitted from API requests. However, any non-pointer,
   725  	// non-interface field appearing in ForceSendFields will be sent to the
   726  	// server regardless of whether the field is empty or not. This may be
   727  	// used to include empty fields in Patch requests.
   728  	ForceSendFields []string `json:"-"`
   729  
   730  	// NullFields is a list of field names (e.g. "AdHocVerified") to include
   731  	// in API requests with the JSON null value. By default, fields with
   732  	// empty values are omitted from API requests. However, any field with
   733  	// an empty value appearing in NullFields will be sent to the server as
   734  	// null. It is an error if a field in this list has a non-empty value.
   735  	// This may be used to include null fields in Patch requests.
   736  	NullFields []string `json:"-"`
   737  }
   738  
   739  func (s *ActivityObjectActorVerification) MarshalJSON() ([]byte, error) {
   740  	type NoMethod ActivityObjectActorVerification
   741  	raw := NoMethod(*s)
   742  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   743  }
   744  
   745  type ActivityObjectAttachments struct {
   746  	// Content: If the attachment is an article, this property contains a
   747  	// snippet of text from the article. It can also include descriptions
   748  	// for other types.
   749  	Content string `json:"content,omitempty"`
   750  
   751  	// DisplayName: The title of the attachment, such as a photo caption or
   752  	// an article title.
   753  	DisplayName string `json:"displayName,omitempty"`
   754  
   755  	// Embed: If the attachment is a video, the embeddable link.
   756  	Embed *ActivityObjectAttachmentsEmbed `json:"embed,omitempty"`
   757  
   758  	// FullImage: The full image URL for photo attachments.
   759  	FullImage *ActivityObjectAttachmentsFullImage `json:"fullImage,omitempty"`
   760  
   761  	// Id: The ID of the attachment.
   762  	Id string `json:"id,omitempty"`
   763  
   764  	// Image: The preview image for photos or videos.
   765  	Image *ActivityObjectAttachmentsImage `json:"image,omitempty"`
   766  
   767  	// ObjectType: The type of media object. Possible values include, but
   768  	// are not limited to, the following values:
   769  	// - "photo" - A photo.
   770  	// - "album" - A photo album.
   771  	// - "video" - A video.
   772  	// - "article" - An article, specified by a link.
   773  	ObjectType string `json:"objectType,omitempty"`
   774  
   775  	// Thumbnails: If the attachment is an album, this property is a list of
   776  	// potential additional thumbnails from the album.
   777  	Thumbnails []*ActivityObjectAttachmentsThumbnails `json:"thumbnails,omitempty"`
   778  
   779  	// Url: The link to the attachment, which should be of type text/html.
   780  	Url string `json:"url,omitempty"`
   781  
   782  	// ForceSendFields is a list of field names (e.g. "Content") to
   783  	// unconditionally include in API requests. By default, fields with
   784  	// empty values are omitted from API requests. However, any non-pointer,
   785  	// non-interface field appearing in ForceSendFields will be sent to the
   786  	// server regardless of whether the field is empty or not. This may be
   787  	// used to include empty fields in Patch requests.
   788  	ForceSendFields []string `json:"-"`
   789  
   790  	// NullFields is a list of field names (e.g. "Content") to include in
   791  	// API requests with the JSON null value. By default, fields with empty
   792  	// values are omitted from API requests. However, any field with an
   793  	// empty value appearing in NullFields will be sent to the server as
   794  	// null. It is an error if a field in this list has a non-empty value.
   795  	// This may be used to include null fields in Patch requests.
   796  	NullFields []string `json:"-"`
   797  }
   798  
   799  func (s *ActivityObjectAttachments) MarshalJSON() ([]byte, error) {
   800  	type NoMethod ActivityObjectAttachments
   801  	raw := NoMethod(*s)
   802  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   803  }
   804  
   805  // ActivityObjectAttachmentsEmbed: If the attachment is a video, the
   806  // embeddable link.
   807  type ActivityObjectAttachmentsEmbed struct {
   808  	// Type: Media type of the link.
   809  	Type string `json:"type,omitempty"`
   810  
   811  	// Url: URL of the link.
   812  	Url string `json:"url,omitempty"`
   813  
   814  	// ForceSendFields is a list of field names (e.g. "Type") to
   815  	// unconditionally include in API requests. By default, fields with
   816  	// empty values are omitted from API requests. However, any non-pointer,
   817  	// non-interface field appearing in ForceSendFields will be sent to the
   818  	// server regardless of whether the field is empty or not. This may be
   819  	// used to include empty fields in Patch requests.
   820  	ForceSendFields []string `json:"-"`
   821  
   822  	// NullFields is a list of field names (e.g. "Type") to include in API
   823  	// requests with the JSON null value. By default, fields with empty
   824  	// values are omitted from API requests. However, any field with an
   825  	// empty value appearing in NullFields will be sent to the server as
   826  	// null. It is an error if a field in this list has a non-empty value.
   827  	// This may be used to include null fields in Patch requests.
   828  	NullFields []string `json:"-"`
   829  }
   830  
   831  func (s *ActivityObjectAttachmentsEmbed) MarshalJSON() ([]byte, error) {
   832  	type NoMethod ActivityObjectAttachmentsEmbed
   833  	raw := NoMethod(*s)
   834  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   835  }
   836  
   837  // ActivityObjectAttachmentsFullImage: The full image URL for photo
   838  // attachments.
   839  type ActivityObjectAttachmentsFullImage struct {
   840  	// Height: The height, in pixels, of the linked resource.
   841  	Height int64 `json:"height,omitempty"`
   842  
   843  	// Type: Media type of the link.
   844  	Type string `json:"type,omitempty"`
   845  
   846  	// Url: URL of the image.
   847  	Url string `json:"url,omitempty"`
   848  
   849  	// Width: The width, in pixels, of the linked resource.
   850  	Width int64 `json:"width,omitempty"`
   851  
   852  	// ForceSendFields is a list of field names (e.g. "Height") to
   853  	// unconditionally include in API requests. By default, fields with
   854  	// empty values are omitted from API requests. However, any non-pointer,
   855  	// non-interface field appearing in ForceSendFields will be sent to the
   856  	// server regardless of whether the field is empty or not. This may be
   857  	// used to include empty fields in Patch requests.
   858  	ForceSendFields []string `json:"-"`
   859  
   860  	// NullFields is a list of field names (e.g. "Height") to include in API
   861  	// requests with the JSON null value. By default, fields with empty
   862  	// values are omitted from API requests. However, any field with an
   863  	// empty value appearing in NullFields will be sent to the server as
   864  	// null. It is an error if a field in this list has a non-empty value.
   865  	// This may be used to include null fields in Patch requests.
   866  	NullFields []string `json:"-"`
   867  }
   868  
   869  func (s *ActivityObjectAttachmentsFullImage) MarshalJSON() ([]byte, error) {
   870  	type NoMethod ActivityObjectAttachmentsFullImage
   871  	raw := NoMethod(*s)
   872  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   873  }
   874  
   875  // ActivityObjectAttachmentsImage: The preview image for photos or
   876  // videos.
   877  type ActivityObjectAttachmentsImage struct {
   878  	// Height: The height, in pixels, of the linked resource.
   879  	Height int64 `json:"height,omitempty"`
   880  
   881  	// Type: Media type of the link.
   882  	Type string `json:"type,omitempty"`
   883  
   884  	// Url: Image URL.
   885  	Url string `json:"url,omitempty"`
   886  
   887  	// Width: The width, in pixels, of the linked resource.
   888  	Width int64 `json:"width,omitempty"`
   889  
   890  	// ForceSendFields is a list of field names (e.g. "Height") to
   891  	// unconditionally include in API requests. By default, fields with
   892  	// empty values are omitted from API requests. However, any non-pointer,
   893  	// non-interface field appearing in ForceSendFields will be sent to the
   894  	// server regardless of whether the field is empty or not. This may be
   895  	// used to include empty fields in Patch requests.
   896  	ForceSendFields []string `json:"-"`
   897  
   898  	// NullFields is a list of field names (e.g. "Height") to include in API
   899  	// requests with the JSON null value. By default, fields with empty
   900  	// values are omitted from API requests. However, any field with an
   901  	// empty value appearing in NullFields will be sent to the server as
   902  	// null. It is an error if a field in this list has a non-empty value.
   903  	// This may be used to include null fields in Patch requests.
   904  	NullFields []string `json:"-"`
   905  }
   906  
   907  func (s *ActivityObjectAttachmentsImage) MarshalJSON() ([]byte, error) {
   908  	type NoMethod ActivityObjectAttachmentsImage
   909  	raw := NoMethod(*s)
   910  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   911  }
   912  
   913  type ActivityObjectAttachmentsThumbnails struct {
   914  	// Description: Potential name of the thumbnail.
   915  	Description string `json:"description,omitempty"`
   916  
   917  	// Image: Image resource.
   918  	Image *ActivityObjectAttachmentsThumbnailsImage `json:"image,omitempty"`
   919  
   920  	// Url: URL of the webpage containing the image.
   921  	Url string `json:"url,omitempty"`
   922  
   923  	// ForceSendFields is a list of field names (e.g. "Description") to
   924  	// unconditionally include in API requests. By default, fields with
   925  	// empty values are omitted from API requests. However, any non-pointer,
   926  	// non-interface field appearing in ForceSendFields will be sent to the
   927  	// server regardless of whether the field is empty or not. This may be
   928  	// used to include empty fields in Patch requests.
   929  	ForceSendFields []string `json:"-"`
   930  
   931  	// NullFields is a list of field names (e.g. "Description") to include
   932  	// in API requests with the JSON null value. By default, fields with
   933  	// empty values are omitted from API requests. However, any field with
   934  	// an empty value appearing in NullFields will be sent to the server as
   935  	// null. It is an error if a field in this list has a non-empty value.
   936  	// This may be used to include null fields in Patch requests.
   937  	NullFields []string `json:"-"`
   938  }
   939  
   940  func (s *ActivityObjectAttachmentsThumbnails) MarshalJSON() ([]byte, error) {
   941  	type NoMethod ActivityObjectAttachmentsThumbnails
   942  	raw := NoMethod(*s)
   943  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   944  }
   945  
   946  // ActivityObjectAttachmentsThumbnailsImage: Image resource.
   947  type ActivityObjectAttachmentsThumbnailsImage struct {
   948  	// Height: The height, in pixels, of the linked resource.
   949  	Height int64 `json:"height,omitempty"`
   950  
   951  	// Type: Media type of the link.
   952  	Type string `json:"type,omitempty"`
   953  
   954  	// Url: Image url.
   955  	Url string `json:"url,omitempty"`
   956  
   957  	// Width: The width, in pixels, of the linked resource.
   958  	Width int64 `json:"width,omitempty"`
   959  
   960  	// ForceSendFields is a list of field names (e.g. "Height") to
   961  	// unconditionally include in API requests. By default, fields with
   962  	// empty values are omitted from API requests. However, any non-pointer,
   963  	// non-interface field appearing in ForceSendFields will be sent to the
   964  	// server regardless of whether the field is empty or not. This may be
   965  	// used to include empty fields in Patch requests.
   966  	ForceSendFields []string `json:"-"`
   967  
   968  	// NullFields is a list of field names (e.g. "Height") to include in API
   969  	// requests with the JSON null value. By default, fields with empty
   970  	// values are omitted from API requests. However, any field with an
   971  	// empty value appearing in NullFields will be sent to the server as
   972  	// null. It is an error if a field in this list has a non-empty value.
   973  	// This may be used to include null fields in Patch requests.
   974  	NullFields []string `json:"-"`
   975  }
   976  
   977  func (s *ActivityObjectAttachmentsThumbnailsImage) MarshalJSON() ([]byte, error) {
   978  	type NoMethod ActivityObjectAttachmentsThumbnailsImage
   979  	raw := NoMethod(*s)
   980  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   981  }
   982  
   983  // ActivityObjectPlusoners: People who +1'd this activity.
   984  type ActivityObjectPlusoners struct {
   985  	// SelfLink: The URL for the collection of people who +1'd this
   986  	// activity.
   987  	SelfLink string `json:"selfLink,omitempty"`
   988  
   989  	// TotalItems: Total number of people who +1'd this activity.
   990  	TotalItems int64 `json:"totalItems,omitempty"`
   991  
   992  	// ForceSendFields is a list of field names (e.g. "SelfLink") to
   993  	// unconditionally include in API requests. By default, fields with
   994  	// empty values are omitted from API requests. However, any non-pointer,
   995  	// non-interface field appearing in ForceSendFields will be sent to the
   996  	// server regardless of whether the field is empty or not. This may be
   997  	// used to include empty fields in Patch requests.
   998  	ForceSendFields []string `json:"-"`
   999  
  1000  	// NullFields is a list of field names (e.g. "SelfLink") to include in
  1001  	// API requests with the JSON null value. By default, fields with empty
  1002  	// values are omitted from API requests. However, any field with an
  1003  	// empty value appearing in NullFields will be sent to the server as
  1004  	// null. It is an error if a field in this list has a non-empty value.
  1005  	// This may be used to include null fields in Patch requests.
  1006  	NullFields []string `json:"-"`
  1007  }
  1008  
  1009  func (s *ActivityObjectPlusoners) MarshalJSON() ([]byte, error) {
  1010  	type NoMethod ActivityObjectPlusoners
  1011  	raw := NoMethod(*s)
  1012  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1013  }
  1014  
  1015  // ActivityObjectReplies: Comments in reply to this activity.
  1016  type ActivityObjectReplies struct {
  1017  	// SelfLink: The URL for the collection of comments in reply to this
  1018  	// activity.
  1019  	SelfLink string `json:"selfLink,omitempty"`
  1020  
  1021  	// TotalItems: Total number of comments on this activity.
  1022  	TotalItems int64 `json:"totalItems,omitempty"`
  1023  
  1024  	// ForceSendFields is a list of field names (e.g. "SelfLink") to
  1025  	// unconditionally include in API requests. By default, fields with
  1026  	// empty values are omitted from API requests. However, any non-pointer,
  1027  	// non-interface field appearing in ForceSendFields will be sent to the
  1028  	// server regardless of whether the field is empty or not. This may be
  1029  	// used to include empty fields in Patch requests.
  1030  	ForceSendFields []string `json:"-"`
  1031  
  1032  	// NullFields is a list of field names (e.g. "SelfLink") to include in
  1033  	// API requests with the JSON null value. By default, fields with empty
  1034  	// values are omitted from API requests. However, any field with an
  1035  	// empty value appearing in NullFields will be sent to the server as
  1036  	// null. It is an error if a field in this list has a non-empty value.
  1037  	// This may be used to include null fields in Patch requests.
  1038  	NullFields []string `json:"-"`
  1039  }
  1040  
  1041  func (s *ActivityObjectReplies) MarshalJSON() ([]byte, error) {
  1042  	type NoMethod ActivityObjectReplies
  1043  	raw := NoMethod(*s)
  1044  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1045  }
  1046  
  1047  // ActivityObjectResharers: People who reshared this activity.
  1048  type ActivityObjectResharers struct {
  1049  	// SelfLink: The URL for the collection of resharers.
  1050  	SelfLink string `json:"selfLink,omitempty"`
  1051  
  1052  	// TotalItems: Total number of people who reshared this activity.
  1053  	TotalItems int64 `json:"totalItems,omitempty"`
  1054  
  1055  	// ForceSendFields is a list of field names (e.g. "SelfLink") to
  1056  	// unconditionally include in API requests. By default, fields with
  1057  	// empty values are omitted from API requests. However, any non-pointer,
  1058  	// non-interface field appearing in ForceSendFields will be sent to the
  1059  	// server regardless of whether the field is empty or not. This may be
  1060  	// used to include empty fields in Patch requests.
  1061  	ForceSendFields []string `json:"-"`
  1062  
  1063  	// NullFields is a list of field names (e.g. "SelfLink") to include in
  1064  	// API requests with the JSON null value. By default, fields with empty
  1065  	// values are omitted from API requests. However, any field with an
  1066  	// empty value appearing in NullFields will be sent to the server as
  1067  	// null. It is an error if a field in this list has a non-empty value.
  1068  	// This may be used to include null fields in Patch requests.
  1069  	NullFields []string `json:"-"`
  1070  }
  1071  
  1072  func (s *ActivityObjectResharers) MarshalJSON() ([]byte, error) {
  1073  	type NoMethod ActivityObjectResharers
  1074  	raw := NoMethod(*s)
  1075  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1076  }
  1077  
  1078  // ActivityProvider: The service provider that initially published this
  1079  // activity.
  1080  type ActivityProvider struct {
  1081  	// Title: Name of the service provider.
  1082  	Title string `json:"title,omitempty"`
  1083  
  1084  	// ForceSendFields is a list of field names (e.g. "Title") to
  1085  	// unconditionally include in API requests. By default, fields with
  1086  	// empty values are omitted from API requests. However, any non-pointer,
  1087  	// non-interface field appearing in ForceSendFields will be sent to the
  1088  	// server regardless of whether the field is empty or not. This may be
  1089  	// used to include empty fields in Patch requests.
  1090  	ForceSendFields []string `json:"-"`
  1091  
  1092  	// NullFields is a list of field names (e.g. "Title") to include in API
  1093  	// requests with the JSON null value. By default, fields with empty
  1094  	// values are omitted from API requests. However, any field with an
  1095  	// empty value appearing in NullFields will be sent to the server as
  1096  	// null. It is an error if a field in this list has a non-empty value.
  1097  	// This may be used to include null fields in Patch requests.
  1098  	NullFields []string `json:"-"`
  1099  }
  1100  
  1101  func (s *ActivityProvider) MarshalJSON() ([]byte, error) {
  1102  	type NoMethod ActivityProvider
  1103  	raw := NoMethod(*s)
  1104  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1105  }
  1106  
  1107  type ActivityFeed struct {
  1108  	// Etag: ETag of this response for caching purposes.
  1109  	Etag string `json:"etag,omitempty"`
  1110  
  1111  	// Id: The ID of this collection of activities. Deprecated.
  1112  	Id string `json:"id,omitempty"`
  1113  
  1114  	// Items: The activities in this page of results.
  1115  	Items []*Activity `json:"items,omitempty"`
  1116  
  1117  	// Kind: Identifies this resource as a collection of activities. Value:
  1118  	// "plus#activityFeed".
  1119  	Kind string `json:"kind,omitempty"`
  1120  
  1121  	// NextLink: Link to the next page of activities.
  1122  	NextLink string `json:"nextLink,omitempty"`
  1123  
  1124  	// NextPageToken: The continuation token, which is used to page through
  1125  	// large result sets. Provide this value in a subsequent request to
  1126  	// return the next page of results.
  1127  	NextPageToken string `json:"nextPageToken,omitempty"`
  1128  
  1129  	// SelfLink: Link to this activity resource.
  1130  	SelfLink string `json:"selfLink,omitempty"`
  1131  
  1132  	// Title: The title of this collection of activities, which is a
  1133  	// truncated portion of the content.
  1134  	Title string `json:"title,omitempty"`
  1135  
  1136  	// Updated: The time at which this collection of activities was last
  1137  	// updated. Formatted as an RFC 3339 timestamp.
  1138  	Updated string `json:"updated,omitempty"`
  1139  
  1140  	// ServerResponse contains the HTTP response code and headers from the
  1141  	// server.
  1142  	googleapi.ServerResponse `json:"-"`
  1143  
  1144  	// ForceSendFields is a list of field names (e.g. "Etag") to
  1145  	// unconditionally include in API requests. By default, fields with
  1146  	// empty values are omitted from API requests. However, any non-pointer,
  1147  	// non-interface field appearing in ForceSendFields will be sent to the
  1148  	// server regardless of whether the field is empty or not. This may be
  1149  	// used to include empty fields in Patch requests.
  1150  	ForceSendFields []string `json:"-"`
  1151  
  1152  	// NullFields is a list of field names (e.g. "Etag") to include in API
  1153  	// requests with the JSON null value. By default, fields with empty
  1154  	// values are omitted from API requests. However, any field with an
  1155  	// empty value appearing in NullFields will be sent to the server as
  1156  	// null. It is an error if a field in this list has a non-empty value.
  1157  	// This may be used to include null fields in Patch requests.
  1158  	NullFields []string `json:"-"`
  1159  }
  1160  
  1161  func (s *ActivityFeed) MarshalJSON() ([]byte, error) {
  1162  	type NoMethod ActivityFeed
  1163  	raw := NoMethod(*s)
  1164  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1165  }
  1166  
  1167  type Comment struct {
  1168  	// Actor: The person who posted this comment.
  1169  	Actor *CommentActor `json:"actor,omitempty"`
  1170  
  1171  	// Etag: ETag of this response for caching purposes.
  1172  	Etag string `json:"etag,omitempty"`
  1173  
  1174  	// Id: The ID of this comment.
  1175  	Id string `json:"id,omitempty"`
  1176  
  1177  	// InReplyTo: The activity this comment replied to.
  1178  	InReplyTo []*CommentInReplyTo `json:"inReplyTo,omitempty"`
  1179  
  1180  	// Kind: Identifies this resource as a comment. Value: "plus#comment".
  1181  	Kind string `json:"kind,omitempty"`
  1182  
  1183  	// Object: The object of this comment.
  1184  	Object *CommentObject `json:"object,omitempty"`
  1185  
  1186  	// Plusoners: People who +1'd this comment.
  1187  	Plusoners *CommentPlusoners `json:"plusoners,omitempty"`
  1188  
  1189  	// Published: The time at which this comment was initially published.
  1190  	// Formatted as an RFC 3339 timestamp.
  1191  	Published string `json:"published,omitempty"`
  1192  
  1193  	// SelfLink: Link to this comment resource.
  1194  	SelfLink string `json:"selfLink,omitempty"`
  1195  
  1196  	// Updated: The time at which this comment was last updated. Formatted
  1197  	// as an RFC 3339 timestamp.
  1198  	Updated string `json:"updated,omitempty"`
  1199  
  1200  	// Verb: This comment's verb, indicating what action was performed.
  1201  	// Possible values are:
  1202  	// - "post" - Publish content to the stream.
  1203  	Verb string `json:"verb,omitempty"`
  1204  
  1205  	// ServerResponse contains the HTTP response code and headers from the
  1206  	// server.
  1207  	googleapi.ServerResponse `json:"-"`
  1208  
  1209  	// ForceSendFields is a list of field names (e.g. "Actor") to
  1210  	// unconditionally include in API requests. By default, fields with
  1211  	// empty values are omitted from API requests. However, any non-pointer,
  1212  	// non-interface field appearing in ForceSendFields will be sent to the
  1213  	// server regardless of whether the field is empty or not. This may be
  1214  	// used to include empty fields in Patch requests.
  1215  	ForceSendFields []string `json:"-"`
  1216  
  1217  	// NullFields is a list of field names (e.g. "Actor") to include in API
  1218  	// requests with the JSON null value. By default, fields with empty
  1219  	// values are omitted from API requests. However, any field with an
  1220  	// empty value appearing in NullFields will be sent to the server as
  1221  	// null. It is an error if a field in this list has a non-empty value.
  1222  	// This may be used to include null fields in Patch requests.
  1223  	NullFields []string `json:"-"`
  1224  }
  1225  
  1226  func (s *Comment) MarshalJSON() ([]byte, error) {
  1227  	type NoMethod Comment
  1228  	raw := NoMethod(*s)
  1229  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1230  }
  1231  
  1232  // CommentActor: The person who posted this comment.
  1233  type CommentActor struct {
  1234  	// ClientSpecificActorInfo: Actor info specific to particular clients.
  1235  	ClientSpecificActorInfo *CommentActorClientSpecificActorInfo `json:"clientSpecificActorInfo,omitempty"`
  1236  
  1237  	// DisplayName: The name of this actor, suitable for display.
  1238  	DisplayName string `json:"displayName,omitempty"`
  1239  
  1240  	// Id: The ID of the actor.
  1241  	Id string `json:"id,omitempty"`
  1242  
  1243  	// Image: The image representation of this actor.
  1244  	Image *CommentActorImage `json:"image,omitempty"`
  1245  
  1246  	// Url: A link to the Person resource for this actor.
  1247  	Url string `json:"url,omitempty"`
  1248  
  1249  	// Verification: Verification status of actor.
  1250  	Verification *CommentActorVerification `json:"verification,omitempty"`
  1251  
  1252  	// ForceSendFields is a list of field names (e.g.
  1253  	// "ClientSpecificActorInfo") to unconditionally include in API
  1254  	// requests. By default, fields with empty values are omitted from API
  1255  	// requests. However, any non-pointer, non-interface field appearing in
  1256  	// ForceSendFields will be sent to the server regardless of whether the
  1257  	// field is empty or not. This may be used to include empty fields in
  1258  	// Patch requests.
  1259  	ForceSendFields []string `json:"-"`
  1260  
  1261  	// NullFields is a list of field names (e.g. "ClientSpecificActorInfo")
  1262  	// to include in API requests with the JSON null value. By default,
  1263  	// fields with empty values are omitted from API requests. However, any
  1264  	// field with an empty value appearing in NullFields will be sent to the
  1265  	// server as null. It is an error if a field in this list has a
  1266  	// non-empty value. This may be used to include null fields in Patch
  1267  	// requests.
  1268  	NullFields []string `json:"-"`
  1269  }
  1270  
  1271  func (s *CommentActor) MarshalJSON() ([]byte, error) {
  1272  	type NoMethod CommentActor
  1273  	raw := NoMethod(*s)
  1274  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1275  }
  1276  
  1277  // CommentActorClientSpecificActorInfo: Actor info specific to
  1278  // particular clients.
  1279  type CommentActorClientSpecificActorInfo struct {
  1280  	// YoutubeActorInfo: Actor info specific to YouTube clients.
  1281  	YoutubeActorInfo *CommentActorClientSpecificActorInfoYoutubeActorInfo `json:"youtubeActorInfo,omitempty"`
  1282  
  1283  	// ForceSendFields is a list of field names (e.g. "YoutubeActorInfo") to
  1284  	// unconditionally include in API requests. By default, fields with
  1285  	// empty values are omitted from API requests. However, any non-pointer,
  1286  	// non-interface field appearing in ForceSendFields will be sent to the
  1287  	// server regardless of whether the field is empty or not. This may be
  1288  	// used to include empty fields in Patch requests.
  1289  	ForceSendFields []string `json:"-"`
  1290  
  1291  	// NullFields is a list of field names (e.g. "YoutubeActorInfo") to
  1292  	// include in API requests with the JSON null value. By default, fields
  1293  	// with empty values are omitted from API requests. However, any field
  1294  	// with an empty value appearing in NullFields will be sent to the
  1295  	// server as null. It is an error if a field in this list has a
  1296  	// non-empty value. This may be used to include null fields in Patch
  1297  	// requests.
  1298  	NullFields []string `json:"-"`
  1299  }
  1300  
  1301  func (s *CommentActorClientSpecificActorInfo) MarshalJSON() ([]byte, error) {
  1302  	type NoMethod CommentActorClientSpecificActorInfo
  1303  	raw := NoMethod(*s)
  1304  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1305  }
  1306  
  1307  // CommentActorClientSpecificActorInfoYoutubeActorInfo: Actor info
  1308  // specific to YouTube clients.
  1309  type CommentActorClientSpecificActorInfoYoutubeActorInfo struct {
  1310  	// ChannelId: ID of the YouTube channel owned by the Actor.
  1311  	ChannelId string `json:"channelId,omitempty"`
  1312  
  1313  	// ForceSendFields is a list of field names (e.g. "ChannelId") to
  1314  	// unconditionally include in API requests. By default, fields with
  1315  	// empty values are omitted from API requests. However, any non-pointer,
  1316  	// non-interface field appearing in ForceSendFields will be sent to the
  1317  	// server regardless of whether the field is empty or not. This may be
  1318  	// used to include empty fields in Patch requests.
  1319  	ForceSendFields []string `json:"-"`
  1320  
  1321  	// NullFields is a list of field names (e.g. "ChannelId") to include in
  1322  	// API requests with the JSON null value. By default, fields with empty
  1323  	// values are omitted from API requests. However, any field with an
  1324  	// empty value appearing in NullFields will be sent to the server as
  1325  	// null. It is an error if a field in this list has a non-empty value.
  1326  	// This may be used to include null fields in Patch requests.
  1327  	NullFields []string `json:"-"`
  1328  }
  1329  
  1330  func (s *CommentActorClientSpecificActorInfoYoutubeActorInfo) MarshalJSON() ([]byte, error) {
  1331  	type NoMethod CommentActorClientSpecificActorInfoYoutubeActorInfo
  1332  	raw := NoMethod(*s)
  1333  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1334  }
  1335  
  1336  // CommentActorImage: The image representation of this actor.
  1337  type CommentActorImage struct {
  1338  	// Url: The URL of the actor's profile photo. To resize the image and
  1339  	// crop it to a square, append the query string ?sz=x, where x is the
  1340  	// dimension in pixels of each side.
  1341  	Url string `json:"url,omitempty"`
  1342  
  1343  	// ForceSendFields is a list of field names (e.g. "Url") to
  1344  	// unconditionally include in API requests. By default, fields with
  1345  	// empty values are omitted from API requests. However, any non-pointer,
  1346  	// non-interface field appearing in ForceSendFields will be sent to the
  1347  	// server regardless of whether the field is empty or not. This may be
  1348  	// used to include empty fields in Patch requests.
  1349  	ForceSendFields []string `json:"-"`
  1350  
  1351  	// NullFields is a list of field names (e.g. "Url") to include in API
  1352  	// requests with the JSON null value. By default, fields with empty
  1353  	// values are omitted from API requests. However, any field with an
  1354  	// empty value appearing in NullFields will be sent to the server as
  1355  	// null. It is an error if a field in this list has a non-empty value.
  1356  	// This may be used to include null fields in Patch requests.
  1357  	NullFields []string `json:"-"`
  1358  }
  1359  
  1360  func (s *CommentActorImage) MarshalJSON() ([]byte, error) {
  1361  	type NoMethod CommentActorImage
  1362  	raw := NoMethod(*s)
  1363  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1364  }
  1365  
  1366  // CommentActorVerification: Verification status of actor.
  1367  type CommentActorVerification struct {
  1368  	// AdHocVerified: Verification for one-time or manual processes.
  1369  	AdHocVerified string `json:"adHocVerified,omitempty"`
  1370  
  1371  	// ForceSendFields is a list of field names (e.g. "AdHocVerified") to
  1372  	// unconditionally include in API requests. By default, fields with
  1373  	// empty values are omitted from API requests. However, any non-pointer,
  1374  	// non-interface field appearing in ForceSendFields will be sent to the
  1375  	// server regardless of whether the field is empty or not. This may be
  1376  	// used to include empty fields in Patch requests.
  1377  	ForceSendFields []string `json:"-"`
  1378  
  1379  	// NullFields is a list of field names (e.g. "AdHocVerified") to include
  1380  	// in API requests with the JSON null value. By default, fields with
  1381  	// empty values are omitted from API requests. However, any field with
  1382  	// an empty value appearing in NullFields will be sent to the server as
  1383  	// null. It is an error if a field in this list has a non-empty value.
  1384  	// This may be used to include null fields in Patch requests.
  1385  	NullFields []string `json:"-"`
  1386  }
  1387  
  1388  func (s *CommentActorVerification) MarshalJSON() ([]byte, error) {
  1389  	type NoMethod CommentActorVerification
  1390  	raw := NoMethod(*s)
  1391  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1392  }
  1393  
  1394  type CommentInReplyTo struct {
  1395  	// Id: The ID of the activity.
  1396  	Id string `json:"id,omitempty"`
  1397  
  1398  	// Url: The URL of the activity.
  1399  	Url string `json:"url,omitempty"`
  1400  
  1401  	// ForceSendFields is a list of field names (e.g. "Id") to
  1402  	// unconditionally include in API requests. By default, fields with
  1403  	// empty values are omitted from API requests. However, any non-pointer,
  1404  	// non-interface field appearing in ForceSendFields will be sent to the
  1405  	// server regardless of whether the field is empty or not. This may be
  1406  	// used to include empty fields in Patch requests.
  1407  	ForceSendFields []string `json:"-"`
  1408  
  1409  	// NullFields is a list of field names (e.g. "Id") to include in API
  1410  	// requests with the JSON null value. By default, fields with empty
  1411  	// values are omitted from API requests. However, any field with an
  1412  	// empty value appearing in NullFields will be sent to the server as
  1413  	// null. It is an error if a field in this list has a non-empty value.
  1414  	// This may be used to include null fields in Patch requests.
  1415  	NullFields []string `json:"-"`
  1416  }
  1417  
  1418  func (s *CommentInReplyTo) MarshalJSON() ([]byte, error) {
  1419  	type NoMethod CommentInReplyTo
  1420  	raw := NoMethod(*s)
  1421  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1422  }
  1423  
  1424  // CommentObject: The object of this comment.
  1425  type CommentObject struct {
  1426  	// Content: The HTML-formatted content, suitable for display.
  1427  	Content string `json:"content,omitempty"`
  1428  
  1429  	// ObjectType: The object type of this comment. Possible values are:
  1430  	// - "comment" - A comment in reply to an activity.
  1431  	ObjectType string `json:"objectType,omitempty"`
  1432  
  1433  	// OriginalContent: The content (text) as provided by the author, stored
  1434  	// without any HTML formatting. When creating or updating a comment,
  1435  	// this value must be supplied as plain text in the request.
  1436  	OriginalContent string `json:"originalContent,omitempty"`
  1437  
  1438  	// ForceSendFields is a list of field names (e.g. "Content") to
  1439  	// unconditionally include in API requests. By default, fields with
  1440  	// empty values are omitted from API requests. However, any non-pointer,
  1441  	// non-interface field appearing in ForceSendFields will be sent to the
  1442  	// server regardless of whether the field is empty or not. This may be
  1443  	// used to include empty fields in Patch requests.
  1444  	ForceSendFields []string `json:"-"`
  1445  
  1446  	// NullFields is a list of field names (e.g. "Content") to include in
  1447  	// API requests with the JSON null value. By default, fields with empty
  1448  	// values are omitted from API requests. However, any field with an
  1449  	// empty value appearing in NullFields will be sent to the server as
  1450  	// null. It is an error if a field in this list has a non-empty value.
  1451  	// This may be used to include null fields in Patch requests.
  1452  	NullFields []string `json:"-"`
  1453  }
  1454  
  1455  func (s *CommentObject) MarshalJSON() ([]byte, error) {
  1456  	type NoMethod CommentObject
  1457  	raw := NoMethod(*s)
  1458  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1459  }
  1460  
  1461  // CommentPlusoners: People who +1'd this comment.
  1462  type CommentPlusoners struct {
  1463  	// TotalItems: Total number of people who +1'd this comment.
  1464  	TotalItems int64 `json:"totalItems,omitempty"`
  1465  
  1466  	// ForceSendFields is a list of field names (e.g. "TotalItems") to
  1467  	// unconditionally include in API requests. By default, fields with
  1468  	// empty values are omitted from API requests. However, any non-pointer,
  1469  	// non-interface field appearing in ForceSendFields will be sent to the
  1470  	// server regardless of whether the field is empty or not. This may be
  1471  	// used to include empty fields in Patch requests.
  1472  	ForceSendFields []string `json:"-"`
  1473  
  1474  	// NullFields is a list of field names (e.g. "TotalItems") to include in
  1475  	// API requests with the JSON null value. By default, fields with empty
  1476  	// values are omitted from API requests. However, any field with an
  1477  	// empty value appearing in NullFields will be sent to the server as
  1478  	// null. It is an error if a field in this list has a non-empty value.
  1479  	// This may be used to include null fields in Patch requests.
  1480  	NullFields []string `json:"-"`
  1481  }
  1482  
  1483  func (s *CommentPlusoners) MarshalJSON() ([]byte, error) {
  1484  	type NoMethod CommentPlusoners
  1485  	raw := NoMethod(*s)
  1486  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1487  }
  1488  
  1489  type CommentFeed struct {
  1490  	// Etag: ETag of this response for caching purposes.
  1491  	Etag string `json:"etag,omitempty"`
  1492  
  1493  	// Id: The ID of this collection of comments.
  1494  	Id string `json:"id,omitempty"`
  1495  
  1496  	// Items: The comments in this page of results.
  1497  	Items []*Comment `json:"items,omitempty"`
  1498  
  1499  	// Kind: Identifies this resource as a collection of comments. Value:
  1500  	// "plus#commentFeed".
  1501  	Kind string `json:"kind,omitempty"`
  1502  
  1503  	// NextLink: Link to the next page of activities.
  1504  	NextLink string `json:"nextLink,omitempty"`
  1505  
  1506  	// NextPageToken: The continuation token, which is used to page through
  1507  	// large result sets. Provide this value in a subsequent request to
  1508  	// return the next page of results.
  1509  	NextPageToken string `json:"nextPageToken,omitempty"`
  1510  
  1511  	// Title: The title of this collection of comments.
  1512  	Title string `json:"title,omitempty"`
  1513  
  1514  	// Updated: The time at which this collection of comments was last
  1515  	// updated. Formatted as an RFC 3339 timestamp.
  1516  	Updated string `json:"updated,omitempty"`
  1517  
  1518  	// ServerResponse contains the HTTP response code and headers from the
  1519  	// server.
  1520  	googleapi.ServerResponse `json:"-"`
  1521  
  1522  	// ForceSendFields is a list of field names (e.g. "Etag") to
  1523  	// unconditionally include in API requests. By default, fields with
  1524  	// empty values are omitted from API requests. However, any non-pointer,
  1525  	// non-interface field appearing in ForceSendFields will be sent to the
  1526  	// server regardless of whether the field is empty or not. This may be
  1527  	// used to include empty fields in Patch requests.
  1528  	ForceSendFields []string `json:"-"`
  1529  
  1530  	// NullFields is a list of field names (e.g. "Etag") to include in API
  1531  	// requests with the JSON null value. By default, fields with empty
  1532  	// values are omitted from API requests. However, any field with an
  1533  	// empty value appearing in NullFields will be sent to the server as
  1534  	// null. It is an error if a field in this list has a non-empty value.
  1535  	// This may be used to include null fields in Patch requests.
  1536  	NullFields []string `json:"-"`
  1537  }
  1538  
  1539  func (s *CommentFeed) MarshalJSON() ([]byte, error) {
  1540  	type NoMethod CommentFeed
  1541  	raw := NoMethod(*s)
  1542  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1543  }
  1544  
  1545  type PeopleFeed struct {
  1546  	// Etag: ETag of this response for caching purposes.
  1547  	Etag string `json:"etag,omitempty"`
  1548  
  1549  	// Items: The people in this page of results. Each item includes the id,
  1550  	// displayName, image, and url for the person. To retrieve additional
  1551  	// profile data, see the people.get method.
  1552  	Items []*Person `json:"items,omitempty"`
  1553  
  1554  	// Kind: Identifies this resource as a collection of people. Value:
  1555  	// "plus#peopleFeed".
  1556  	Kind string `json:"kind,omitempty"`
  1557  
  1558  	// NextPageToken: The continuation token, which is used to page through
  1559  	// large result sets. Provide this value in a subsequent request to
  1560  	// return the next page of results.
  1561  	NextPageToken string `json:"nextPageToken,omitempty"`
  1562  
  1563  	// SelfLink: Link to this resource.
  1564  	SelfLink string `json:"selfLink,omitempty"`
  1565  
  1566  	// Title: The title of this collection of people.
  1567  	Title string `json:"title,omitempty"`
  1568  
  1569  	// TotalItems: The total number of people available in this list. The
  1570  	// number of people in a response might be smaller due to paging. This
  1571  	// might not be set for all collections.
  1572  	TotalItems int64 `json:"totalItems,omitempty"`
  1573  
  1574  	// ServerResponse contains the HTTP response code and headers from the
  1575  	// server.
  1576  	googleapi.ServerResponse `json:"-"`
  1577  
  1578  	// ForceSendFields is a list of field names (e.g. "Etag") to
  1579  	// unconditionally include in API requests. By default, fields with
  1580  	// empty values are omitted from API requests. However, any non-pointer,
  1581  	// non-interface field appearing in ForceSendFields will be sent to the
  1582  	// server regardless of whether the field is empty or not. This may be
  1583  	// used to include empty fields in Patch requests.
  1584  	ForceSendFields []string `json:"-"`
  1585  
  1586  	// NullFields is a list of field names (e.g. "Etag") to include in API
  1587  	// requests with the JSON null value. By default, fields with empty
  1588  	// values are omitted from API requests. However, any field with an
  1589  	// empty value appearing in NullFields will be sent to the server as
  1590  	// null. It is an error if a field in this list has a non-empty value.
  1591  	// This may be used to include null fields in Patch requests.
  1592  	NullFields []string `json:"-"`
  1593  }
  1594  
  1595  func (s *PeopleFeed) MarshalJSON() ([]byte, error) {
  1596  	type NoMethod PeopleFeed
  1597  	raw := NoMethod(*s)
  1598  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1599  }
  1600  
  1601  type Person struct {
  1602  	// AboutMe: A short biography for this person.
  1603  	AboutMe string `json:"aboutMe,omitempty"`
  1604  
  1605  	// AgeRange: The age range of the person. Valid ranges are 17 or
  1606  	// younger, 18 to 20, and 21 or older. Age is determined from the user's
  1607  	// birthday using Western age reckoning.
  1608  	AgeRange *PersonAgeRange `json:"ageRange,omitempty"`
  1609  
  1610  	// Birthday: The person's date of birth, represented as YYYY-MM-DD.
  1611  	Birthday string `json:"birthday,omitempty"`
  1612  
  1613  	// BraggingRights: The "bragging rights" line of this person.
  1614  	BraggingRights string `json:"braggingRights,omitempty"`
  1615  
  1616  	// CircledByCount: For followers who are visible, the number of people
  1617  	// who have added this person or page to a circle.
  1618  	CircledByCount int64 `json:"circledByCount,omitempty"`
  1619  
  1620  	// Cover: The cover photo content.
  1621  	Cover *PersonCover `json:"cover,omitempty"`
  1622  
  1623  	// CurrentLocation: (this field is not currently used)
  1624  	CurrentLocation string `json:"currentLocation,omitempty"`
  1625  
  1626  	// DisplayName: The name of this person, which is suitable for display.
  1627  	DisplayName string `json:"displayName,omitempty"`
  1628  
  1629  	// Domain: The hosted domain name for the user's Google Apps account.
  1630  	// For instance, example.com. The plus.profile.emails.read or email
  1631  	// scope is needed to get this domain name.
  1632  	Domain string `json:"domain,omitempty"`
  1633  
  1634  	// Emails: A list of email addresses that this person has, including
  1635  	// their Google account email address, and the public verified email
  1636  	// addresses on their Google+ profile. The plus.profile.emails.read
  1637  	// scope is needed to retrieve these email addresses, or the email scope
  1638  	// can be used to retrieve just the Google account email address.
  1639  	Emails []*PersonEmails `json:"emails,omitempty"`
  1640  
  1641  	// Etag: ETag of this response for caching purposes.
  1642  	Etag string `json:"etag,omitempty"`
  1643  
  1644  	// Gender: The person's gender. Possible values include, but are not
  1645  	// limited to, the following values:
  1646  	// - "male" - Male gender.
  1647  	// - "female" - Female gender.
  1648  	// - "other" - Other.
  1649  	Gender string `json:"gender,omitempty"`
  1650  
  1651  	// Id: The ID of this person.
  1652  	Id string `json:"id,omitempty"`
  1653  
  1654  	// Image: The representation of the person's profile photo.
  1655  	Image *PersonImage `json:"image,omitempty"`
  1656  
  1657  	// IsPlusUser: Whether this user has signed up for Google+.
  1658  	IsPlusUser bool `json:"isPlusUser,omitempty"`
  1659  
  1660  	// Kind: Identifies this resource as a person. Value: "plus#person".
  1661  	Kind string `json:"kind,omitempty"`
  1662  
  1663  	// Language: The user's preferred language for rendering.
  1664  	Language string `json:"language,omitempty"`
  1665  
  1666  	// Name: An object representation of the individual components of a
  1667  	// person's name.
  1668  	Name *PersonName `json:"name,omitempty"`
  1669  
  1670  	// Nickname: The nickname of this person.
  1671  	Nickname string `json:"nickname,omitempty"`
  1672  
  1673  	// ObjectType: Type of person within Google+. Possible values include,
  1674  	// but are not limited to, the following values:
  1675  	// - "person" - represents an actual person.
  1676  	// - "page" - represents a page.
  1677  	ObjectType string `json:"objectType,omitempty"`
  1678  
  1679  	// Occupation: The occupation of this person.
  1680  	Occupation string `json:"occupation,omitempty"`
  1681  
  1682  	// Organizations: A list of current or past organizations with which
  1683  	// this person is associated.
  1684  	Organizations []*PersonOrganizations `json:"organizations,omitempty"`
  1685  
  1686  	// PlacesLived: A list of places where this person has lived.
  1687  	PlacesLived []*PersonPlacesLived `json:"placesLived,omitempty"`
  1688  
  1689  	// PlusOneCount: If a Google+ Page, the number of people who have +1'd
  1690  	// this page.
  1691  	PlusOneCount int64 `json:"plusOneCount,omitempty"`
  1692  
  1693  	// RelationshipStatus: The person's relationship status. Possible values
  1694  	// include, but are not limited to, the following values:
  1695  	// - "single" - Person is single.
  1696  	// - "in_a_relationship" - Person is in a relationship.
  1697  	// - "engaged" - Person is engaged.
  1698  	// - "married" - Person is married.
  1699  	// - "its_complicated" - The relationship is complicated.
  1700  	// - "open_relationship" - Person is in an open relationship.
  1701  	// - "widowed" - Person is widowed.
  1702  	// - "in_domestic_partnership" - Person is in a domestic partnership.
  1703  	// - "in_civil_union" - Person is in a civil union.
  1704  	RelationshipStatus string `json:"relationshipStatus,omitempty"`
  1705  
  1706  	// Skills: The person's skills.
  1707  	Skills string `json:"skills,omitempty"`
  1708  
  1709  	// Tagline: The brief description (tagline) of this person.
  1710  	Tagline string `json:"tagline,omitempty"`
  1711  
  1712  	// Url: The URL of this person's profile.
  1713  	Url string `json:"url,omitempty"`
  1714  
  1715  	// Urls: A list of URLs for this person.
  1716  	Urls []*PersonUrls `json:"urls,omitempty"`
  1717  
  1718  	// Verified: Whether the person or Google+ Page has been verified.
  1719  	Verified bool `json:"verified,omitempty"`
  1720  
  1721  	// ServerResponse contains the HTTP response code and headers from the
  1722  	// server.
  1723  	googleapi.ServerResponse `json:"-"`
  1724  
  1725  	// ForceSendFields is a list of field names (e.g. "AboutMe") to
  1726  	// unconditionally include in API requests. By default, fields with
  1727  	// empty values are omitted from API requests. However, any non-pointer,
  1728  	// non-interface field appearing in ForceSendFields will be sent to the
  1729  	// server regardless of whether the field is empty or not. This may be
  1730  	// used to include empty fields in Patch requests.
  1731  	ForceSendFields []string `json:"-"`
  1732  
  1733  	// NullFields is a list of field names (e.g. "AboutMe") to include in
  1734  	// API requests with the JSON null value. By default, fields with empty
  1735  	// values are omitted from API requests. However, any field with an
  1736  	// empty value appearing in NullFields will be sent to the server as
  1737  	// null. It is an error if a field in this list has a non-empty value.
  1738  	// This may be used to include null fields in Patch requests.
  1739  	NullFields []string `json:"-"`
  1740  }
  1741  
  1742  func (s *Person) MarshalJSON() ([]byte, error) {
  1743  	type NoMethod Person
  1744  	raw := NoMethod(*s)
  1745  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1746  }
  1747  
  1748  // PersonAgeRange: The age range of the person. Valid ranges are 17 or
  1749  // younger, 18 to 20, and 21 or older. Age is determined from the user's
  1750  // birthday using Western age reckoning.
  1751  type PersonAgeRange struct {
  1752  	// Max: The age range's upper bound, if any. Possible values include,
  1753  	// but are not limited to, the following:
  1754  	// - "17" - for age 17
  1755  	// - "20" - for age 20
  1756  	Max int64 `json:"max,omitempty"`
  1757  
  1758  	// Min: The age range's lower bound, if any. Possible values include,
  1759  	// but are not limited to, the following:
  1760  	// - "21" - for age 21
  1761  	// - "18" - for age 18
  1762  	Min int64 `json:"min,omitempty"`
  1763  
  1764  	// ForceSendFields is a list of field names (e.g. "Max") to
  1765  	// unconditionally include in API requests. By default, fields with
  1766  	// empty values are omitted from API requests. However, any non-pointer,
  1767  	// non-interface field appearing in ForceSendFields will be sent to the
  1768  	// server regardless of whether the field is empty or not. This may be
  1769  	// used to include empty fields in Patch requests.
  1770  	ForceSendFields []string `json:"-"`
  1771  
  1772  	// NullFields is a list of field names (e.g. "Max") to include in API
  1773  	// requests with the JSON null value. By default, fields with empty
  1774  	// values are omitted from API requests. However, any field with an
  1775  	// empty value appearing in NullFields will be sent to the server as
  1776  	// null. It is an error if a field in this list has a non-empty value.
  1777  	// This may be used to include null fields in Patch requests.
  1778  	NullFields []string `json:"-"`
  1779  }
  1780  
  1781  func (s *PersonAgeRange) MarshalJSON() ([]byte, error) {
  1782  	type NoMethod PersonAgeRange
  1783  	raw := NoMethod(*s)
  1784  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1785  }
  1786  
  1787  // PersonCover: The cover photo content.
  1788  type PersonCover struct {
  1789  	// CoverInfo: Extra information about the cover photo.
  1790  	CoverInfo *PersonCoverCoverInfo `json:"coverInfo,omitempty"`
  1791  
  1792  	// CoverPhoto: The person's primary cover image.
  1793  	CoverPhoto *PersonCoverCoverPhoto `json:"coverPhoto,omitempty"`
  1794  
  1795  	// Layout: The layout of the cover art. Possible values include, but are
  1796  	// not limited to, the following values:
  1797  	// - "banner" - One large image banner.
  1798  	Layout string `json:"layout,omitempty"`
  1799  
  1800  	// ForceSendFields is a list of field names (e.g. "CoverInfo") to
  1801  	// unconditionally include in API requests. By default, fields with
  1802  	// empty values are omitted from API requests. However, any non-pointer,
  1803  	// non-interface field appearing in ForceSendFields will be sent to the
  1804  	// server regardless of whether the field is empty or not. This may be
  1805  	// used to include empty fields in Patch requests.
  1806  	ForceSendFields []string `json:"-"`
  1807  
  1808  	// NullFields is a list of field names (e.g. "CoverInfo") to include in
  1809  	// API requests with the JSON null value. By default, fields with empty
  1810  	// values are omitted from API requests. However, any field with an
  1811  	// empty value appearing in NullFields will be sent to the server as
  1812  	// null. It is an error if a field in this list has a non-empty value.
  1813  	// This may be used to include null fields in Patch requests.
  1814  	NullFields []string `json:"-"`
  1815  }
  1816  
  1817  func (s *PersonCover) MarshalJSON() ([]byte, error) {
  1818  	type NoMethod PersonCover
  1819  	raw := NoMethod(*s)
  1820  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1821  }
  1822  
  1823  // PersonCoverCoverInfo: Extra information about the cover photo.
  1824  type PersonCoverCoverInfo struct {
  1825  	// LeftImageOffset: The difference between the left position of the
  1826  	// cover image and the actual displayed cover image. Only valid for
  1827  	// banner layout.
  1828  	LeftImageOffset int64 `json:"leftImageOffset,omitempty"`
  1829  
  1830  	// TopImageOffset: The difference between the top position of the cover
  1831  	// image and the actual displayed cover image. Only valid for banner
  1832  	// layout.
  1833  	TopImageOffset int64 `json:"topImageOffset,omitempty"`
  1834  
  1835  	// ForceSendFields is a list of field names (e.g. "LeftImageOffset") to
  1836  	// unconditionally include in API requests. By default, fields with
  1837  	// empty values are omitted from API requests. However, any non-pointer,
  1838  	// non-interface field appearing in ForceSendFields will be sent to the
  1839  	// server regardless of whether the field is empty or not. This may be
  1840  	// used to include empty fields in Patch requests.
  1841  	ForceSendFields []string `json:"-"`
  1842  
  1843  	// NullFields is a list of field names (e.g. "LeftImageOffset") to
  1844  	// include in API requests with the JSON null value. By default, fields
  1845  	// with empty values are omitted from API requests. However, any field
  1846  	// with an empty value appearing in NullFields will be sent to the
  1847  	// server as null. It is an error if a field in this list has a
  1848  	// non-empty value. This may be used to include null fields in Patch
  1849  	// requests.
  1850  	NullFields []string `json:"-"`
  1851  }
  1852  
  1853  func (s *PersonCoverCoverInfo) MarshalJSON() ([]byte, error) {
  1854  	type NoMethod PersonCoverCoverInfo
  1855  	raw := NoMethod(*s)
  1856  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1857  }
  1858  
  1859  // PersonCoverCoverPhoto: The person's primary cover image.
  1860  type PersonCoverCoverPhoto struct {
  1861  	// Height: The height of the image.
  1862  	Height int64 `json:"height,omitempty"`
  1863  
  1864  	// Url: The URL of the image.
  1865  	Url string `json:"url,omitempty"`
  1866  
  1867  	// Width: The width of the image.
  1868  	Width int64 `json:"width,omitempty"`
  1869  
  1870  	// ForceSendFields is a list of field names (e.g. "Height") to
  1871  	// unconditionally include in API requests. By default, fields with
  1872  	// empty values are omitted from API requests. However, any non-pointer,
  1873  	// non-interface field appearing in ForceSendFields will be sent to the
  1874  	// server regardless of whether the field is empty or not. This may be
  1875  	// used to include empty fields in Patch requests.
  1876  	ForceSendFields []string `json:"-"`
  1877  
  1878  	// NullFields is a list of field names (e.g. "Height") to include in API
  1879  	// requests with the JSON null value. By default, fields with empty
  1880  	// values are omitted from API requests. However, any field with an
  1881  	// empty value appearing in NullFields will be sent to the server as
  1882  	// null. It is an error if a field in this list has a non-empty value.
  1883  	// This may be used to include null fields in Patch requests.
  1884  	NullFields []string `json:"-"`
  1885  }
  1886  
  1887  func (s *PersonCoverCoverPhoto) MarshalJSON() ([]byte, error) {
  1888  	type NoMethod PersonCoverCoverPhoto
  1889  	raw := NoMethod(*s)
  1890  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1891  }
  1892  
  1893  type PersonEmails struct {
  1894  	// Type: The type of address. Possible values include, but are not
  1895  	// limited to, the following values:
  1896  	// - "account" - Google account email address.
  1897  	// - "home" - Home email address.
  1898  	// - "work" - Work email address.
  1899  	// - "other" - Other.
  1900  	Type string `json:"type,omitempty"`
  1901  
  1902  	// Value: The email address.
  1903  	Value string `json:"value,omitempty"`
  1904  
  1905  	// ForceSendFields is a list of field names (e.g. "Type") to
  1906  	// unconditionally include in API requests. By default, fields with
  1907  	// empty values are omitted from API requests. However, any non-pointer,
  1908  	// non-interface field appearing in ForceSendFields will be sent to the
  1909  	// server regardless of whether the field is empty or not. This may be
  1910  	// used to include empty fields in Patch requests.
  1911  	ForceSendFields []string `json:"-"`
  1912  
  1913  	// NullFields is a list of field names (e.g. "Type") to include in API
  1914  	// requests with the JSON null value. By default, fields with empty
  1915  	// values are omitted from API requests. However, any field with an
  1916  	// empty value appearing in NullFields will be sent to the server as
  1917  	// null. It is an error if a field in this list has a non-empty value.
  1918  	// This may be used to include null fields in Patch requests.
  1919  	NullFields []string `json:"-"`
  1920  }
  1921  
  1922  func (s *PersonEmails) MarshalJSON() ([]byte, error) {
  1923  	type NoMethod PersonEmails
  1924  	raw := NoMethod(*s)
  1925  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1926  }
  1927  
  1928  // PersonImage: The representation of the person's profile photo.
  1929  type PersonImage struct {
  1930  	// IsDefault: Whether the person's profile photo is the default one
  1931  	IsDefault bool `json:"isDefault,omitempty"`
  1932  
  1933  	// Url: The URL of the person's profile photo. To resize the image and
  1934  	// crop it to a square, append the query string ?sz=x, where x is the
  1935  	// dimension in pixels of each side.
  1936  	Url string `json:"url,omitempty"`
  1937  
  1938  	// ForceSendFields is a list of field names (e.g. "IsDefault") to
  1939  	// unconditionally include in API requests. By default, fields with
  1940  	// empty values are omitted from API requests. However, any non-pointer,
  1941  	// non-interface field appearing in ForceSendFields will be sent to the
  1942  	// server regardless of whether the field is empty or not. This may be
  1943  	// used to include empty fields in Patch requests.
  1944  	ForceSendFields []string `json:"-"`
  1945  
  1946  	// NullFields is a list of field names (e.g. "IsDefault") to include in
  1947  	// API requests with the JSON null value. By default, fields with empty
  1948  	// values are omitted from API requests. However, any field with an
  1949  	// empty value appearing in NullFields will be sent to the server as
  1950  	// null. It is an error if a field in this list has a non-empty value.
  1951  	// This may be used to include null fields in Patch requests.
  1952  	NullFields []string `json:"-"`
  1953  }
  1954  
  1955  func (s *PersonImage) MarshalJSON() ([]byte, error) {
  1956  	type NoMethod PersonImage
  1957  	raw := NoMethod(*s)
  1958  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1959  }
  1960  
  1961  // PersonName: An object representation of the individual components of
  1962  // a person's name.
  1963  type PersonName struct {
  1964  	// FamilyName: The family name (last name) of this person.
  1965  	FamilyName string `json:"familyName,omitempty"`
  1966  
  1967  	// Formatted: The full name of this person, including middle names,
  1968  	// suffixes, etc.
  1969  	Formatted string `json:"formatted,omitempty"`
  1970  
  1971  	// GivenName: The given name (first name) of this person.
  1972  	GivenName string `json:"givenName,omitempty"`
  1973  
  1974  	// HonorificPrefix: The honorific prefixes (such as "Dr." or "Mrs.") for
  1975  	// this person.
  1976  	HonorificPrefix string `json:"honorificPrefix,omitempty"`
  1977  
  1978  	// HonorificSuffix: The honorific suffixes (such as "Jr.") for this
  1979  	// person.
  1980  	HonorificSuffix string `json:"honorificSuffix,omitempty"`
  1981  
  1982  	// MiddleName: The middle name of this person.
  1983  	MiddleName string `json:"middleName,omitempty"`
  1984  
  1985  	// ForceSendFields is a list of field names (e.g. "FamilyName") to
  1986  	// unconditionally include in API requests. By default, fields with
  1987  	// empty values are omitted from API requests. However, any non-pointer,
  1988  	// non-interface field appearing in ForceSendFields will be sent to the
  1989  	// server regardless of whether the field is empty or not. This may be
  1990  	// used to include empty fields in Patch requests.
  1991  	ForceSendFields []string `json:"-"`
  1992  
  1993  	// NullFields is a list of field names (e.g. "FamilyName") to include in
  1994  	// API requests with the JSON null value. By default, fields with empty
  1995  	// values are omitted from API requests. However, any field with an
  1996  	// empty value appearing in NullFields will be sent to the server as
  1997  	// null. It is an error if a field in this list has a non-empty value.
  1998  	// This may be used to include null fields in Patch requests.
  1999  	NullFields []string `json:"-"`
  2000  }
  2001  
  2002  func (s *PersonName) MarshalJSON() ([]byte, error) {
  2003  	type NoMethod PersonName
  2004  	raw := NoMethod(*s)
  2005  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2006  }
  2007  
  2008  type PersonOrganizations struct {
  2009  	// Department: The department within the organization. Deprecated.
  2010  	Department string `json:"department,omitempty"`
  2011  
  2012  	// Description: A short description of the person's role in this
  2013  	// organization. Deprecated.
  2014  	Description string `json:"description,omitempty"`
  2015  
  2016  	// EndDate: The date that the person left this organization.
  2017  	EndDate string `json:"endDate,omitempty"`
  2018  
  2019  	// Location: The location of this organization. Deprecated.
  2020  	Location string `json:"location,omitempty"`
  2021  
  2022  	// Name: The name of the organization.
  2023  	Name string `json:"name,omitempty"`
  2024  
  2025  	// Primary: If "true", indicates this organization is the person's
  2026  	// primary one, which is typically interpreted as the current one.
  2027  	Primary bool `json:"primary,omitempty"`
  2028  
  2029  	// StartDate: The date that the person joined this organization.
  2030  	StartDate string `json:"startDate,omitempty"`
  2031  
  2032  	// Title: The person's job title or role within the organization.
  2033  	Title string `json:"title,omitempty"`
  2034  
  2035  	// Type: The type of organization. Possible values include, but are not
  2036  	// limited to, the following values:
  2037  	// - "work" - Work.
  2038  	// - "school" - School.
  2039  	Type string `json:"type,omitempty"`
  2040  
  2041  	// ForceSendFields is a list of field names (e.g. "Department") to
  2042  	// unconditionally include in API requests. By default, fields with
  2043  	// empty values are omitted from API requests. However, any non-pointer,
  2044  	// non-interface field appearing in ForceSendFields will be sent to the
  2045  	// server regardless of whether the field is empty or not. This may be
  2046  	// used to include empty fields in Patch requests.
  2047  	ForceSendFields []string `json:"-"`
  2048  
  2049  	// NullFields is a list of field names (e.g. "Department") to include in
  2050  	// API requests with the JSON null value. By default, fields with empty
  2051  	// values are omitted from API requests. However, any field with an
  2052  	// empty value appearing in NullFields will be sent to the server as
  2053  	// null. It is an error if a field in this list has a non-empty value.
  2054  	// This may be used to include null fields in Patch requests.
  2055  	NullFields []string `json:"-"`
  2056  }
  2057  
  2058  func (s *PersonOrganizations) MarshalJSON() ([]byte, error) {
  2059  	type NoMethod PersonOrganizations
  2060  	raw := NoMethod(*s)
  2061  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2062  }
  2063  
  2064  type PersonPlacesLived struct {
  2065  	// Primary: If "true", this place of residence is this person's primary
  2066  	// residence.
  2067  	Primary bool `json:"primary,omitempty"`
  2068  
  2069  	// Value: A place where this person has lived. For example: "Seattle,
  2070  	// WA", "Near Toronto".
  2071  	Value string `json:"value,omitempty"`
  2072  
  2073  	// ForceSendFields is a list of field names (e.g. "Primary") to
  2074  	// unconditionally include in API requests. By default, fields with
  2075  	// empty values are omitted from API requests. However, any non-pointer,
  2076  	// non-interface field appearing in ForceSendFields will be sent to the
  2077  	// server regardless of whether the field is empty or not. This may be
  2078  	// used to include empty fields in Patch requests.
  2079  	ForceSendFields []string `json:"-"`
  2080  
  2081  	// NullFields is a list of field names (e.g. "Primary") to include in
  2082  	// API requests with the JSON null value. By default, fields with empty
  2083  	// values are omitted from API requests. However, any field with an
  2084  	// empty value appearing in NullFields will be sent to the server as
  2085  	// null. It is an error if a field in this list has a non-empty value.
  2086  	// This may be used to include null fields in Patch requests.
  2087  	NullFields []string `json:"-"`
  2088  }
  2089  
  2090  func (s *PersonPlacesLived) MarshalJSON() ([]byte, error) {
  2091  	type NoMethod PersonPlacesLived
  2092  	raw := NoMethod(*s)
  2093  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2094  }
  2095  
  2096  type PersonUrls struct {
  2097  	// Label: The label of the URL.
  2098  	Label string `json:"label,omitempty"`
  2099  
  2100  	// Type: The type of URL. Possible values include, but are not limited
  2101  	// to, the following values:
  2102  	// - "otherProfile" - URL for another profile.
  2103  	// - "contributor" - URL to a site for which this person is a
  2104  	// contributor.
  2105  	// - "website" - URL for this Google+ Page's primary website.
  2106  	// - "other" - Other URL.
  2107  	Type string `json:"type,omitempty"`
  2108  
  2109  	// Value: The URL value.
  2110  	Value string `json:"value,omitempty"`
  2111  
  2112  	// ForceSendFields is a list of field names (e.g. "Label") to
  2113  	// unconditionally include in API requests. By default, fields with
  2114  	// empty values are omitted from API requests. However, any non-pointer,
  2115  	// non-interface field appearing in ForceSendFields will be sent to the
  2116  	// server regardless of whether the field is empty or not. This may be
  2117  	// used to include empty fields in Patch requests.
  2118  	ForceSendFields []string `json:"-"`
  2119  
  2120  	// NullFields is a list of field names (e.g. "Label") to include in API
  2121  	// requests with the JSON null value. By default, fields with empty
  2122  	// values are omitted from API requests. However, any field with an
  2123  	// empty value appearing in NullFields will be sent to the server as
  2124  	// null. It is an error if a field in this list has a non-empty value.
  2125  	// This may be used to include null fields in Patch requests.
  2126  	NullFields []string `json:"-"`
  2127  }
  2128  
  2129  func (s *PersonUrls) MarshalJSON() ([]byte, error) {
  2130  	type NoMethod PersonUrls
  2131  	raw := NoMethod(*s)
  2132  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2133  }
  2134  
  2135  type Place struct {
  2136  	// Address: The physical address of the place.
  2137  	Address *PlaceAddress `json:"address,omitempty"`
  2138  
  2139  	// DisplayName: The display name of the place.
  2140  	DisplayName string `json:"displayName,omitempty"`
  2141  
  2142  	// Id: The id of the place.
  2143  	Id string `json:"id,omitempty"`
  2144  
  2145  	// Kind: Identifies this resource as a place. Value: "plus#place".
  2146  	Kind string `json:"kind,omitempty"`
  2147  
  2148  	// Position: The position of the place.
  2149  	Position *PlacePosition `json:"position,omitempty"`
  2150  
  2151  	// ForceSendFields is a list of field names (e.g. "Address") to
  2152  	// unconditionally include in API requests. By default, fields with
  2153  	// empty values are omitted from API requests. However, any non-pointer,
  2154  	// non-interface field appearing in ForceSendFields will be sent to the
  2155  	// server regardless of whether the field is empty or not. This may be
  2156  	// used to include empty fields in Patch requests.
  2157  	ForceSendFields []string `json:"-"`
  2158  
  2159  	// NullFields is a list of field names (e.g. "Address") to include in
  2160  	// API requests with the JSON null value. By default, fields with empty
  2161  	// values are omitted from API requests. However, any field with an
  2162  	// empty value appearing in NullFields will be sent to the server as
  2163  	// null. It is an error if a field in this list has a non-empty value.
  2164  	// This may be used to include null fields in Patch requests.
  2165  	NullFields []string `json:"-"`
  2166  }
  2167  
  2168  func (s *Place) MarshalJSON() ([]byte, error) {
  2169  	type NoMethod Place
  2170  	raw := NoMethod(*s)
  2171  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2172  }
  2173  
  2174  // PlaceAddress: The physical address of the place.
  2175  type PlaceAddress struct {
  2176  	// Formatted: The formatted address for display.
  2177  	Formatted string `json:"formatted,omitempty"`
  2178  
  2179  	// ForceSendFields is a list of field names (e.g. "Formatted") to
  2180  	// unconditionally include in API requests. By default, fields with
  2181  	// empty values are omitted from API requests. However, any non-pointer,
  2182  	// non-interface field appearing in ForceSendFields will be sent to the
  2183  	// server regardless of whether the field is empty or not. This may be
  2184  	// used to include empty fields in Patch requests.
  2185  	ForceSendFields []string `json:"-"`
  2186  
  2187  	// NullFields is a list of field names (e.g. "Formatted") to include in
  2188  	// API requests with the JSON null value. By default, fields with empty
  2189  	// values are omitted from API requests. However, any field with an
  2190  	// empty value appearing in NullFields will be sent to the server as
  2191  	// null. It is an error if a field in this list has a non-empty value.
  2192  	// This may be used to include null fields in Patch requests.
  2193  	NullFields []string `json:"-"`
  2194  }
  2195  
  2196  func (s *PlaceAddress) MarshalJSON() ([]byte, error) {
  2197  	type NoMethod PlaceAddress
  2198  	raw := NoMethod(*s)
  2199  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2200  }
  2201  
  2202  // PlacePosition: The position of the place.
  2203  type PlacePosition struct {
  2204  	// Latitude: The latitude of this position.
  2205  	Latitude float64 `json:"latitude,omitempty"`
  2206  
  2207  	// Longitude: The longitude of this position.
  2208  	Longitude float64 `json:"longitude,omitempty"`
  2209  
  2210  	// ForceSendFields is a list of field names (e.g. "Latitude") to
  2211  	// unconditionally include in API requests. By default, fields with
  2212  	// empty values are omitted from API requests. However, any non-pointer,
  2213  	// non-interface field appearing in ForceSendFields will be sent to the
  2214  	// server regardless of whether the field is empty or not. This may be
  2215  	// used to include empty fields in Patch requests.
  2216  	ForceSendFields []string `json:"-"`
  2217  
  2218  	// NullFields is a list of field names (e.g. "Latitude") to include in
  2219  	// API requests with the JSON null value. By default, fields with empty
  2220  	// values are omitted from API requests. However, any field with an
  2221  	// empty value appearing in NullFields will be sent to the server as
  2222  	// null. It is an error if a field in this list has a non-empty value.
  2223  	// This may be used to include null fields in Patch requests.
  2224  	NullFields []string `json:"-"`
  2225  }
  2226  
  2227  func (s *PlacePosition) MarshalJSON() ([]byte, error) {
  2228  	type NoMethod PlacePosition
  2229  	raw := NoMethod(*s)
  2230  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2231  }
  2232  
  2233  func (s *PlacePosition) UnmarshalJSON(data []byte) error {
  2234  	type NoMethod PlacePosition
  2235  	var s1 struct {
  2236  		Latitude  gensupport.JSONFloat64 `json:"latitude"`
  2237  		Longitude gensupport.JSONFloat64 `json:"longitude"`
  2238  		*NoMethod
  2239  	}
  2240  	s1.NoMethod = (*NoMethod)(s)
  2241  	if err := json.Unmarshal(data, &s1); err != nil {
  2242  		return err
  2243  	}
  2244  	s.Latitude = float64(s1.Latitude)
  2245  	s.Longitude = float64(s1.Longitude)
  2246  	return nil
  2247  }
  2248  
  2249  type PlusAclentryResource struct {
  2250  	// DisplayName: A descriptive name for this entry. Suitable for display.
  2251  	DisplayName string `json:"displayName,omitempty"`
  2252  
  2253  	// Id: The ID of the entry. For entries of type "person" or "circle",
  2254  	// this is the ID of the resource. For other types, this property is not
  2255  	// set.
  2256  	Id string `json:"id,omitempty"`
  2257  
  2258  	// Type: The type of entry describing to whom access is granted.
  2259  	// Possible values are:
  2260  	// - "person" - Access to an individual.
  2261  	// - "circle" - Access to members of a circle.
  2262  	// - "myCircles" - Access to members of all the person's circles.
  2263  	// - "extendedCircles" - Access to members of all the person's circles,
  2264  	// plus all of the people in their circles.
  2265  	// - "domain" - Access to members of the person's Google Apps domain.
  2266  	// - "public" - Access to anyone on the web.
  2267  	Type string `json:"type,omitempty"`
  2268  
  2269  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  2270  	// unconditionally include in API requests. By default, fields with
  2271  	// empty values are omitted from API requests. However, any non-pointer,
  2272  	// non-interface field appearing in ForceSendFields will be sent to the
  2273  	// server regardless of whether the field is empty or not. This may be
  2274  	// used to include empty fields in Patch requests.
  2275  	ForceSendFields []string `json:"-"`
  2276  
  2277  	// NullFields is a list of field names (e.g. "DisplayName") to include
  2278  	// in API requests with the JSON null value. By default, fields with
  2279  	// empty values are omitted from API requests. However, any field with
  2280  	// an empty value appearing in NullFields will be sent to the server as
  2281  	// null. It is an error if a field in this list has a non-empty value.
  2282  	// This may be used to include null fields in Patch requests.
  2283  	NullFields []string `json:"-"`
  2284  }
  2285  
  2286  func (s *PlusAclentryResource) MarshalJSON() ([]byte, error) {
  2287  	type NoMethod PlusAclentryResource
  2288  	raw := NoMethod(*s)
  2289  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2290  }
  2291  
  2292  // method id "plus.activities.get":
  2293  
  2294  type ActivitiesGetCall struct {
  2295  	s            *Service
  2296  	activityId   string
  2297  	urlParams_   gensupport.URLParams
  2298  	ifNoneMatch_ string
  2299  	ctx_         context.Context
  2300  	header_      http.Header
  2301  }
  2302  
  2303  // Get: Shut down. See https://developers.google.com/+/api-shutdown for
  2304  // more details.
  2305  func (r *ActivitiesService) Get(activityId string) *ActivitiesGetCall {
  2306  	c := &ActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2307  	c.activityId = activityId
  2308  	return c
  2309  }
  2310  
  2311  // Fields allows partial responses to be retrieved. See
  2312  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  2313  // for more information.
  2314  func (c *ActivitiesGetCall) Fields(s ...googleapi.Field) *ActivitiesGetCall {
  2315  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2316  	return c
  2317  }
  2318  
  2319  // IfNoneMatch sets the optional parameter which makes the operation
  2320  // fail if the object's ETag matches the given value. This is useful for
  2321  // getting updates only after the object has changed since the last
  2322  // request. Use googleapi.IsNotModified to check whether the response
  2323  // error from Do is the result of In-None-Match.
  2324  func (c *ActivitiesGetCall) IfNoneMatch(entityTag string) *ActivitiesGetCall {
  2325  	c.ifNoneMatch_ = entityTag
  2326  	return c
  2327  }
  2328  
  2329  // Context sets the context to be used in this call's Do method. Any
  2330  // pending HTTP request will be aborted if the provided context is
  2331  // canceled.
  2332  func (c *ActivitiesGetCall) Context(ctx context.Context) *ActivitiesGetCall {
  2333  	c.ctx_ = ctx
  2334  	return c
  2335  }
  2336  
  2337  // Header returns an http.Header that can be modified by the caller to
  2338  // add HTTP headers to the request.
  2339  func (c *ActivitiesGetCall) Header() http.Header {
  2340  	if c.header_ == nil {
  2341  		c.header_ = make(http.Header)
  2342  	}
  2343  	return c.header_
  2344  }
  2345  
  2346  func (c *ActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
  2347  	reqHeaders := make(http.Header)
  2348  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200916")
  2349  	for k, v := range c.header_ {
  2350  		reqHeaders[k] = v
  2351  	}
  2352  	reqHeaders.Set("User-Agent", c.s.userAgent())
  2353  	if c.ifNoneMatch_ != "" {
  2354  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2355  	}
  2356  	var body io.Reader = nil
  2357  	c.urlParams_.Set("alt", alt)
  2358  	c.urlParams_.Set("prettyPrint", "false")
  2359  	urls := googleapi.ResolveRelative(c.s.BasePath, "activities/{activityId}")
  2360  	urls += "?" + c.urlParams_.Encode()
  2361  	req, err := http.NewRequest("GET", urls, body)
  2362  	if err != nil {
  2363  		return nil, err
  2364  	}
  2365  	req.Header = reqHeaders
  2366  	googleapi.Expand(req.URL, map[string]string{
  2367  		"activityId": c.activityId,
  2368  	})
  2369  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2370  }
  2371  
  2372  // Do executes the "plus.activities.get" call.
  2373  // Exactly one of *Activity or error will be non-nil. Any non-2xx status
  2374  // code is an error. Response headers are in either
  2375  // *Activity.ServerResponse.Header or (if a response was returned at
  2376  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  2377  // to check whether the returned error was because
  2378  // http.StatusNotModified was returned.
  2379  func (c *ActivitiesGetCall) Do(opts ...googleapi.CallOption) (*Activity, error) {
  2380  	gensupport.SetOptions(c.urlParams_, opts...)
  2381  	res, err := c.doRequest("json")
  2382  	if res != nil && res.StatusCode == http.StatusNotModified {
  2383  		if res.Body != nil {
  2384  			res.Body.Close()
  2385  		}
  2386  		return nil, &googleapi.Error{
  2387  			Code:   res.StatusCode,
  2388  			Header: res.Header,
  2389  		}
  2390  	}
  2391  	if err != nil {
  2392  		return nil, err
  2393  	}
  2394  	defer googleapi.CloseBody(res)
  2395  	if err := googleapi.CheckResponse(res); err != nil {
  2396  		return nil, err
  2397  	}
  2398  	ret := &Activity{
  2399  		ServerResponse: googleapi.ServerResponse{
  2400  			Header:         res.Header,
  2401  			HTTPStatusCode: res.StatusCode,
  2402  		},
  2403  	}
  2404  	target := &ret
  2405  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2406  		return nil, err
  2407  	}
  2408  	return ret, nil
  2409  	// {
  2410  	//   "description": "Shut down. See https://developers.google.com/+/api-shutdown for more details.",
  2411  	//   "httpMethod": "GET",
  2412  	//   "id": "plus.activities.get",
  2413  	//   "parameterOrder": [
  2414  	//     "activityId"
  2415  	//   ],
  2416  	//   "parameters": {
  2417  	//     "activityId": {
  2418  	//       "description": "The ID of the activity to get.",
  2419  	//       "location": "path",
  2420  	//       "required": true,
  2421  	//       "type": "string"
  2422  	//     }
  2423  	//   },
  2424  	//   "path": "activities/{activityId}",
  2425  	//   "response": {
  2426  	//     "$ref": "Activity"
  2427  	//   },
  2428  	//   "scopes": [
  2429  	//     "https://www.googleapis.com/auth/plus.login",
  2430  	//     "https://www.googleapis.com/auth/plus.me"
  2431  	//   ]
  2432  	// }
  2433  
  2434  }
  2435  
  2436  // method id "plus.activities.list":
  2437  
  2438  type ActivitiesListCall struct {
  2439  	s            *Service
  2440  	userId       string
  2441  	collection   string
  2442  	urlParams_   gensupport.URLParams
  2443  	ifNoneMatch_ string
  2444  	ctx_         context.Context
  2445  	header_      http.Header
  2446  }
  2447  
  2448  // List: Shut down. See https://developers.google.com/+/api-shutdown for
  2449  // more details.
  2450  func (r *ActivitiesService) List(userId string, collection string) *ActivitiesListCall {
  2451  	c := &ActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2452  	c.userId = userId
  2453  	c.collection = collection
  2454  	return c
  2455  }
  2456  
  2457  // MaxResults sets the optional parameter "maxResults": The maximum
  2458  // number of activities to include in the response, which is used for
  2459  // paging. For any response, the actual number returned might be less
  2460  // than the specified maxResults.
  2461  func (c *ActivitiesListCall) MaxResults(maxResults int64) *ActivitiesListCall {
  2462  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  2463  	return c
  2464  }
  2465  
  2466  // PageToken sets the optional parameter "pageToken": The continuation
  2467  // token, which is used to page through large result sets. To get the
  2468  // next page of results, set this parameter to the value of
  2469  // "nextPageToken" from the previous response.
  2470  func (c *ActivitiesListCall) PageToken(pageToken string) *ActivitiesListCall {
  2471  	c.urlParams_.Set("pageToken", pageToken)
  2472  	return c
  2473  }
  2474  
  2475  // Fields allows partial responses to be retrieved. See
  2476  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  2477  // for more information.
  2478  func (c *ActivitiesListCall) Fields(s ...googleapi.Field) *ActivitiesListCall {
  2479  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2480  	return c
  2481  }
  2482  
  2483  // IfNoneMatch sets the optional parameter which makes the operation
  2484  // fail if the object's ETag matches the given value. This is useful for
  2485  // getting updates only after the object has changed since the last
  2486  // request. Use googleapi.IsNotModified to check whether the response
  2487  // error from Do is the result of In-None-Match.
  2488  func (c *ActivitiesListCall) IfNoneMatch(entityTag string) *ActivitiesListCall {
  2489  	c.ifNoneMatch_ = entityTag
  2490  	return c
  2491  }
  2492  
  2493  // Context sets the context to be used in this call's Do method. Any
  2494  // pending HTTP request will be aborted if the provided context is
  2495  // canceled.
  2496  func (c *ActivitiesListCall) Context(ctx context.Context) *ActivitiesListCall {
  2497  	c.ctx_ = ctx
  2498  	return c
  2499  }
  2500  
  2501  // Header returns an http.Header that can be modified by the caller to
  2502  // add HTTP headers to the request.
  2503  func (c *ActivitiesListCall) Header() http.Header {
  2504  	if c.header_ == nil {
  2505  		c.header_ = make(http.Header)
  2506  	}
  2507  	return c.header_
  2508  }
  2509  
  2510  func (c *ActivitiesListCall) doRequest(alt string) (*http.Response, error) {
  2511  	reqHeaders := make(http.Header)
  2512  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200916")
  2513  	for k, v := range c.header_ {
  2514  		reqHeaders[k] = v
  2515  	}
  2516  	reqHeaders.Set("User-Agent", c.s.userAgent())
  2517  	if c.ifNoneMatch_ != "" {
  2518  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2519  	}
  2520  	var body io.Reader = nil
  2521  	c.urlParams_.Set("alt", alt)
  2522  	c.urlParams_.Set("prettyPrint", "false")
  2523  	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/activities/{collection}")
  2524  	urls += "?" + c.urlParams_.Encode()
  2525  	req, err := http.NewRequest("GET", urls, body)
  2526  	if err != nil {
  2527  		return nil, err
  2528  	}
  2529  	req.Header = reqHeaders
  2530  	googleapi.Expand(req.URL, map[string]string{
  2531  		"userId":     c.userId,
  2532  		"collection": c.collection,
  2533  	})
  2534  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2535  }
  2536  
  2537  // Do executes the "plus.activities.list" call.
  2538  // Exactly one of *ActivityFeed or error will be non-nil. Any non-2xx
  2539  // status code is an error. Response headers are in either
  2540  // *ActivityFeed.ServerResponse.Header or (if a response was returned at
  2541  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  2542  // to check whether the returned error was because
  2543  // http.StatusNotModified was returned.
  2544  func (c *ActivitiesListCall) Do(opts ...googleapi.CallOption) (*ActivityFeed, error) {
  2545  	gensupport.SetOptions(c.urlParams_, opts...)
  2546  	res, err := c.doRequest("json")
  2547  	if res != nil && res.StatusCode == http.StatusNotModified {
  2548  		if res.Body != nil {
  2549  			res.Body.Close()
  2550  		}
  2551  		return nil, &googleapi.Error{
  2552  			Code:   res.StatusCode,
  2553  			Header: res.Header,
  2554  		}
  2555  	}
  2556  	if err != nil {
  2557  		return nil, err
  2558  	}
  2559  	defer googleapi.CloseBody(res)
  2560  	if err := googleapi.CheckResponse(res); err != nil {
  2561  		return nil, err
  2562  	}
  2563  	ret := &ActivityFeed{
  2564  		ServerResponse: googleapi.ServerResponse{
  2565  			Header:         res.Header,
  2566  			HTTPStatusCode: res.StatusCode,
  2567  		},
  2568  	}
  2569  	target := &ret
  2570  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2571  		return nil, err
  2572  	}
  2573  	return ret, nil
  2574  	// {
  2575  	//   "description": "Shut down. See https://developers.google.com/+/api-shutdown for more details.",
  2576  	//   "httpMethod": "GET",
  2577  	//   "id": "plus.activities.list",
  2578  	//   "parameterOrder": [
  2579  	//     "userId",
  2580  	//     "collection"
  2581  	//   ],
  2582  	//   "parameters": {
  2583  	//     "collection": {
  2584  	//       "description": "The collection of activities to list.",
  2585  	//       "enum": [
  2586  	//         "public"
  2587  	//       ],
  2588  	//       "enumDescriptions": [
  2589  	//         "All public activities created by the specified user."
  2590  	//       ],
  2591  	//       "location": "path",
  2592  	//       "required": true,
  2593  	//       "type": "string"
  2594  	//     },
  2595  	//     "maxResults": {
  2596  	//       "default": "20",
  2597  	//       "description": "The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.",
  2598  	//       "format": "uint32",
  2599  	//       "location": "query",
  2600  	//       "maximum": "100",
  2601  	//       "minimum": "1",
  2602  	//       "type": "integer"
  2603  	//     },
  2604  	//     "pageToken": {
  2605  	//       "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
  2606  	//       "location": "query",
  2607  	//       "type": "string"
  2608  	//     },
  2609  	//     "userId": {
  2610  	//       "description": "The ID of the user to get activities for. The special value \"me\" can be used to indicate the authenticated user.",
  2611  	//       "location": "path",
  2612  	//       "required": true,
  2613  	//       "type": "string"
  2614  	//     }
  2615  	//   },
  2616  	//   "path": "people/{userId}/activities/{collection}",
  2617  	//   "response": {
  2618  	//     "$ref": "ActivityFeed"
  2619  	//   },
  2620  	//   "scopes": [
  2621  	//     "https://www.googleapis.com/auth/plus.login",
  2622  	//     "https://www.googleapis.com/auth/plus.me"
  2623  	//   ]
  2624  	// }
  2625  
  2626  }
  2627  
  2628  // Pages invokes f for each page of results.
  2629  // A non-nil error returned from f will halt the iteration.
  2630  // The provided context supersedes any context provided to the Context method.
  2631  func (c *ActivitiesListCall) Pages(ctx context.Context, f func(*ActivityFeed) error) error {
  2632  	c.ctx_ = ctx
  2633  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
  2634  	for {
  2635  		x, err := c.Do()
  2636  		if err != nil {
  2637  			return err
  2638  		}
  2639  		if err := f(x); err != nil {
  2640  			return err
  2641  		}
  2642  		if x.NextPageToken == "" {
  2643  			return nil
  2644  		}
  2645  		c.PageToken(x.NextPageToken)
  2646  	}
  2647  }
  2648  
  2649  // method id "plus.activities.search":
  2650  
  2651  type ActivitiesSearchCall struct {
  2652  	s            *Service
  2653  	urlParams_   gensupport.URLParams
  2654  	ifNoneMatch_ string
  2655  	ctx_         context.Context
  2656  	header_      http.Header
  2657  }
  2658  
  2659  // Search: Shut down. See https://developers.google.com/+/api-shutdown
  2660  // for more details.
  2661  func (r *ActivitiesService) Search(query string) *ActivitiesSearchCall {
  2662  	c := &ActivitiesSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2663  	c.urlParams_.Set("query", query)
  2664  	return c
  2665  }
  2666  
  2667  // Language sets the optional parameter "language": Specify the
  2668  // preferred language to search with. See search language codes for
  2669  // available values.
  2670  func (c *ActivitiesSearchCall) Language(language string) *ActivitiesSearchCall {
  2671  	c.urlParams_.Set("language", language)
  2672  	return c
  2673  }
  2674  
  2675  // MaxResults sets the optional parameter "maxResults": The maximum
  2676  // number of activities to include in the response, which is used for
  2677  // paging. For any response, the actual number returned might be less
  2678  // than the specified maxResults.
  2679  func (c *ActivitiesSearchCall) MaxResults(maxResults int64) *ActivitiesSearchCall {
  2680  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  2681  	return c
  2682  }
  2683  
  2684  // OrderBy sets the optional parameter "orderBy": Specifies how to order
  2685  // search results.
  2686  //
  2687  // Possible values:
  2688  //
  2689  //	"best" - Sort activities by relevance to the user, most relevant
  2690  //
  2691  // first.
  2692  //
  2693  //	"recent" (default) - Sort activities by published date, most recent
  2694  //
  2695  // first.
  2696  func (c *ActivitiesSearchCall) OrderBy(orderBy string) *ActivitiesSearchCall {
  2697  	c.urlParams_.Set("orderBy", orderBy)
  2698  	return c
  2699  }
  2700  
  2701  // PageToken sets the optional parameter "pageToken": The continuation
  2702  // token, which is used to page through large result sets. To get the
  2703  // next page of results, set this parameter to the value of
  2704  // "nextPageToken" from the previous response. This token can be of any
  2705  // length.
  2706  func (c *ActivitiesSearchCall) PageToken(pageToken string) *ActivitiesSearchCall {
  2707  	c.urlParams_.Set("pageToken", pageToken)
  2708  	return c
  2709  }
  2710  
  2711  // Fields allows partial responses to be retrieved. See
  2712  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  2713  // for more information.
  2714  func (c *ActivitiesSearchCall) Fields(s ...googleapi.Field) *ActivitiesSearchCall {
  2715  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2716  	return c
  2717  }
  2718  
  2719  // IfNoneMatch sets the optional parameter which makes the operation
  2720  // fail if the object's ETag matches the given value. This is useful for
  2721  // getting updates only after the object has changed since the last
  2722  // request. Use googleapi.IsNotModified to check whether the response
  2723  // error from Do is the result of In-None-Match.
  2724  func (c *ActivitiesSearchCall) IfNoneMatch(entityTag string) *ActivitiesSearchCall {
  2725  	c.ifNoneMatch_ = entityTag
  2726  	return c
  2727  }
  2728  
  2729  // Context sets the context to be used in this call's Do method. Any
  2730  // pending HTTP request will be aborted if the provided context is
  2731  // canceled.
  2732  func (c *ActivitiesSearchCall) Context(ctx context.Context) *ActivitiesSearchCall {
  2733  	c.ctx_ = ctx
  2734  	return c
  2735  }
  2736  
  2737  // Header returns an http.Header that can be modified by the caller to
  2738  // add HTTP headers to the request.
  2739  func (c *ActivitiesSearchCall) Header() http.Header {
  2740  	if c.header_ == nil {
  2741  		c.header_ = make(http.Header)
  2742  	}
  2743  	return c.header_
  2744  }
  2745  
  2746  func (c *ActivitiesSearchCall) doRequest(alt string) (*http.Response, error) {
  2747  	reqHeaders := make(http.Header)
  2748  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200916")
  2749  	for k, v := range c.header_ {
  2750  		reqHeaders[k] = v
  2751  	}
  2752  	reqHeaders.Set("User-Agent", c.s.userAgent())
  2753  	if c.ifNoneMatch_ != "" {
  2754  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2755  	}
  2756  	var body io.Reader = nil
  2757  	c.urlParams_.Set("alt", alt)
  2758  	c.urlParams_.Set("prettyPrint", "false")
  2759  	urls := googleapi.ResolveRelative(c.s.BasePath, "activities")
  2760  	urls += "?" + c.urlParams_.Encode()
  2761  	req, err := http.NewRequest("GET", urls, body)
  2762  	if err != nil {
  2763  		return nil, err
  2764  	}
  2765  	req.Header = reqHeaders
  2766  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2767  }
  2768  
  2769  // Do executes the "plus.activities.search" call.
  2770  // Exactly one of *ActivityFeed or error will be non-nil. Any non-2xx
  2771  // status code is an error. Response headers are in either
  2772  // *ActivityFeed.ServerResponse.Header or (if a response was returned at
  2773  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  2774  // to check whether the returned error was because
  2775  // http.StatusNotModified was returned.
  2776  func (c *ActivitiesSearchCall) Do(opts ...googleapi.CallOption) (*ActivityFeed, error) {
  2777  	gensupport.SetOptions(c.urlParams_, opts...)
  2778  	res, err := c.doRequest("json")
  2779  	if res != nil && res.StatusCode == http.StatusNotModified {
  2780  		if res.Body != nil {
  2781  			res.Body.Close()
  2782  		}
  2783  		return nil, &googleapi.Error{
  2784  			Code:   res.StatusCode,
  2785  			Header: res.Header,
  2786  		}
  2787  	}
  2788  	if err != nil {
  2789  		return nil, err
  2790  	}
  2791  	defer googleapi.CloseBody(res)
  2792  	if err := googleapi.CheckResponse(res); err != nil {
  2793  		return nil, err
  2794  	}
  2795  	ret := &ActivityFeed{
  2796  		ServerResponse: googleapi.ServerResponse{
  2797  			Header:         res.Header,
  2798  			HTTPStatusCode: res.StatusCode,
  2799  		},
  2800  	}
  2801  	target := &ret
  2802  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2803  		return nil, err
  2804  	}
  2805  	return ret, nil
  2806  	// {
  2807  	//   "description": "Shut down. See https://developers.google.com/+/api-shutdown for more details.",
  2808  	//   "httpMethod": "GET",
  2809  	//   "id": "plus.activities.search",
  2810  	//   "parameterOrder": [
  2811  	//     "query"
  2812  	//   ],
  2813  	//   "parameters": {
  2814  	//     "language": {
  2815  	//       "default": "en-US",
  2816  	//       "description": "Specify the preferred language to search with. See search language codes for available values.",
  2817  	//       "location": "query",
  2818  	//       "type": "string"
  2819  	//     },
  2820  	//     "maxResults": {
  2821  	//       "default": "10",
  2822  	//       "description": "The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.",
  2823  	//       "format": "uint32",
  2824  	//       "location": "query",
  2825  	//       "maximum": "20",
  2826  	//       "minimum": "1",
  2827  	//       "type": "integer"
  2828  	//     },
  2829  	//     "orderBy": {
  2830  	//       "default": "recent",
  2831  	//       "description": "Specifies how to order search results.",
  2832  	//       "enum": [
  2833  	//         "best",
  2834  	//         "recent"
  2835  	//       ],
  2836  	//       "enumDescriptions": [
  2837  	//         "Sort activities by relevance to the user, most relevant first.",
  2838  	//         "Sort activities by published date, most recent first."
  2839  	//       ],
  2840  	//       "location": "query",
  2841  	//       "type": "string"
  2842  	//     },
  2843  	//     "pageToken": {
  2844  	//       "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response. This token can be of any length.",
  2845  	//       "location": "query",
  2846  	//       "type": "string"
  2847  	//     },
  2848  	//     "query": {
  2849  	//       "description": "Full-text search query string.",
  2850  	//       "location": "query",
  2851  	//       "required": true,
  2852  	//       "type": "string"
  2853  	//     }
  2854  	//   },
  2855  	//   "path": "activities",
  2856  	//   "response": {
  2857  	//     "$ref": "ActivityFeed"
  2858  	//   },
  2859  	//   "scopes": [
  2860  	//     "https://www.googleapis.com/auth/plus.login",
  2861  	//     "https://www.googleapis.com/auth/plus.me"
  2862  	//   ]
  2863  	// }
  2864  
  2865  }
  2866  
  2867  // Pages invokes f for each page of results.
  2868  // A non-nil error returned from f will halt the iteration.
  2869  // The provided context supersedes any context provided to the Context method.
  2870  func (c *ActivitiesSearchCall) Pages(ctx context.Context, f func(*ActivityFeed) error) error {
  2871  	c.ctx_ = ctx
  2872  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
  2873  	for {
  2874  		x, err := c.Do()
  2875  		if err != nil {
  2876  			return err
  2877  		}
  2878  		if err := f(x); err != nil {
  2879  			return err
  2880  		}
  2881  		if x.NextPageToken == "" {
  2882  			return nil
  2883  		}
  2884  		c.PageToken(x.NextPageToken)
  2885  	}
  2886  }
  2887  
  2888  // method id "plus.comments.get":
  2889  
  2890  type CommentsGetCall struct {
  2891  	s            *Service
  2892  	commentId    string
  2893  	urlParams_   gensupport.URLParams
  2894  	ifNoneMatch_ string
  2895  	ctx_         context.Context
  2896  	header_      http.Header
  2897  }
  2898  
  2899  // Get: Shut down. See https://developers.google.com/+/api-shutdown for
  2900  // more details.
  2901  func (r *CommentsService) Get(commentId string) *CommentsGetCall {
  2902  	c := &CommentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2903  	c.commentId = commentId
  2904  	return c
  2905  }
  2906  
  2907  // Fields allows partial responses to be retrieved. See
  2908  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  2909  // for more information.
  2910  func (c *CommentsGetCall) Fields(s ...googleapi.Field) *CommentsGetCall {
  2911  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2912  	return c
  2913  }
  2914  
  2915  // IfNoneMatch sets the optional parameter which makes the operation
  2916  // fail if the object's ETag matches the given value. This is useful for
  2917  // getting updates only after the object has changed since the last
  2918  // request. Use googleapi.IsNotModified to check whether the response
  2919  // error from Do is the result of In-None-Match.
  2920  func (c *CommentsGetCall) IfNoneMatch(entityTag string) *CommentsGetCall {
  2921  	c.ifNoneMatch_ = entityTag
  2922  	return c
  2923  }
  2924  
  2925  // Context sets the context to be used in this call's Do method. Any
  2926  // pending HTTP request will be aborted if the provided context is
  2927  // canceled.
  2928  func (c *CommentsGetCall) Context(ctx context.Context) *CommentsGetCall {
  2929  	c.ctx_ = ctx
  2930  	return c
  2931  }
  2932  
  2933  // Header returns an http.Header that can be modified by the caller to
  2934  // add HTTP headers to the request.
  2935  func (c *CommentsGetCall) Header() http.Header {
  2936  	if c.header_ == nil {
  2937  		c.header_ = make(http.Header)
  2938  	}
  2939  	return c.header_
  2940  }
  2941  
  2942  func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
  2943  	reqHeaders := make(http.Header)
  2944  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200916")
  2945  	for k, v := range c.header_ {
  2946  		reqHeaders[k] = v
  2947  	}
  2948  	reqHeaders.Set("User-Agent", c.s.userAgent())
  2949  	if c.ifNoneMatch_ != "" {
  2950  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2951  	}
  2952  	var body io.Reader = nil
  2953  	c.urlParams_.Set("alt", alt)
  2954  	c.urlParams_.Set("prettyPrint", "false")
  2955  	urls := googleapi.ResolveRelative(c.s.BasePath, "comments/{commentId}")
  2956  	urls += "?" + c.urlParams_.Encode()
  2957  	req, err := http.NewRequest("GET", urls, body)
  2958  	if err != nil {
  2959  		return nil, err
  2960  	}
  2961  	req.Header = reqHeaders
  2962  	googleapi.Expand(req.URL, map[string]string{
  2963  		"commentId": c.commentId,
  2964  	})
  2965  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2966  }
  2967  
  2968  // Do executes the "plus.comments.get" call.
  2969  // Exactly one of *Comment or error will be non-nil. Any non-2xx status
  2970  // code is an error. Response headers are in either
  2971  // *Comment.ServerResponse.Header or (if a response was returned at all)
  2972  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  2973  // check whether the returned error was because http.StatusNotModified
  2974  // was returned.
  2975  func (c *CommentsGetCall) Do(opts ...googleapi.CallOption) (*Comment, error) {
  2976  	gensupport.SetOptions(c.urlParams_, opts...)
  2977  	res, err := c.doRequest("json")
  2978  	if res != nil && res.StatusCode == http.StatusNotModified {
  2979  		if res.Body != nil {
  2980  			res.Body.Close()
  2981  		}
  2982  		return nil, &googleapi.Error{
  2983  			Code:   res.StatusCode,
  2984  			Header: res.Header,
  2985  		}
  2986  	}
  2987  	if err != nil {
  2988  		return nil, err
  2989  	}
  2990  	defer googleapi.CloseBody(res)
  2991  	if err := googleapi.CheckResponse(res); err != nil {
  2992  		return nil, err
  2993  	}
  2994  	ret := &Comment{
  2995  		ServerResponse: googleapi.ServerResponse{
  2996  			Header:         res.Header,
  2997  			HTTPStatusCode: res.StatusCode,
  2998  		},
  2999  	}
  3000  	target := &ret
  3001  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3002  		return nil, err
  3003  	}
  3004  	return ret, nil
  3005  	// {
  3006  	//   "description": "Shut down. See https://developers.google.com/+/api-shutdown for more details.",
  3007  	//   "httpMethod": "GET",
  3008  	//   "id": "plus.comments.get",
  3009  	//   "parameterOrder": [
  3010  	//     "commentId"
  3011  	//   ],
  3012  	//   "parameters": {
  3013  	//     "commentId": {
  3014  	//       "description": "The ID of the comment to get.",
  3015  	//       "location": "path",
  3016  	//       "required": true,
  3017  	//       "type": "string"
  3018  	//     }
  3019  	//   },
  3020  	//   "path": "comments/{commentId}",
  3021  	//   "response": {
  3022  	//     "$ref": "Comment"
  3023  	//   },
  3024  	//   "scopes": [
  3025  	//     "https://www.googleapis.com/auth/plus.login",
  3026  	//     "https://www.googleapis.com/auth/plus.me"
  3027  	//   ]
  3028  	// }
  3029  
  3030  }
  3031  
  3032  // method id "plus.comments.list":
  3033  
  3034  type CommentsListCall struct {
  3035  	s            *Service
  3036  	activityId   string
  3037  	urlParams_   gensupport.URLParams
  3038  	ifNoneMatch_ string
  3039  	ctx_         context.Context
  3040  	header_      http.Header
  3041  }
  3042  
  3043  // List: Shut down. See https://developers.google.com/+/api-shutdown for
  3044  // more details.
  3045  func (r *CommentsService) List(activityId string) *CommentsListCall {
  3046  	c := &CommentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3047  	c.activityId = activityId
  3048  	return c
  3049  }
  3050  
  3051  // MaxResults sets the optional parameter "maxResults": The maximum
  3052  // number of comments to include in the response, which is used for
  3053  // paging. For any response, the actual number returned might be less
  3054  // than the specified maxResults.
  3055  func (c *CommentsListCall) MaxResults(maxResults int64) *CommentsListCall {
  3056  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  3057  	return c
  3058  }
  3059  
  3060  // PageToken sets the optional parameter "pageToken": The continuation
  3061  // token, which is used to page through large result sets. To get the
  3062  // next page of results, set this parameter to the value of
  3063  // "nextPageToken" from the previous response.
  3064  func (c *CommentsListCall) PageToken(pageToken string) *CommentsListCall {
  3065  	c.urlParams_.Set("pageToken", pageToken)
  3066  	return c
  3067  }
  3068  
  3069  // SortOrder sets the optional parameter "sortOrder": The order in which
  3070  // to sort the list of comments.
  3071  //
  3072  // Possible values:
  3073  //
  3074  //	"ascending" (default) - Sort oldest comments first.
  3075  //	"descending" - Sort newest comments first.
  3076  func (c *CommentsListCall) SortOrder(sortOrder string) *CommentsListCall {
  3077  	c.urlParams_.Set("sortOrder", sortOrder)
  3078  	return c
  3079  }
  3080  
  3081  // Fields allows partial responses to be retrieved. See
  3082  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3083  // for more information.
  3084  func (c *CommentsListCall) Fields(s ...googleapi.Field) *CommentsListCall {
  3085  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3086  	return c
  3087  }
  3088  
  3089  // IfNoneMatch sets the optional parameter which makes the operation
  3090  // fail if the object's ETag matches the given value. This is useful for
  3091  // getting updates only after the object has changed since the last
  3092  // request. Use googleapi.IsNotModified to check whether the response
  3093  // error from Do is the result of In-None-Match.
  3094  func (c *CommentsListCall) IfNoneMatch(entityTag string) *CommentsListCall {
  3095  	c.ifNoneMatch_ = entityTag
  3096  	return c
  3097  }
  3098  
  3099  // Context sets the context to be used in this call's Do method. Any
  3100  // pending HTTP request will be aborted if the provided context is
  3101  // canceled.
  3102  func (c *CommentsListCall) Context(ctx context.Context) *CommentsListCall {
  3103  	c.ctx_ = ctx
  3104  	return c
  3105  }
  3106  
  3107  // Header returns an http.Header that can be modified by the caller to
  3108  // add HTTP headers to the request.
  3109  func (c *CommentsListCall) Header() http.Header {
  3110  	if c.header_ == nil {
  3111  		c.header_ = make(http.Header)
  3112  	}
  3113  	return c.header_
  3114  }
  3115  
  3116  func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
  3117  	reqHeaders := make(http.Header)
  3118  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200916")
  3119  	for k, v := range c.header_ {
  3120  		reqHeaders[k] = v
  3121  	}
  3122  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3123  	if c.ifNoneMatch_ != "" {
  3124  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3125  	}
  3126  	var body io.Reader = nil
  3127  	c.urlParams_.Set("alt", alt)
  3128  	c.urlParams_.Set("prettyPrint", "false")
  3129  	urls := googleapi.ResolveRelative(c.s.BasePath, "activities/{activityId}/comments")
  3130  	urls += "?" + c.urlParams_.Encode()
  3131  	req, err := http.NewRequest("GET", urls, body)
  3132  	if err != nil {
  3133  		return nil, err
  3134  	}
  3135  	req.Header = reqHeaders
  3136  	googleapi.Expand(req.URL, map[string]string{
  3137  		"activityId": c.activityId,
  3138  	})
  3139  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3140  }
  3141  
  3142  // Do executes the "plus.comments.list" call.
  3143  // Exactly one of *CommentFeed or error will be non-nil. Any non-2xx
  3144  // status code is an error. Response headers are in either
  3145  // *CommentFeed.ServerResponse.Header or (if a response was returned at
  3146  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  3147  // to check whether the returned error was because
  3148  // http.StatusNotModified was returned.
  3149  func (c *CommentsListCall) Do(opts ...googleapi.CallOption) (*CommentFeed, error) {
  3150  	gensupport.SetOptions(c.urlParams_, opts...)
  3151  	res, err := c.doRequest("json")
  3152  	if res != nil && res.StatusCode == http.StatusNotModified {
  3153  		if res.Body != nil {
  3154  			res.Body.Close()
  3155  		}
  3156  		return nil, &googleapi.Error{
  3157  			Code:   res.StatusCode,
  3158  			Header: res.Header,
  3159  		}
  3160  	}
  3161  	if err != nil {
  3162  		return nil, err
  3163  	}
  3164  	defer googleapi.CloseBody(res)
  3165  	if err := googleapi.CheckResponse(res); err != nil {
  3166  		return nil, err
  3167  	}
  3168  	ret := &CommentFeed{
  3169  		ServerResponse: googleapi.ServerResponse{
  3170  			Header:         res.Header,
  3171  			HTTPStatusCode: res.StatusCode,
  3172  		},
  3173  	}
  3174  	target := &ret
  3175  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3176  		return nil, err
  3177  	}
  3178  	return ret, nil
  3179  	// {
  3180  	//   "description": "Shut down. See https://developers.google.com/+/api-shutdown for more details.",
  3181  	//   "httpMethod": "GET",
  3182  	//   "id": "plus.comments.list",
  3183  	//   "parameterOrder": [
  3184  	//     "activityId"
  3185  	//   ],
  3186  	//   "parameters": {
  3187  	//     "activityId": {
  3188  	//       "description": "The ID of the activity to get comments for.",
  3189  	//       "location": "path",
  3190  	//       "required": true,
  3191  	//       "type": "string"
  3192  	//     },
  3193  	//     "maxResults": {
  3194  	//       "default": "20",
  3195  	//       "description": "The maximum number of comments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.",
  3196  	//       "format": "uint32",
  3197  	//       "location": "query",
  3198  	//       "maximum": "500",
  3199  	//       "minimum": "0",
  3200  	//       "type": "integer"
  3201  	//     },
  3202  	//     "pageToken": {
  3203  	//       "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
  3204  	//       "location": "query",
  3205  	//       "type": "string"
  3206  	//     },
  3207  	//     "sortOrder": {
  3208  	//       "default": "ascending",
  3209  	//       "description": "The order in which to sort the list of comments.",
  3210  	//       "enum": [
  3211  	//         "ascending",
  3212  	//         "descending"
  3213  	//       ],
  3214  	//       "enumDescriptions": [
  3215  	//         "Sort oldest comments first.",
  3216  	//         "Sort newest comments first."
  3217  	//       ],
  3218  	//       "location": "query",
  3219  	//       "type": "string"
  3220  	//     }
  3221  	//   },
  3222  	//   "path": "activities/{activityId}/comments",
  3223  	//   "response": {
  3224  	//     "$ref": "CommentFeed"
  3225  	//   },
  3226  	//   "scopes": [
  3227  	//     "https://www.googleapis.com/auth/plus.login",
  3228  	//     "https://www.googleapis.com/auth/plus.me"
  3229  	//   ]
  3230  	// }
  3231  
  3232  }
  3233  
  3234  // Pages invokes f for each page of results.
  3235  // A non-nil error returned from f will halt the iteration.
  3236  // The provided context supersedes any context provided to the Context method.
  3237  func (c *CommentsListCall) Pages(ctx context.Context, f func(*CommentFeed) error) error {
  3238  	c.ctx_ = ctx
  3239  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
  3240  	for {
  3241  		x, err := c.Do()
  3242  		if err != nil {
  3243  			return err
  3244  		}
  3245  		if err := f(x); err != nil {
  3246  			return err
  3247  		}
  3248  		if x.NextPageToken == "" {
  3249  			return nil
  3250  		}
  3251  		c.PageToken(x.NextPageToken)
  3252  	}
  3253  }
  3254  
  3255  // method id "plus.people.get":
  3256  
  3257  type PeopleGetCall struct {
  3258  	s            *Service
  3259  	userId       string
  3260  	urlParams_   gensupport.URLParams
  3261  	ifNoneMatch_ string
  3262  	ctx_         context.Context
  3263  	header_      http.Header
  3264  }
  3265  
  3266  // Get: Get a person's profile. If your app uses scope
  3267  // https://www.googleapis.com/auth/plus.login, this method is guaranteed
  3268  // to return ageRange and language.
  3269  func (r *PeopleService) Get(userId string) *PeopleGetCall {
  3270  	c := &PeopleGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3271  	c.userId = userId
  3272  	return c
  3273  }
  3274  
  3275  // Fields allows partial responses to be retrieved. See
  3276  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3277  // for more information.
  3278  func (c *PeopleGetCall) Fields(s ...googleapi.Field) *PeopleGetCall {
  3279  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3280  	return c
  3281  }
  3282  
  3283  // IfNoneMatch sets the optional parameter which makes the operation
  3284  // fail if the object's ETag matches the given value. This is useful for
  3285  // getting updates only after the object has changed since the last
  3286  // request. Use googleapi.IsNotModified to check whether the response
  3287  // error from Do is the result of In-None-Match.
  3288  func (c *PeopleGetCall) IfNoneMatch(entityTag string) *PeopleGetCall {
  3289  	c.ifNoneMatch_ = entityTag
  3290  	return c
  3291  }
  3292  
  3293  // Context sets the context to be used in this call's Do method. Any
  3294  // pending HTTP request will be aborted if the provided context is
  3295  // canceled.
  3296  func (c *PeopleGetCall) Context(ctx context.Context) *PeopleGetCall {
  3297  	c.ctx_ = ctx
  3298  	return c
  3299  }
  3300  
  3301  // Header returns an http.Header that can be modified by the caller to
  3302  // add HTTP headers to the request.
  3303  func (c *PeopleGetCall) Header() http.Header {
  3304  	if c.header_ == nil {
  3305  		c.header_ = make(http.Header)
  3306  	}
  3307  	return c.header_
  3308  }
  3309  
  3310  func (c *PeopleGetCall) doRequest(alt string) (*http.Response, error) {
  3311  	reqHeaders := make(http.Header)
  3312  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200916")
  3313  	for k, v := range c.header_ {
  3314  		reqHeaders[k] = v
  3315  	}
  3316  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3317  	if c.ifNoneMatch_ != "" {
  3318  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3319  	}
  3320  	var body io.Reader = nil
  3321  	c.urlParams_.Set("alt", alt)
  3322  	c.urlParams_.Set("prettyPrint", "false")
  3323  	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}")
  3324  	urls += "?" + c.urlParams_.Encode()
  3325  	req, err := http.NewRequest("GET", urls, body)
  3326  	if err != nil {
  3327  		return nil, err
  3328  	}
  3329  	req.Header = reqHeaders
  3330  	googleapi.Expand(req.URL, map[string]string{
  3331  		"userId": c.userId,
  3332  	})
  3333  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3334  }
  3335  
  3336  // Do executes the "plus.people.get" call.
  3337  // Exactly one of *Person or error will be non-nil. Any non-2xx status
  3338  // code is an error. Response headers are in either
  3339  // *Person.ServerResponse.Header or (if a response was returned at all)
  3340  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3341  // check whether the returned error was because http.StatusNotModified
  3342  // was returned.
  3343  func (c *PeopleGetCall) Do(opts ...googleapi.CallOption) (*Person, error) {
  3344  	gensupport.SetOptions(c.urlParams_, opts...)
  3345  	res, err := c.doRequest("json")
  3346  	if res != nil && res.StatusCode == http.StatusNotModified {
  3347  		if res.Body != nil {
  3348  			res.Body.Close()
  3349  		}
  3350  		return nil, &googleapi.Error{
  3351  			Code:   res.StatusCode,
  3352  			Header: res.Header,
  3353  		}
  3354  	}
  3355  	if err != nil {
  3356  		return nil, err
  3357  	}
  3358  	defer googleapi.CloseBody(res)
  3359  	if err := googleapi.CheckResponse(res); err != nil {
  3360  		return nil, err
  3361  	}
  3362  	ret := &Person{
  3363  		ServerResponse: googleapi.ServerResponse{
  3364  			Header:         res.Header,
  3365  			HTTPStatusCode: res.StatusCode,
  3366  		},
  3367  	}
  3368  	target := &ret
  3369  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3370  		return nil, err
  3371  	}
  3372  	return ret, nil
  3373  	// {
  3374  	//   "description": "Get a person's profile. If your app uses scope https://www.googleapis.com/auth/plus.login, this method is guaranteed to return ageRange and language.",
  3375  	//   "httpMethod": "GET",
  3376  	//   "id": "plus.people.get",
  3377  	//   "parameterOrder": [
  3378  	//     "userId"
  3379  	//   ],
  3380  	//   "parameters": {
  3381  	//     "userId": {
  3382  	//       "description": "The ID of the person to get the profile for. The special value \"me\" can be used to indicate the authenticated user.",
  3383  	//       "location": "path",
  3384  	//       "required": true,
  3385  	//       "type": "string"
  3386  	//     }
  3387  	//   },
  3388  	//   "path": "people/{userId}",
  3389  	//   "response": {
  3390  	//     "$ref": "Person"
  3391  	//   },
  3392  	//   "scopes": [
  3393  	//     "https://www.googleapis.com/auth/plus.login",
  3394  	//     "https://www.googleapis.com/auth/plus.me",
  3395  	//     "https://www.googleapis.com/auth/userinfo.email",
  3396  	//     "https://www.googleapis.com/auth/userinfo.profile"
  3397  	//   ]
  3398  	// }
  3399  
  3400  }
  3401  
  3402  // method id "plus.people.list":
  3403  
  3404  type PeopleListCall struct {
  3405  	s            *Service
  3406  	userId       string
  3407  	collection   string
  3408  	urlParams_   gensupport.URLParams
  3409  	ifNoneMatch_ string
  3410  	ctx_         context.Context
  3411  	header_      http.Header
  3412  }
  3413  
  3414  // List: List all of the people in the specified collection.
  3415  func (r *PeopleService) List(userId string, collection string) *PeopleListCall {
  3416  	c := &PeopleListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3417  	c.userId = userId
  3418  	c.collection = collection
  3419  	return c
  3420  }
  3421  
  3422  // MaxResults sets the optional parameter "maxResults": The maximum
  3423  // number of people to include in the response, which is used for
  3424  // paging. For any response, the actual number returned might be less
  3425  // than the specified maxResults.
  3426  func (c *PeopleListCall) MaxResults(maxResults int64) *PeopleListCall {
  3427  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  3428  	return c
  3429  }
  3430  
  3431  // OrderBy sets the optional parameter "orderBy": The order to return
  3432  // people in.
  3433  //
  3434  // Possible values:
  3435  //
  3436  //	"alphabetical" - Order the people by their display name.
  3437  //	"best" - Order people based on the relevence to the viewer.
  3438  func (c *PeopleListCall) OrderBy(orderBy string) *PeopleListCall {
  3439  	c.urlParams_.Set("orderBy", orderBy)
  3440  	return c
  3441  }
  3442  
  3443  // PageToken sets the optional parameter "pageToken": The continuation
  3444  // token, which is used to page through large result sets. To get the
  3445  // next page of results, set this parameter to the value of
  3446  // "nextPageToken" from the previous response.
  3447  func (c *PeopleListCall) PageToken(pageToken string) *PeopleListCall {
  3448  	c.urlParams_.Set("pageToken", pageToken)
  3449  	return c
  3450  }
  3451  
  3452  // Fields allows partial responses to be retrieved. See
  3453  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3454  // for more information.
  3455  func (c *PeopleListCall) Fields(s ...googleapi.Field) *PeopleListCall {
  3456  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3457  	return c
  3458  }
  3459  
  3460  // IfNoneMatch sets the optional parameter which makes the operation
  3461  // fail if the object's ETag matches the given value. This is useful for
  3462  // getting updates only after the object has changed since the last
  3463  // request. Use googleapi.IsNotModified to check whether the response
  3464  // error from Do is the result of In-None-Match.
  3465  func (c *PeopleListCall) IfNoneMatch(entityTag string) *PeopleListCall {
  3466  	c.ifNoneMatch_ = entityTag
  3467  	return c
  3468  }
  3469  
  3470  // Context sets the context to be used in this call's Do method. Any
  3471  // pending HTTP request will be aborted if the provided context is
  3472  // canceled.
  3473  func (c *PeopleListCall) Context(ctx context.Context) *PeopleListCall {
  3474  	c.ctx_ = ctx
  3475  	return c
  3476  }
  3477  
  3478  // Header returns an http.Header that can be modified by the caller to
  3479  // add HTTP headers to the request.
  3480  func (c *PeopleListCall) Header() http.Header {
  3481  	if c.header_ == nil {
  3482  		c.header_ = make(http.Header)
  3483  	}
  3484  	return c.header_
  3485  }
  3486  
  3487  func (c *PeopleListCall) doRequest(alt string) (*http.Response, error) {
  3488  	reqHeaders := make(http.Header)
  3489  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200916")
  3490  	for k, v := range c.header_ {
  3491  		reqHeaders[k] = v
  3492  	}
  3493  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3494  	if c.ifNoneMatch_ != "" {
  3495  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3496  	}
  3497  	var body io.Reader = nil
  3498  	c.urlParams_.Set("alt", alt)
  3499  	c.urlParams_.Set("prettyPrint", "false")
  3500  	urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/people/{collection}")
  3501  	urls += "?" + c.urlParams_.Encode()
  3502  	req, err := http.NewRequest("GET", urls, body)
  3503  	if err != nil {
  3504  		return nil, err
  3505  	}
  3506  	req.Header = reqHeaders
  3507  	googleapi.Expand(req.URL, map[string]string{
  3508  		"userId":     c.userId,
  3509  		"collection": c.collection,
  3510  	})
  3511  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3512  }
  3513  
  3514  // Do executes the "plus.people.list" call.
  3515  // Exactly one of *PeopleFeed or error will be non-nil. Any non-2xx
  3516  // status code is an error. Response headers are in either
  3517  // *PeopleFeed.ServerResponse.Header or (if a response was returned at
  3518  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  3519  // to check whether the returned error was because
  3520  // http.StatusNotModified was returned.
  3521  func (c *PeopleListCall) Do(opts ...googleapi.CallOption) (*PeopleFeed, error) {
  3522  	gensupport.SetOptions(c.urlParams_, opts...)
  3523  	res, err := c.doRequest("json")
  3524  	if res != nil && res.StatusCode == http.StatusNotModified {
  3525  		if res.Body != nil {
  3526  			res.Body.Close()
  3527  		}
  3528  		return nil, &googleapi.Error{
  3529  			Code:   res.StatusCode,
  3530  			Header: res.Header,
  3531  		}
  3532  	}
  3533  	if err != nil {
  3534  		return nil, err
  3535  	}
  3536  	defer googleapi.CloseBody(res)
  3537  	if err := googleapi.CheckResponse(res); err != nil {
  3538  		return nil, err
  3539  	}
  3540  	ret := &PeopleFeed{
  3541  		ServerResponse: googleapi.ServerResponse{
  3542  			Header:         res.Header,
  3543  			HTTPStatusCode: res.StatusCode,
  3544  		},
  3545  	}
  3546  	target := &ret
  3547  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3548  		return nil, err
  3549  	}
  3550  	return ret, nil
  3551  	// {
  3552  	//   "description": "List all of the people in the specified collection.",
  3553  	//   "httpMethod": "GET",
  3554  	//   "id": "plus.people.list",
  3555  	//   "parameterOrder": [
  3556  	//     "userId",
  3557  	//     "collection"
  3558  	//   ],
  3559  	//   "parameters": {
  3560  	//     "collection": {
  3561  	//       "description": "The collection of people to list.",
  3562  	//       "enum": [
  3563  	//         "connected",
  3564  	//         "visible"
  3565  	//       ],
  3566  	//       "enumDescriptions": [
  3567  	//         "The list of visible people in the authenticated user's circles who also use the requesting app. This list is limited to users who made their app activities visible to the authenticated user.",
  3568  	//         "The list of people who this user has added to one or more circles, limited to the circles visible to the requesting application."
  3569  	//       ],
  3570  	//       "location": "path",
  3571  	//       "required": true,
  3572  	//       "type": "string"
  3573  	//     },
  3574  	//     "maxResults": {
  3575  	//       "default": "100",
  3576  	//       "description": "The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.",
  3577  	//       "format": "uint32",
  3578  	//       "location": "query",
  3579  	//       "maximum": "100",
  3580  	//       "minimum": "1",
  3581  	//       "type": "integer"
  3582  	//     },
  3583  	//     "orderBy": {
  3584  	//       "description": "The order to return people in.",
  3585  	//       "enum": [
  3586  	//         "alphabetical",
  3587  	//         "best"
  3588  	//       ],
  3589  	//       "enumDescriptions": [
  3590  	//         "Order the people by their display name.",
  3591  	//         "Order people based on the relevence to the viewer."
  3592  	//       ],
  3593  	//       "location": "query",
  3594  	//       "type": "string"
  3595  	//     },
  3596  	//     "pageToken": {
  3597  	//       "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
  3598  	//       "location": "query",
  3599  	//       "type": "string"
  3600  	//     },
  3601  	//     "userId": {
  3602  	//       "description": "Get the collection of people for the person identified. Use \"me\" to indicate the authenticated user.",
  3603  	//       "location": "path",
  3604  	//       "required": true,
  3605  	//       "type": "string"
  3606  	//     }
  3607  	//   },
  3608  	//   "path": "people/{userId}/people/{collection}",
  3609  	//   "response": {
  3610  	//     "$ref": "PeopleFeed"
  3611  	//   },
  3612  	//   "scopes": [
  3613  	//     "https://www.googleapis.com/auth/plus.login",
  3614  	//     "https://www.googleapis.com/auth/plus.me"
  3615  	//   ]
  3616  	// }
  3617  
  3618  }
  3619  
  3620  // Pages invokes f for each page of results.
  3621  // A non-nil error returned from f will halt the iteration.
  3622  // The provided context supersedes any context provided to the Context method.
  3623  func (c *PeopleListCall) Pages(ctx context.Context, f func(*PeopleFeed) error) error {
  3624  	c.ctx_ = ctx
  3625  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
  3626  	for {
  3627  		x, err := c.Do()
  3628  		if err != nil {
  3629  			return err
  3630  		}
  3631  		if err := f(x); err != nil {
  3632  			return err
  3633  		}
  3634  		if x.NextPageToken == "" {
  3635  			return nil
  3636  		}
  3637  		c.PageToken(x.NextPageToken)
  3638  	}
  3639  }
  3640  
  3641  // method id "plus.people.listByActivity":
  3642  
  3643  type PeopleListByActivityCall struct {
  3644  	s            *Service
  3645  	activityId   string
  3646  	collection   string
  3647  	urlParams_   gensupport.URLParams
  3648  	ifNoneMatch_ string
  3649  	ctx_         context.Context
  3650  	header_      http.Header
  3651  }
  3652  
  3653  // ListByActivity: Shut down. See
  3654  // https://developers.google.com/+/api-shutdown for more details.
  3655  func (r *PeopleService) ListByActivity(activityId string, collection string) *PeopleListByActivityCall {
  3656  	c := &PeopleListByActivityCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3657  	c.activityId = activityId
  3658  	c.collection = collection
  3659  	return c
  3660  }
  3661  
  3662  // MaxResults sets the optional parameter "maxResults": The maximum
  3663  // number of people to include in the response, which is used for
  3664  // paging. For any response, the actual number returned might be less
  3665  // than the specified maxResults.
  3666  func (c *PeopleListByActivityCall) MaxResults(maxResults int64) *PeopleListByActivityCall {
  3667  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  3668  	return c
  3669  }
  3670  
  3671  // PageToken sets the optional parameter "pageToken": The continuation
  3672  // token, which is used to page through large result sets. To get the
  3673  // next page of results, set this parameter to the value of
  3674  // "nextPageToken" from the previous response.
  3675  func (c *PeopleListByActivityCall) PageToken(pageToken string) *PeopleListByActivityCall {
  3676  	c.urlParams_.Set("pageToken", pageToken)
  3677  	return c
  3678  }
  3679  
  3680  // Fields allows partial responses to be retrieved. See
  3681  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3682  // for more information.
  3683  func (c *PeopleListByActivityCall) Fields(s ...googleapi.Field) *PeopleListByActivityCall {
  3684  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3685  	return c
  3686  }
  3687  
  3688  // IfNoneMatch sets the optional parameter which makes the operation
  3689  // fail if the object's ETag matches the given value. This is useful for
  3690  // getting updates only after the object has changed since the last
  3691  // request. Use googleapi.IsNotModified to check whether the response
  3692  // error from Do is the result of In-None-Match.
  3693  func (c *PeopleListByActivityCall) IfNoneMatch(entityTag string) *PeopleListByActivityCall {
  3694  	c.ifNoneMatch_ = entityTag
  3695  	return c
  3696  }
  3697  
  3698  // Context sets the context to be used in this call's Do method. Any
  3699  // pending HTTP request will be aborted if the provided context is
  3700  // canceled.
  3701  func (c *PeopleListByActivityCall) Context(ctx context.Context) *PeopleListByActivityCall {
  3702  	c.ctx_ = ctx
  3703  	return c
  3704  }
  3705  
  3706  // Header returns an http.Header that can be modified by the caller to
  3707  // add HTTP headers to the request.
  3708  func (c *PeopleListByActivityCall) Header() http.Header {
  3709  	if c.header_ == nil {
  3710  		c.header_ = make(http.Header)
  3711  	}
  3712  	return c.header_
  3713  }
  3714  
  3715  func (c *PeopleListByActivityCall) doRequest(alt string) (*http.Response, error) {
  3716  	reqHeaders := make(http.Header)
  3717  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200916")
  3718  	for k, v := range c.header_ {
  3719  		reqHeaders[k] = v
  3720  	}
  3721  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3722  	if c.ifNoneMatch_ != "" {
  3723  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3724  	}
  3725  	var body io.Reader = nil
  3726  	c.urlParams_.Set("alt", alt)
  3727  	c.urlParams_.Set("prettyPrint", "false")
  3728  	urls := googleapi.ResolveRelative(c.s.BasePath, "activities/{activityId}/people/{collection}")
  3729  	urls += "?" + c.urlParams_.Encode()
  3730  	req, err := http.NewRequest("GET", urls, body)
  3731  	if err != nil {
  3732  		return nil, err
  3733  	}
  3734  	req.Header = reqHeaders
  3735  	googleapi.Expand(req.URL, map[string]string{
  3736  		"activityId": c.activityId,
  3737  		"collection": c.collection,
  3738  	})
  3739  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3740  }
  3741  
  3742  // Do executes the "plus.people.listByActivity" call.
  3743  // Exactly one of *PeopleFeed or error will be non-nil. Any non-2xx
  3744  // status code is an error. Response headers are in either
  3745  // *PeopleFeed.ServerResponse.Header or (if a response was returned at
  3746  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  3747  // to check whether the returned error was because
  3748  // http.StatusNotModified was returned.
  3749  func (c *PeopleListByActivityCall) Do(opts ...googleapi.CallOption) (*PeopleFeed, error) {
  3750  	gensupport.SetOptions(c.urlParams_, opts...)
  3751  	res, err := c.doRequest("json")
  3752  	if res != nil && res.StatusCode == http.StatusNotModified {
  3753  		if res.Body != nil {
  3754  			res.Body.Close()
  3755  		}
  3756  		return nil, &googleapi.Error{
  3757  			Code:   res.StatusCode,
  3758  			Header: res.Header,
  3759  		}
  3760  	}
  3761  	if err != nil {
  3762  		return nil, err
  3763  	}
  3764  	defer googleapi.CloseBody(res)
  3765  	if err := googleapi.CheckResponse(res); err != nil {
  3766  		return nil, err
  3767  	}
  3768  	ret := &PeopleFeed{
  3769  		ServerResponse: googleapi.ServerResponse{
  3770  			Header:         res.Header,
  3771  			HTTPStatusCode: res.StatusCode,
  3772  		},
  3773  	}
  3774  	target := &ret
  3775  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3776  		return nil, err
  3777  	}
  3778  	return ret, nil
  3779  	// {
  3780  	//   "description": "Shut down. See https://developers.google.com/+/api-shutdown for more details.",
  3781  	//   "httpMethod": "GET",
  3782  	//   "id": "plus.people.listByActivity",
  3783  	//   "parameterOrder": [
  3784  	//     "activityId",
  3785  	//     "collection"
  3786  	//   ],
  3787  	//   "parameters": {
  3788  	//     "activityId": {
  3789  	//       "description": "The ID of the activity to get the list of people for.",
  3790  	//       "location": "path",
  3791  	//       "required": true,
  3792  	//       "type": "string"
  3793  	//     },
  3794  	//     "collection": {
  3795  	//       "description": "The collection of people to list.",
  3796  	//       "enum": [
  3797  	//         "plusoners",
  3798  	//         "resharers"
  3799  	//       ],
  3800  	//       "enumDescriptions": [
  3801  	//         "List all people who have +1'd this activity.",
  3802  	//         "List all people who have reshared this activity."
  3803  	//       ],
  3804  	//       "location": "path",
  3805  	//       "required": true,
  3806  	//       "type": "string"
  3807  	//     },
  3808  	//     "maxResults": {
  3809  	//       "default": "20",
  3810  	//       "description": "The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.",
  3811  	//       "format": "uint32",
  3812  	//       "location": "query",
  3813  	//       "maximum": "100",
  3814  	//       "minimum": "1",
  3815  	//       "type": "integer"
  3816  	//     },
  3817  	//     "pageToken": {
  3818  	//       "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
  3819  	//       "location": "query",
  3820  	//       "type": "string"
  3821  	//     }
  3822  	//   },
  3823  	//   "path": "activities/{activityId}/people/{collection}",
  3824  	//   "response": {
  3825  	//     "$ref": "PeopleFeed"
  3826  	//   },
  3827  	//   "scopes": [
  3828  	//     "https://www.googleapis.com/auth/plus.login",
  3829  	//     "https://www.googleapis.com/auth/plus.me"
  3830  	//   ]
  3831  	// }
  3832  
  3833  }
  3834  
  3835  // Pages invokes f for each page of results.
  3836  // A non-nil error returned from f will halt the iteration.
  3837  // The provided context supersedes any context provided to the Context method.
  3838  func (c *PeopleListByActivityCall) Pages(ctx context.Context, f func(*PeopleFeed) error) error {
  3839  	c.ctx_ = ctx
  3840  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
  3841  	for {
  3842  		x, err := c.Do()
  3843  		if err != nil {
  3844  			return err
  3845  		}
  3846  		if err := f(x); err != nil {
  3847  			return err
  3848  		}
  3849  		if x.NextPageToken == "" {
  3850  			return nil
  3851  		}
  3852  		c.PageToken(x.NextPageToken)
  3853  	}
  3854  }
  3855  
  3856  // method id "plus.people.search":
  3857  
  3858  type PeopleSearchCall struct {
  3859  	s            *Service
  3860  	urlParams_   gensupport.URLParams
  3861  	ifNoneMatch_ string
  3862  	ctx_         context.Context
  3863  	header_      http.Header
  3864  }
  3865  
  3866  // Search: Shut down. See https://developers.google.com/+/api-shutdown
  3867  // for more details.
  3868  func (r *PeopleService) Search(query string) *PeopleSearchCall {
  3869  	c := &PeopleSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3870  	c.urlParams_.Set("query", query)
  3871  	return c
  3872  }
  3873  
  3874  // Language sets the optional parameter "language": Specify the
  3875  // preferred language to search with. See search language codes for
  3876  // available values.
  3877  func (c *PeopleSearchCall) Language(language string) *PeopleSearchCall {
  3878  	c.urlParams_.Set("language", language)
  3879  	return c
  3880  }
  3881  
  3882  // MaxResults sets the optional parameter "maxResults": The maximum
  3883  // number of people to include in the response, which is used for
  3884  // paging. For any response, the actual number returned might be less
  3885  // than the specified maxResults.
  3886  func (c *PeopleSearchCall) MaxResults(maxResults int64) *PeopleSearchCall {
  3887  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  3888  	return c
  3889  }
  3890  
  3891  // PageToken sets the optional parameter "pageToken": The continuation
  3892  // token, which is used to page through large result sets. To get the
  3893  // next page of results, set this parameter to the value of
  3894  // "nextPageToken" from the previous response. This token can be of any
  3895  // length.
  3896  func (c *PeopleSearchCall) PageToken(pageToken string) *PeopleSearchCall {
  3897  	c.urlParams_.Set("pageToken", pageToken)
  3898  	return c
  3899  }
  3900  
  3901  // Fields allows partial responses to be retrieved. See
  3902  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3903  // for more information.
  3904  func (c *PeopleSearchCall) Fields(s ...googleapi.Field) *PeopleSearchCall {
  3905  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3906  	return c
  3907  }
  3908  
  3909  // IfNoneMatch sets the optional parameter which makes the operation
  3910  // fail if the object's ETag matches the given value. This is useful for
  3911  // getting updates only after the object has changed since the last
  3912  // request. Use googleapi.IsNotModified to check whether the response
  3913  // error from Do is the result of In-None-Match.
  3914  func (c *PeopleSearchCall) IfNoneMatch(entityTag string) *PeopleSearchCall {
  3915  	c.ifNoneMatch_ = entityTag
  3916  	return c
  3917  }
  3918  
  3919  // Context sets the context to be used in this call's Do method. Any
  3920  // pending HTTP request will be aborted if the provided context is
  3921  // canceled.
  3922  func (c *PeopleSearchCall) Context(ctx context.Context) *PeopleSearchCall {
  3923  	c.ctx_ = ctx
  3924  	return c
  3925  }
  3926  
  3927  // Header returns an http.Header that can be modified by the caller to
  3928  // add HTTP headers to the request.
  3929  func (c *PeopleSearchCall) Header() http.Header {
  3930  	if c.header_ == nil {
  3931  		c.header_ = make(http.Header)
  3932  	}
  3933  	return c.header_
  3934  }
  3935  
  3936  func (c *PeopleSearchCall) doRequest(alt string) (*http.Response, error) {
  3937  	reqHeaders := make(http.Header)
  3938  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200916")
  3939  	for k, v := range c.header_ {
  3940  		reqHeaders[k] = v
  3941  	}
  3942  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3943  	if c.ifNoneMatch_ != "" {
  3944  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3945  	}
  3946  	var body io.Reader = nil
  3947  	c.urlParams_.Set("alt", alt)
  3948  	c.urlParams_.Set("prettyPrint", "false")
  3949  	urls := googleapi.ResolveRelative(c.s.BasePath, "people")
  3950  	urls += "?" + c.urlParams_.Encode()
  3951  	req, err := http.NewRequest("GET", urls, body)
  3952  	if err != nil {
  3953  		return nil, err
  3954  	}
  3955  	req.Header = reqHeaders
  3956  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3957  }
  3958  
  3959  // Do executes the "plus.people.search" call.
  3960  // Exactly one of *PeopleFeed or error will be non-nil. Any non-2xx
  3961  // status code is an error. Response headers are in either
  3962  // *PeopleFeed.ServerResponse.Header or (if a response was returned at
  3963  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
  3964  // to check whether the returned error was because
  3965  // http.StatusNotModified was returned.
  3966  func (c *PeopleSearchCall) Do(opts ...googleapi.CallOption) (*PeopleFeed, error) {
  3967  	gensupport.SetOptions(c.urlParams_, opts...)
  3968  	res, err := c.doRequest("json")
  3969  	if res != nil && res.StatusCode == http.StatusNotModified {
  3970  		if res.Body != nil {
  3971  			res.Body.Close()
  3972  		}
  3973  		return nil, &googleapi.Error{
  3974  			Code:   res.StatusCode,
  3975  			Header: res.Header,
  3976  		}
  3977  	}
  3978  	if err != nil {
  3979  		return nil, err
  3980  	}
  3981  	defer googleapi.CloseBody(res)
  3982  	if err := googleapi.CheckResponse(res); err != nil {
  3983  		return nil, err
  3984  	}
  3985  	ret := &PeopleFeed{
  3986  		ServerResponse: googleapi.ServerResponse{
  3987  			Header:         res.Header,
  3988  			HTTPStatusCode: res.StatusCode,
  3989  		},
  3990  	}
  3991  	target := &ret
  3992  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3993  		return nil, err
  3994  	}
  3995  	return ret, nil
  3996  	// {
  3997  	//   "description": "Shut down. See https://developers.google.com/+/api-shutdown for more details.",
  3998  	//   "httpMethod": "GET",
  3999  	//   "id": "plus.people.search",
  4000  	//   "parameterOrder": [
  4001  	//     "query"
  4002  	//   ],
  4003  	//   "parameters": {
  4004  	//     "language": {
  4005  	//       "default": "en-US",
  4006  	//       "description": "Specify the preferred language to search with. See search language codes for available values.",
  4007  	//       "location": "query",
  4008  	//       "type": "string"
  4009  	//     },
  4010  	//     "maxResults": {
  4011  	//       "default": "25",
  4012  	//       "description": "The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.",
  4013  	//       "format": "uint32",
  4014  	//       "location": "query",
  4015  	//       "maximum": "50",
  4016  	//       "minimum": "1",
  4017  	//       "type": "integer"
  4018  	//     },
  4019  	//     "pageToken": {
  4020  	//       "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response. This token can be of any length.",
  4021  	//       "location": "query",
  4022  	//       "type": "string"
  4023  	//     },
  4024  	//     "query": {
  4025  	//       "description": "Specify a query string for full text search of public text in all profiles.",
  4026  	//       "location": "query",
  4027  	//       "required": true,
  4028  	//       "type": "string"
  4029  	//     }
  4030  	//   },
  4031  	//   "path": "people",
  4032  	//   "response": {
  4033  	//     "$ref": "PeopleFeed"
  4034  	//   },
  4035  	//   "scopes": [
  4036  	//     "https://www.googleapis.com/auth/plus.login",
  4037  	//     "https://www.googleapis.com/auth/plus.me"
  4038  	//   ]
  4039  	// }
  4040  
  4041  }
  4042  
  4043  // Pages invokes f for each page of results.
  4044  // A non-nil error returned from f will halt the iteration.
  4045  // The provided context supersedes any context provided to the Context method.
  4046  func (c *PeopleSearchCall) Pages(ctx context.Context, f func(*PeopleFeed) error) error {
  4047  	c.ctx_ = ctx
  4048  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
  4049  	for {
  4050  		x, err := c.Do()
  4051  		if err != nil {
  4052  			return err
  4053  		}
  4054  		if err := f(x); err != nil {
  4055  			return err
  4056  		}
  4057  		if x.NextPageToken == "" {
  4058  			return nil
  4059  		}
  4060  		c.PageToken(x.NextPageToken)
  4061  	}
  4062  }
  4063  

View as plain text