// Package people provides access to the Google People API.
//
// See https://developers.google.com/people/
//
// Usage example:
//
// import "google.golang.org/api/people/v1"
// ...
// peopleService, err := people.New(oauthHttpClient)
package people // import "google.golang.org/api/people/v1"
import (
"bytes"
"encoding/json"
"errors"
"fmt"
context "golang.org/x/net/context"
ctxhttp "golang.org/x/net/context/ctxhttp"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
"io"
"net/http"
"net/url"
"strconv"
"strings"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = ctxhttp.Do
const apiId = "people:v1"
const apiName = "people"
const apiVersion = "v1"
const basePath = "https://people.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// Manage your contacts
ContactsScope = "https://www.googleapis.com/auth/contacts"
// View your contacts
ContactsReadonlyScope = "https://www.googleapis.com/auth/contacts.readonly"
// Know the list of people in your circles, your age range, and language
PlusLoginScope = "https://www.googleapis.com/auth/plus.login"
// View your street addresses
UserAddressesReadScope = "https://www.googleapis.com/auth/user.addresses.read"
// View your complete date of birth
UserBirthdayReadScope = "https://www.googleapis.com/auth/user.birthday.read"
// View your email addresses
UserEmailsReadScope = "https://www.googleapis.com/auth/user.emails.read"
// View your phone numbers
UserPhonenumbersReadScope = "https://www.googleapis.com/auth/user.phonenumbers.read"
// View your email address
UserinfoEmailScope = "https://www.googleapis.com/auth/userinfo.email"
// View your basic profile info
UserinfoProfileScope = "https://www.googleapis.com/auth/userinfo.profile"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.People = NewPeopleService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
People *PeopleService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewPeopleService(s *Service) *PeopleService {
rs := &PeopleService{s: s}
rs.Connections = NewPeopleConnectionsService(s)
return rs
}
type PeopleService struct {
s *Service
Connections *PeopleConnectionsService
}
func NewPeopleConnectionsService(s *Service) *PeopleConnectionsService {
rs := &PeopleConnectionsService{s: s}
return rs
}
type PeopleConnectionsService struct {
s *Service
}
// Address: A person's physical address. May be a P.O. box or street
// address. All fields
// are optional.
type Address struct {
// City: The city of the address.
City string `json:"city,omitempty"`
// Country: The country of the address.
Country string `json:"country,omitempty"`
// CountryCode: The [ISO 3166-1
// alpha-2](http://www.iso.org/iso/country_codes.htm) country
// code of the address.
CountryCode string `json:"countryCode,omitempty"`
// ExtendedAddress: The extended address of the address; for example,
// the apartment number.
ExtendedAddress string `json:"extendedAddress,omitempty"`
// FormattedType: The read-only type of the address translated and
// formatted in the viewer's
// account locale or the `Accept-Language` HTTP header locale.
FormattedType string `json:"formattedType,omitempty"`
// FormattedValue: The unstructured value of the address. If this is not
// set by the user it
// will be automatically constructed from structured values.
FormattedValue string `json:"formattedValue,omitempty"`
// Metadata: Metadata about the address.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// PoBox: The P.O. box of the address.
PoBox string `json:"poBox,omitempty"`
// PostalCode: The postal code of the address.
PostalCode string `json:"postalCode,omitempty"`
// Region: The region of the address; for example, the state or
// province.
Region string `json:"region,omitempty"`
// StreetAddress: The street address.
StreetAddress string `json:"streetAddress,omitempty"`
// Type: The type of the address. The type can be custom or
// predefined.
// Possible values include, but are not limited to, the following:
//
// * `home`
// * `work`
// * `other`
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "City") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "City") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Address) MarshalJSON() ([]byte, error) {
type noMethod Address
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AgeRangeType: A person's age range.
type AgeRangeType struct {
// AgeRange: The age range.
//
// Possible values:
// "AGE_RANGE_UNSPECIFIED" - Unspecified.
// "LESS_THAN_EIGHTEEN" - Younger than eighteen.
// "EIGHTEEN_TO_TWENTY" - Between eighteen and twenty.
// "TWENTY_ONE_OR_OLDER" - Twenty-one and older.
AgeRange string `json:"ageRange,omitempty"`
// Metadata: Metadata about the age range.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// ForceSendFields is a list of field names (e.g. "AgeRange") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AgeRange") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AgeRangeType) MarshalJSON() ([]byte, error) {
type noMethod AgeRangeType
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Biography: A person's short biography.
type Biography struct {
// ContentType: The content type of the biography.
//
// Possible values:
// "CONTENT_TYPE_UNSPECIFIED" - Unspecified.
// "TEXT_PLAIN" - Plain text.
// "TEXT_HTML" - HTML text.
ContentType string `json:"contentType,omitempty"`
// Metadata: Metadata about the biography.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The short biography.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "ContentType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContentType") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Biography) MarshalJSON() ([]byte, error) {
type noMethod Biography
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Birthday: A person's birthday. At least one of the `date` and `text`
// fields are
// specified. The `date` and `text` fields typically represent the
// same
// date, but are not guaranteed to.
type Birthday struct {
// Date: The date of the birthday.
Date *Date `json:"date,omitempty"`
// Metadata: Metadata about the birthday.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Text: A free-form string representing the user's birthday.
Text string `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "Date") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Date") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Birthday) MarshalJSON() ([]byte, error) {
type noMethod Birthday
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BraggingRights: A person's bragging rights.
type BraggingRights struct {
// Metadata: Metadata about the bragging rights.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The bragging rights; for example, `climbed mount everest`.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Metadata") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Metadata") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BraggingRights) MarshalJSON() ([]byte, error) {
type noMethod BraggingRights
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ContactGroupMembership: A Google contact group membership.
type ContactGroupMembership struct {
// ContactGroupId: The contact group ID for the contact group
// membership. The contact group
// ID can be custom or predefined. Possible values include, but are
// not
// limited to, the following:
//
// * `myContacts`
// * `starred`
// * A numerical ID for user-created groups.
ContactGroupId string `json:"contactGroupId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ContactGroupId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContactGroupId") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ContactGroupMembership) MarshalJSON() ([]byte, error) {
type noMethod ContactGroupMembership
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CoverPhoto: A person's read-only cover photo. A large image shown on
// the person's
// profile page that represents who they are or what they care about.
type CoverPhoto struct {
// Default: True if the cover photo is the default cover photo;
// false if the cover photo is a user-provided cover photo.
Default bool `json:"default,omitempty"`
// Metadata: Metadata about the cover photo.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Url: The URL of the cover photo.
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "Default") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Default") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CoverPhoto) MarshalJSON() ([]byte, error) {
type noMethod CoverPhoto
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Date: Represents a whole calendar date, for example a date of birth.
// The time
// of day and time zone are either specified elsewhere or are
// not
// significant. The date is relative to the
// [Proleptic Gregorian
// Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar).
//
// The day may be 0 to represent a year and month where the day is
// not
// significant. The year may be 0 to represent a month and day
// independent
// of year; for example, anniversary date.
type Date struct {
// Day: Day of month. Must be from 1 to 31 and valid for the year and
// month, or 0
// if specifying a year/month where the day is not significant.
Day int64 `json:"day,omitempty"`
// Month: Month of year. Must be from 1 to 12.
Month int64 `json:"month,omitempty"`
// Year: Year of date. Must be from 1 to 9999, or 0 if specifying a date
// without
// a year.
Year int64 `json:"year,omitempty"`
// ForceSendFields is a list of field names (e.g. "Day") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Day") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Date) MarshalJSON() ([]byte, error) {
type noMethod Date
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DomainMembership: A Google Apps Domain membership.
type DomainMembership struct {
// InViewerDomain: True if the person is in the viewer's Google Apps
// domain.
InViewerDomain bool `json:"inViewerDomain,omitempty"`
// ForceSendFields is a list of field names (e.g. "InViewerDomain") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "InViewerDomain") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *DomainMembership) MarshalJSON() ([]byte, error) {
type noMethod DomainMembership
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// EmailAddress: A person's email address.
type EmailAddress struct {
// DisplayName: The display name of the email.
DisplayName string `json:"displayName,omitempty"`
// FormattedType: The read-only type of the email address translated and
// formatted in the
// viewer's account locale or the `Accept-Language` HTTP header locale.
FormattedType string `json:"formattedType,omitempty"`
// Metadata: Metadata about the email address.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Type: The type of the email address. The type can be custom or
// predefined.
// Possible values include, but are not limited to, the following:
//
// * `home`
// * `work`
// * `other`
Type string `json:"type,omitempty"`
// Value: The email address.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EmailAddress) MarshalJSON() ([]byte, error) {
type noMethod EmailAddress
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Event: An event related to the person.
type Event struct {
// Date: The date of the event.
Date *Date `json:"date,omitempty"`
// FormattedType: The read-only type of the event translated and
// formatted in the
// viewer's account locale or the `Accept-Language` HTTP header locale.
FormattedType string `json:"formattedType,omitempty"`
// Metadata: Metadata about the event.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Type: The type of the event. The type can be custom or
// predefined.
// Possible values include, but are not limited to, the following:
//
// * `anniversary`
// * `other`
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Date") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Date") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Event) MarshalJSON() ([]byte, error) {
type noMethod Event
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FieldMetadata: Metadata about a field.
type FieldMetadata struct {
// Primary: True if the field is the primary field; false if the field
// is a secondary
// field.
Primary bool `json:"primary,omitempty"`
// Source: The source of the field.
Source *Source `json:"source,omitempty"`
// Verified: True if the field is verified; false if the field is
// unverified. A
// verified field is typically a name, email address, phone number,
// or
// website that has been confirmed to be owned by the person.
Verified bool `json:"verified,omitempty"`
// ForceSendFields is a list of field names (e.g. "Primary") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Primary") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *FieldMetadata) MarshalJSON() ([]byte, error) {
type noMethod FieldMetadata
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Gender: A person's gender.
type Gender struct {
// FormattedValue: The read-only value of the gender translated and
// formatted in the viewer's
// account locale or the `Accept-Language` HTTP header locale.
FormattedValue string `json:"formattedValue,omitempty"`
// Metadata: Metadata about the gender.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The gender for the person. The gender can be custom or
// predefined.
// Possible values include, but are not limited to, the
// following:
//
// * `male`
// * `female`
// * `other`
// * `unknown`
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "FormattedValue") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FormattedValue") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Gender) MarshalJSON() ([]byte, error) {
type noMethod Gender
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GetPeopleResponse struct {
// Responses: The response for each requested resource name.
Responses []*PersonResponse `json:"responses,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Responses") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Responses") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GetPeopleResponse) MarshalJSON() ([]byte, error) {
type noMethod GetPeopleResponse
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ImClient: A person's instant messaging client.
type ImClient struct {
// FormattedProtocol: The read-only protocol of the IM client formatted
// in the viewer's account
// locale or the `Accept-Language` HTTP header locale.
FormattedProtocol string `json:"formattedProtocol,omitempty"`
// FormattedType: The read-only type of the IM client translated and
// formatted in the
// viewer's account locale or the `Accept-Language` HTTP header locale.
FormattedType string `json:"formattedType,omitempty"`
// Metadata: Metadata about the IM client.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Protocol: The protocol of the IM client. The protocol can be custom
// or predefined.
// Possible values include, but are not limited to, the following:
//
// * `aim`
// * `msn`
// * `yahoo`
// * `skype`
// * `qq`
// * `googleTalk`
// * `icq`
// * `jabber`
// * `netMeeting`
Protocol string `json:"protocol,omitempty"`
// Type: The type of the IM client. The type can be custom or
// predefined.
// Possible values include, but are not limited to, the following:
//
// * `home`
// * `work`
// * `other`
Type string `json:"type,omitempty"`
// Username: The user name used in the IM client.
Username string `json:"username,omitempty"`
// ForceSendFields is a list of field names (e.g. "FormattedProtocol")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FormattedProtocol") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ImClient) MarshalJSON() ([]byte, error) {
type noMethod ImClient
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Interest: One of the person's interests.
type Interest struct {
// Metadata: Metadata about the interest.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The interest; for example, `stargazing`.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Metadata") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Metadata") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Interest) MarshalJSON() ([]byte, error) {
type noMethod Interest
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ListConnectionsResponse struct {
// Connections: The list of people that the requestor is connected to.
Connections []*Person `json:"connections,omitempty"`
// NextPageToken: The token that can be used to retrieve the next page
// of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// NextSyncToken: The token that can be used to retrieve changes since
// the last request.
NextSyncToken string `json:"nextSyncToken,omitempty"`
// TotalItems: The total number of items in the list without pagination.
TotalItems int64 `json:"totalItems,omitempty"`
// TotalPeople: DEPRECATED(Please use total_items). The total number of
// people in the list
// without pagination.
TotalPeople int64 `json:"totalPeople,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Connections") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Connections") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListConnectionsResponse) MarshalJSON() ([]byte, error) {
type noMethod ListConnectionsResponse
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Locale: A person's locale preference.
type Locale struct {
// Metadata: Metadata about the locale.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The well-formed [IETF BCP
// 47](https://tools.ietf.org/html/bcp47)
// language tag representing the locale.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Metadata") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Metadata") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Locale) MarshalJSON() ([]byte, error) {
type noMethod Locale
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Membership: A person's read-only membership in a group.
type Membership struct {
// ContactGroupMembership: The contact group membership.
ContactGroupMembership *ContactGroupMembership `json:"contactGroupMembership,omitempty"`
// DomainMembership: The domain membership.
DomainMembership *DomainMembership `json:"domainMembership,omitempty"`
// Metadata: Metadata about the membership.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "ContactGroupMembership") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContactGroupMembership")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Membership) MarshalJSON() ([]byte, error) {
type noMethod Membership
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Name: A person's name. If the name is a mononym, the family name is
// empty.
type Name struct {
// DisplayName: The read-only display name formatted according to the
// locale specified by
// the viewer's account or the Accept-Language
HTTP header.
DisplayName string `json:"displayName,omitempty"`
// DisplayNameLastFirst: The read-only display name with the last name
// first formatted according to
// the locale specified by the viewer's account or
// the
// Accept-Language
HTTP header.
DisplayNameLastFirst string `json:"displayNameLastFirst,omitempty"`
// FamilyName: The family name.
FamilyName string `json:"familyName,omitempty"`
// GivenName: The given name.
GivenName string `json:"givenName,omitempty"`
// HonorificPrefix: The honorific prefixes, such as `Mrs.` or `Dr.`
HonorificPrefix string `json:"honorificPrefix,omitempty"`
// HonorificSuffix: The honorific suffixes, such as `Jr.`
HonorificSuffix string `json:"honorificSuffix,omitempty"`
// Metadata: Metadata about the name.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// MiddleName: The middle name(s).
MiddleName string `json:"middleName,omitempty"`
// PhoneticFamilyName: The family name spelled as it sounds.
PhoneticFamilyName string `json:"phoneticFamilyName,omitempty"`
// PhoneticFullName: The full name spelled as it sounds.
PhoneticFullName string `json:"phoneticFullName,omitempty"`
// PhoneticGivenName: The given name spelled as it sounds.
PhoneticGivenName string `json:"phoneticGivenName,omitempty"`
// PhoneticHonorificPrefix: The honorific prefixes spelled as they
// sound.
PhoneticHonorificPrefix string `json:"phoneticHonorificPrefix,omitempty"`
// PhoneticHonorificSuffix: The honorific suffixes spelled as they
// sound.
PhoneticHonorificSuffix string `json:"phoneticHonorificSuffix,omitempty"`
// PhoneticMiddleName: The middle name(s) spelled as they sound.
PhoneticMiddleName string `json:"phoneticMiddleName,omitempty"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Name) MarshalJSON() ([]byte, error) {
type noMethod Name
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Nickname: A person's nickname.
type Nickname struct {
// Metadata: Metadata about the nickname.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Type: The type of the nickname.
//
// Possible values:
// "DEFAULT" - Generic nickname.
// "MAIDEN_NAME" - Maiden name or birth family name. Used when the
// person's family name has
// changed as a result of marriage.
// "INITIALS" - Initials.
// "GPLUS" - Google+ profile nickname.
// "OTHER_NAME" - A professional affiliation or other name; for
// example, `Dr. Smith.`
Type string `json:"type,omitempty"`
// Value: The nickname.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Metadata") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Metadata") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Nickname) MarshalJSON() ([]byte, error) {
type noMethod Nickname
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Occupation: A person's occupation.
type Occupation struct {
// Metadata: Metadata about the occupation.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The occupation; for example, `carpenter`.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Metadata") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Metadata") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Occupation) MarshalJSON() ([]byte, error) {
type noMethod Occupation
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Organization: A person's past or current organization. Overlapping
// date ranges are
// permitted.
type Organization struct {
// Current: True if the organization is the person's current
// organization;
// false if the organization is a past organization.
Current bool `json:"current,omitempty"`
// Department: The person's department at the organization.
Department string `json:"department,omitempty"`
// Domain: The domain name associated with the organization; for
// example, `google.com`.
Domain string `json:"domain,omitempty"`
// EndDate: The end date when the person left the organization.
EndDate *Date `json:"endDate,omitempty"`
// FormattedType: The read-only type of the organization translated and
// formatted in the
// viewer's account locale or the `Accept-Language` HTTP header locale.
FormattedType string `json:"formattedType,omitempty"`
// JobDescription: The person's job description at the organization.
JobDescription string `json:"jobDescription,omitempty"`
// Location: The location of the organization office the person works
// at.
Location string `json:"location,omitempty"`
// Metadata: Metadata about the organization.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Name: The name of the organization.
Name string `json:"name,omitempty"`
// PhoneticName: The phonetic name of the organization.
PhoneticName string `json:"phoneticName,omitempty"`
// StartDate: The start date when the person joined the organization.
StartDate *Date `json:"startDate,omitempty"`
// Symbol: The symbol associated with the organization; for example, a
// stock ticker
// symbol, abbreviation, or acronym.
Symbol string `json:"symbol,omitempty"`
// Title: The person's job title at the organization.
Title string `json:"title,omitempty"`
// Type: The type of the organization. The type can be custom or
// predefined.
// Possible values include, but are not limited to, the following:
//
// * `work`
// * `school`
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Current") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Current") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Organization) MarshalJSON() ([]byte, error) {
type noMethod Organization
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Person: Information about a person merged from various data sources
// such as the
// authenticated user's contacts and profile data.
//
// Most fields can have multiple items. The items in a field have no
// guaranteed
// order, but each non-empty field is guaranteed to have exactly one
// field with
// `metadata.primary` set to true.
type Person struct {
// Addresses: The person's street addresses.
Addresses []*Address `json:"addresses,omitempty"`
// AgeRange: DEPRECATED(Please read person.age_ranges instead). The
// person's age range.
//
// Possible values:
// "AGE_RANGE_UNSPECIFIED" - Unspecified.
// "LESS_THAN_EIGHTEEN" - Younger than eighteen.
// "EIGHTEEN_TO_TWENTY" - Between eighteen and twenty.
// "TWENTY_ONE_OR_OLDER" - Twenty-one and older.
AgeRange string `json:"ageRange,omitempty"`
// AgeRanges: The person's age ranges.
AgeRanges []*AgeRangeType `json:"ageRanges,omitempty"`
// Biographies: The person's biographies.
Biographies []*Biography `json:"biographies,omitempty"`
// Birthdays: The person's birthdays.
Birthdays []*Birthday `json:"birthdays,omitempty"`
// BraggingRights: The person's bragging rights.
BraggingRights []*BraggingRights `json:"braggingRights,omitempty"`
// CoverPhotos: The person's cover photos.
CoverPhotos []*CoverPhoto `json:"coverPhotos,omitempty"`
// EmailAddresses: The person's email addresses.
EmailAddresses []*EmailAddress `json:"emailAddresses,omitempty"`
// Etag: The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag)
// of the
// resource. Used for web cache validation.
Etag string `json:"etag,omitempty"`
// Events: The person's events.
Events []*Event `json:"events,omitempty"`
// Genders: The person's genders.
Genders []*Gender `json:"genders,omitempty"`
// ImClients: The person's instant messaging clients.
ImClients []*ImClient `json:"imClients,omitempty"`
// Interests: The person's interests.
Interests []*Interest `json:"interests,omitempty"`
// Locales: The person's locale preferences.
Locales []*Locale `json:"locales,omitempty"`
// Memberships: The person's group memberships.
Memberships []*Membership `json:"memberships,omitempty"`
// Metadata: Metadata about the person.
Metadata *PersonMetadata `json:"metadata,omitempty"`
// Names: The person's names.
Names []*Name `json:"names,omitempty"`
// Nicknames: The person's nicknames.
Nicknames []*Nickname `json:"nicknames,omitempty"`
// Occupations: The person's occupations.
Occupations []*Occupation `json:"occupations,omitempty"`
// Organizations: The person's past or current organizations.
Organizations []*Organization `json:"organizations,omitempty"`
// PhoneNumbers: The person's phone numbers.
PhoneNumbers []*PhoneNumber `json:"phoneNumbers,omitempty"`
// Photos: The person's photos.
Photos []*Photo `json:"photos,omitempty"`
// Relations: The person's relations.
Relations []*Relation `json:"relations,omitempty"`
// RelationshipInterests: The kind of relationship the person is looking
// for.
RelationshipInterests []*RelationshipInterest `json:"relationshipInterests,omitempty"`
// RelationshipStatuses: The person's relationship statuses.
RelationshipStatuses []*RelationshipStatus `json:"relationshipStatuses,omitempty"`
// Residences: The person's residences.
Residences []*Residence `json:"residences,omitempty"`
// ResourceName: The resource name for the person, assigned by the
// server. An ASCII string
// with a max length of 27 characters, in the form of
// `people/`.
ResourceName string `json:"resourceName,omitempty"`
// Skills: The person's skills.
Skills []*Skill `json:"skills,omitempty"`
// Taglines: The person's taglines.
Taglines []*Tagline `json:"taglines,omitempty"`
// Urls: The person's associated URLs.
Urls []*Url `json:"urls,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Addresses") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Addresses") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Person) MarshalJSON() ([]byte, error) {
type noMethod Person
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PersonMetadata: The read-only metadata about a person.
type PersonMetadata struct {
// Deleted: True if the person resource has been deleted. Populated only
// for
// [`connections.list`](/people/api/rest/v1/people.connections/list)
// requests
// that include a sync token.
Deleted bool `json:"deleted,omitempty"`
// LinkedPeopleResourceNames: Resource names of people linked to this
// resource.
LinkedPeopleResourceNames []string `json:"linkedPeopleResourceNames,omitempty"`
// ObjectType: DEPRECATED(Please read
// person.metadata.sources.profile_metadata instead).
// The type of the person object.
//
// Possible values:
// "OBJECT_TYPE_UNSPECIFIED" - Unspecified.
// "PERSON" - Person.
// "PAGE" - [Google+ Page.](http://www.google.com/+/brands/)
ObjectType string `json:"objectType,omitempty"`
// PreviousResourceNames: Any former resource names this person has had.
// Populated only
// for
// [`connections.list`](/people/api/rest/v1/people.connections/list)
// requests
// that include a sync token.
//
// The resource name may change when adding or removing fields that link
// a
// contact and profile such as a verified email, verified phone number,
// or
// profile URL.
PreviousResourceNames []string `json:"previousResourceNames,omitempty"`
// Sources: The sources of data for the person.
Sources []*Source `json:"sources,omitempty"`
// ForceSendFields is a list of field names (e.g. "Deleted") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Deleted") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *PersonMetadata) MarshalJSON() ([]byte, error) {
type noMethod PersonMetadata
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PersonResponse: The response for a single person
type PersonResponse struct {
// HttpStatusCode: DEPRECATED(Please use status instead).
// [HTTP 1.1
// status
// code](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
HttpStatusCode int64 `json:"httpStatusCode,omitempty"`
// Person: The person.
Person *Person `json:"person,omitempty"`
// RequestedResourceName: The original requested resource name. May be
// different than the resource
// name on the returned person.
//
// The resource name can change when adding or removing fields that link
// a
// contact and profile such as a verified email, verified phone number,
// or a
// profile URL.
RequestedResourceName string `json:"requestedResourceName,omitempty"`
// Status: The status of the response.
Status *Status `json:"status,omitempty"`
// ForceSendFields is a list of field names (e.g. "HttpStatusCode") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "HttpStatusCode") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *PersonResponse) MarshalJSON() ([]byte, error) {
type noMethod PersonResponse
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PhoneNumber: A person's phone number.
type PhoneNumber struct {
// CanonicalForm: The read-only canonicalized [ITU-T
// E.164](https://law.resource.org/pub/us/cfr/ibr/004/itu-t.E.164.1.2008.
// pdf)
// form of the phone number.
CanonicalForm string `json:"canonicalForm,omitempty"`
// FormattedType: The read-only type of the phone number translated and
// formatted in the
// viewer's account locale or the the `Accept-Language` HTTP header
// locale.
FormattedType string `json:"formattedType,omitempty"`
// Metadata: Metadata about the phone number.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Type: The type of the phone number. The type can be custom or
// predefined.
// Possible values include, but are not limited to, the following:
//
// * `home`
// * `work`
// * `mobile`
// * `homeFax`
// * `workFax`
// * `otherFax`
// * `pager`
// * `workMobile`
// * `workPager`
// * `main`
// * `googleVoice`
// * `other`
Type string `json:"type,omitempty"`
// Value: The phone number.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "CanonicalForm") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CanonicalForm") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *PhoneNumber) MarshalJSON() ([]byte, error) {
type noMethod PhoneNumber
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Photo: A person's read-only photo. A picture shown next to the
// person's name to
// help others recognize the person.
type Photo struct {
// Metadata: Metadata about the photo.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Url: The URL of the photo.
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "Metadata") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Metadata") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Photo) MarshalJSON() ([]byte, error) {
type noMethod Photo
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProfileMetadata: The read-only metadata about a profile.
type ProfileMetadata struct {
// ObjectType: The profile object type.
//
// Possible values:
// "OBJECT_TYPE_UNSPECIFIED" - Unspecified.
// "PERSON" - Person.
// "PAGE" - [Google+ Page.](http://www.google.com/+/brands/)
ObjectType string `json:"objectType,omitempty"`
// ForceSendFields is a list of field names (e.g. "ObjectType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ObjectType") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProfileMetadata) MarshalJSON() ([]byte, error) {
type noMethod ProfileMetadata
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Relation: A person's relation to another person.
type Relation struct {
// FormattedType: The type of the relation translated and formatted in
// the viewer's account
// locale or the locale specified in the Accept-Language HTTP header.
FormattedType string `json:"formattedType,omitempty"`
// Metadata: Metadata about the relation.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Person: The name of the other person this relation refers to.
Person string `json:"person,omitempty"`
// Type: The person's relation to the other person. The type can be
// custom or predefined.
// Possible values include, but are not limited to, the following
// values:
//
// * `spouse`
// * `child`
// * `mother`
// * `father`
// * `parent`
// * `brother`
// * `sister`
// * `friend`
// * `relative`
// * `domesticPartner`
// * `manager`
// * `assistant`
// * `referredBy`
// * `partner`
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "FormattedType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FormattedType") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Relation) MarshalJSON() ([]byte, error) {
type noMethod Relation
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RelationshipInterest: A person's read-only relationship interest .
type RelationshipInterest struct {
// FormattedValue: The value of the relationship interest translated and
// formatted in the
// viewer's account locale or the locale specified in the
// Accept-Language
// HTTP header.
FormattedValue string `json:"formattedValue,omitempty"`
// Metadata: Metadata about the relationship interest.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The kind of relationship the person is looking for. The value
// can be custom
// or predefined. Possible values include, but are not limited to,
// the
// following values:
//
// * `friend`
// * `date`
// * `relationship`
// * `networking`
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "FormattedValue") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FormattedValue") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *RelationshipInterest) MarshalJSON() ([]byte, error) {
type noMethod RelationshipInterest
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RelationshipStatus: A person's read-only relationship status.
type RelationshipStatus struct {
// FormattedValue: The read-only value of the relationship status
// translated and formatted in
// the viewer's account locale or the `Accept-Language` HTTP header
// locale.
FormattedValue string `json:"formattedValue,omitempty"`
// Metadata: Metadata about the relationship status.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The relationship status. The value can be custom or
// predefined.
// Possible values include, but are not limited to, the following:
//
// * `single`
// * `inARelationship`
// * `engaged`
// * `married`
// * `itsComplicated`
// * `openRelationship`
// * `widowed`
// * `inDomesticPartnership`
// * `inCivilUnion`
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "FormattedValue") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FormattedValue") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *RelationshipStatus) MarshalJSON() ([]byte, error) {
type noMethod RelationshipStatus
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Residence: A person's past or current residence.
type Residence struct {
// Current: True if the residence is the person's current
// residence;
// false if the residence is a past residence.
Current bool `json:"current,omitempty"`
// Metadata: Metadata about the residence.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The address of the residence.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Current") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Current") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Residence) MarshalJSON() ([]byte, error) {
type noMethod Residence
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Skill: A skill that the person has.
type Skill struct {
// Metadata: Metadata about the skill.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The skill; for example, `underwater basket weaving`.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Metadata") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Metadata") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Skill) MarshalJSON() ([]byte, error) {
type noMethod Skill
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Source: The source of a field.
type Source struct {
// Etag: The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag)
// of the
// source. Used for web cache validation. Only populated
// in
// person.metadata.sources.
Etag string `json:"etag,omitempty"`
// Id: The unique identifier within the source type generated by the
// server.
Id string `json:"id,omitempty"`
// ProfileMetadata: Metadata about a source of type PROFILE.
ProfileMetadata *ProfileMetadata `json:"profileMetadata,omitempty"`
// Type: The source type.
//
// Possible values:
// "SOURCE_TYPE_UNSPECIFIED" - Unspecified.
// "ACCOUNT" - [Google Account](https://accounts.google.com).
// "PROFILE" - [Google profile](https://profiles.google.com). You can
// view the
// profile at https://profiles.google.com/ where is the
// source
// id.
// "DOMAIN_PROFILE" - [Google Apps domain
// profile](https://admin.google.com).
// "CONTACT" - [Google contact](https://contacts.google.com). You can
// view the
// contact at https://contact.google.com/ where is the
// source
// id.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Source) MarshalJSON() ([]byte, error) {
type noMethod Source
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Status: The `Status` type defines a logical error model that is
// suitable for different
// programming environments, including REST APIs and RPC APIs. It is
// used by
// [gRPC](https://github.com/grpc). The error model is designed to
// be:
//
// - Simple to use and understand for most users
// - Flexible enough to meet unexpected needs
//
// # Overview
//
// The `Status` message contains three pieces of data: error code, error
// message,
// and error details. The error code should be an enum value
// of
// google.rpc.Code, but it may accept additional error codes if needed.
// The
// error message should be a developer-facing English message that
// helps
// developers *understand* and *resolve* the error. If a localized
// user-facing
// error message is needed, put the localized message in the error
// details or
// localize it in the client. The optional error details may contain
// arbitrary
// information about the error. There is a predefined set of error
// detail types
// in the package `google.rpc` that can be used for common error
// conditions.
//
// # Language mapping
//
// The `Status` message is the logical representation of the error
// model, but it
// is not necessarily the actual wire format. When the `Status` message
// is
// exposed in different client libraries and different wire protocols,
// it can be
// mapped differently. For example, it will likely be mapped to some
// exceptions
// in Java, but more likely mapped to some error codes in C.
//
// # Other uses
//
// The error model and the `Status` message can be used in a variety
// of
// environments, either with or without APIs, to provide a
// consistent developer experience across different
// environments.
//
// Example uses of this error model include:
//
// - Partial errors. If a service needs to return partial errors to the
// client,
// it may embed the `Status` in the normal response to indicate the
// partial
// errors.
//
// - Workflow errors. A typical workflow has multiple steps. Each step
// may
// have a `Status` message for error reporting.
//
// - Batch operations. If a client uses batch request and batch
// response, the
// `Status` message should be used directly inside batch response,
// one for
// each error sub-response.
//
// - Asynchronous operations. If an API call embeds asynchronous
// operation
// results in its response, the status of those operations should
// be
// represented directly using the `Status` message.
//
// - Logging. If some API errors are stored in logs, the message
// `Status` could
// be used directly after any stripping needed for security/privacy
// reasons.
type Status struct {
// Code: The status code, which should be an enum value of
// google.rpc.Code.
Code int64 `json:"code,omitempty"`
// Details: A list of messages that carry the error details. There will
// be a
// common set of message types for APIs to use.
Details []googleapi.RawMessage `json:"details,omitempty"`
// Message: A developer-facing error message, which should be in
// English. Any
// user-facing error message should be localized and sent in
// the
// google.rpc.Status.details field, or localized by the client.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Status) MarshalJSON() ([]byte, error) {
type noMethod Status
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Tagline: A read-only brief one-line description of the person.
type Tagline struct {
// Metadata: Metadata about the tagline.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Value: The tagline.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Metadata") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Metadata") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Tagline) MarshalJSON() ([]byte, error) {
type noMethod Tagline
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Url: A person's associated URLs.
type Url struct {
// FormattedType: The read-only type of the URL translated and formatted
// in the viewer's
// account locale or the `Accept-Language` HTTP header locale.
FormattedType string `json:"formattedType,omitempty"`
// Metadata: Metadata about the URL.
Metadata *FieldMetadata `json:"metadata,omitempty"`
// Type: The type of the URL. The type can be custom or
// predefined.
// Possible values include, but are not limited to, the following:
//
// * `home`
// * `work`
// * `blog`
// * `profile`
// * `homePage`
// * `ftp`
// * `reservations`
// * `appInstallPage`: website for a Google+ application.
// * `other`
Type string `json:"type,omitempty"`
// Value: The URL.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "FormattedType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FormattedType") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Url) MarshalJSON() ([]byte, error) {
type noMethod Url
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "people.people.get":
type PeopleGetCall struct {
s *Service
resourceName string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Provides information about a person for a resource name.
// Use
// `people/me` to indicate the authenticated user.
func (r *PeopleService) Get(resourceName string) *PeopleGetCall {
c := &PeopleGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.resourceName = resourceName
return c
}
// RequestMaskIncludeField sets the optional parameter
// "requestMask.includeField": Comma-separated list of fields to be
// included in the response. Omitting
// this field will include all fields except for connections.list
// requests,
// which have a default mask that includes common fields like metadata,
// name,
// photo, and profile url.
// Each path should start with `person.`: for example, `person.names`
// or
// `person.photos`.
func (c *PeopleGetCall) RequestMaskIncludeField(requestMaskIncludeField string) *PeopleGetCall {
c.urlParams_.Set("requestMask.includeField", requestMaskIncludeField)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *PeopleGetCall) Fields(s ...googleapi.Field) *PeopleGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *PeopleGetCall) IfNoneMatch(entityTag string) *PeopleGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *PeopleGetCall) Context(ctx context.Context) *PeopleGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *PeopleGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *PeopleGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resourceName}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"resourceName": c.resourceName,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "people.people.get" call.
// Exactly one of *Person or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Person.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *PeopleGetCall) Do(opts ...googleapi.CallOption) (*Person, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Person{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Provides information about a person for a resource name. Use\n`people/me` to indicate the authenticated user.",
// "flatPath": "v1/people/{peopleId}",
// "httpMethod": "GET",
// "id": "people.people.get",
// "parameterOrder": [
// "resourceName"
// ],
// "parameters": {
// "requestMask.includeField": {
// "description": "Comma-separated list of fields to be included in the response. Omitting\nthis field will include all fields except for connections.list requests,\nwhich have a default mask that includes common fields like metadata, name,\nphoto, and profile url.\nEach path should start with `person.`: for example, `person.names` or\n`person.photos`.",
// "format": "google-fieldmask",
// "location": "query",
// "type": "string"
// },
// "resourceName": {
// "description": "The resource name of the person to provide information about.\n\n- To get information about the authenticated user, specify `people/me`.\n- To get information about any user, specify the resource name that\n identifies the user, such as the resource names returned by\n [`people.connections.list`](/people/api/rest/v1/people.connections/list).",
// "location": "path",
// "pattern": "^people/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/{+resourceName}",
// "response": {
// "$ref": "Person"
// },
// "scopes": [
// "https://www.googleapis.com/auth/contacts",
// "https://www.googleapis.com/auth/contacts.readonly",
// "https://www.googleapis.com/auth/plus.login",
// "https://www.googleapis.com/auth/user.addresses.read",
// "https://www.googleapis.com/auth/user.birthday.read",
// "https://www.googleapis.com/auth/user.emails.read",
// "https://www.googleapis.com/auth/user.phonenumbers.read",
// "https://www.googleapis.com/auth/userinfo.email",
// "https://www.googleapis.com/auth/userinfo.profile"
// ]
// }
}
// method id "people.people.getBatchGet":
type PeopleGetBatchGetCall struct {
s *Service
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// GetBatchGet: Provides information about a list of specific people by
// specifying a list
// of requested resource names. Use `people/me` to indicate the
// authenticated
// user.
func (r *PeopleService) GetBatchGet() *PeopleGetBatchGetCall {
c := &PeopleGetBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
return c
}
// RequestMaskIncludeField sets the optional parameter
// "requestMask.includeField": Comma-separated list of fields to be
// included in the response. Omitting
// this field will include all fields except for connections.list
// requests,
// which have a default mask that includes common fields like metadata,
// name,
// photo, and profile url.
// Each path should start with `person.`: for example, `person.names`
// or
// `person.photos`.
func (c *PeopleGetBatchGetCall) RequestMaskIncludeField(requestMaskIncludeField string) *PeopleGetBatchGetCall {
c.urlParams_.Set("requestMask.includeField", requestMaskIncludeField)
return c
}
// ResourceNames sets the optional parameter "resourceNames": The
// resource name, such as one returned
// by
// [`people.connections.list`](/people/api/rest/v1/people.connections/
// list),
// of one of the people to provide information about. You can include
// this
// parameter up to 50 times in one request.
func (c *PeopleGetBatchGetCall) ResourceNames(resourceNames ...string) *PeopleGetBatchGetCall {
c.urlParams_.SetMulti("resourceNames", append([]string{}, resourceNames...))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *PeopleGetBatchGetCall) Fields(s ...googleapi.Field) *PeopleGetBatchGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *PeopleGetBatchGetCall) IfNoneMatch(entityTag string) *PeopleGetBatchGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *PeopleGetBatchGetCall) Context(ctx context.Context) *PeopleGetBatchGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *PeopleGetBatchGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *PeopleGetBatchGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/people:batchGet")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "people.people.getBatchGet" call.
// Exactly one of *GetPeopleResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GetPeopleResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func (c *PeopleGetBatchGetCall) Do(opts ...googleapi.CallOption) (*GetPeopleResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &GetPeopleResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Provides information about a list of specific people by specifying a list\nof requested resource names. Use `people/me` to indicate the authenticated\nuser.",
// "flatPath": "v1/people:batchGet",
// "httpMethod": "GET",
// "id": "people.people.getBatchGet",
// "parameterOrder": [],
// "parameters": {
// "requestMask.includeField": {
// "description": "Comma-separated list of fields to be included in the response. Omitting\nthis field will include all fields except for connections.list requests,\nwhich have a default mask that includes common fields like metadata, name,\nphoto, and profile url.\nEach path should start with `person.`: for example, `person.names` or\n`person.photos`.",
// "format": "google-fieldmask",
// "location": "query",
// "type": "string"
// },
// "resourceNames": {
// "description": "The resource name, such as one returned by\n[`people.connections.list`](/people/api/rest/v1/people.connections/list),\nof one of the people to provide information about. You can include this\nparameter up to 50 times in one request.",
// "location": "query",
// "repeated": true,
// "type": "string"
// }
// },
// "path": "v1/people:batchGet",
// "response": {
// "$ref": "GetPeopleResponse"
// },
// "scopes": [
// "https://www.googleapis.com/auth/contacts",
// "https://www.googleapis.com/auth/contacts.readonly",
// "https://www.googleapis.com/auth/plus.login",
// "https://www.googleapis.com/auth/user.addresses.read",
// "https://www.googleapis.com/auth/user.birthday.read",
// "https://www.googleapis.com/auth/user.emails.read",
// "https://www.googleapis.com/auth/user.phonenumbers.read",
// "https://www.googleapis.com/auth/userinfo.email",
// "https://www.googleapis.com/auth/userinfo.profile"
// ]
// }
}
// method id "people.people.connections.list":
type PeopleConnectionsListCall struct {
s *Service
resourceName string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Provides a list of the authenticated user's contacts merged
// with any
// linked profiles.
func (r *PeopleConnectionsService) List(resourceName string) *PeopleConnectionsListCall {
c := &PeopleConnectionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.resourceName = resourceName
return c
}
// PageSize sets the optional parameter "pageSize": The number of
// connections to include in the response. Valid values are
// between 1 and 500, inclusive. Defaults to 100.
func (c *PeopleConnectionsListCall) PageSize(pageSize int64) *PeopleConnectionsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": The token of the
// page to be returned.
func (c *PeopleConnectionsListCall) PageToken(pageToken string) *PeopleConnectionsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// RequestMaskIncludeField sets the optional parameter
// "requestMask.includeField": Comma-separated list of fields to be
// included in the response. Omitting
// this field will include all fields except for connections.list
// requests,
// which have a default mask that includes common fields like metadata,
// name,
// photo, and profile url.
// Each path should start with `person.`: for example, `person.names`
// or
// `person.photos`.
func (c *PeopleConnectionsListCall) RequestMaskIncludeField(requestMaskIncludeField string) *PeopleConnectionsListCall {
c.urlParams_.Set("requestMask.includeField", requestMaskIncludeField)
return c
}
// RequestSyncToken sets the optional parameter "requestSyncToken":
// Whether the response should include a sync token, which can be used
// to get
// all changes since the last request.
func (c *PeopleConnectionsListCall) RequestSyncToken(requestSyncToken bool) *PeopleConnectionsListCall {
c.urlParams_.Set("requestSyncToken", fmt.Sprint(requestSyncToken))
return c
}
// SortOrder sets the optional parameter "sortOrder": The order in which
// the connections should be sorted. Defaults
// to
// `LAST_MODIFIED_ASCENDING`.
//
// Possible values:
// "LAST_MODIFIED_ASCENDING"
// "FIRST_NAME_ASCENDING"
// "LAST_NAME_ASCENDING"
func (c *PeopleConnectionsListCall) SortOrder(sortOrder string) *PeopleConnectionsListCall {
c.urlParams_.Set("sortOrder", sortOrder)
return c
}
// SyncToken sets the optional parameter "syncToken": A sync token,
// returned by a previous call to `people.connections.list`.
// Only resources changed since the sync token was created will be
// returned.
func (c *PeopleConnectionsListCall) SyncToken(syncToken string) *PeopleConnectionsListCall {
c.urlParams_.Set("syncToken", syncToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *PeopleConnectionsListCall) Fields(s ...googleapi.Field) *PeopleConnectionsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *PeopleConnectionsListCall) IfNoneMatch(entityTag string) *PeopleConnectionsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *PeopleConnectionsListCall) Context(ctx context.Context) *PeopleConnectionsListCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *PeopleConnectionsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *PeopleConnectionsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resourceName}/connections")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"resourceName": c.resourceName,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "people.people.connections.list" call.
// Exactly one of *ListConnectionsResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *ListConnectionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func (c *PeopleConnectionsListCall) Do(opts ...googleapi.CallOption) (*ListConnectionsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &ListConnectionsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Provides a list of the authenticated user's contacts merged with any\nlinked profiles.",
// "flatPath": "v1/people/{peopleId}/connections",
// "httpMethod": "GET",
// "id": "people.people.connections.list",
// "parameterOrder": [
// "resourceName"
// ],
// "parameters": {
// "pageSize": {
// "description": "The number of connections to include in the response. Valid values are\nbetween 1 and 500, inclusive. Defaults to 100.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "pageToken": {
// "description": "The token of the page to be returned.",
// "location": "query",
// "type": "string"
// },
// "requestMask.includeField": {
// "description": "Comma-separated list of fields to be included in the response. Omitting\nthis field will include all fields except for connections.list requests,\nwhich have a default mask that includes common fields like metadata, name,\nphoto, and profile url.\nEach path should start with `person.`: for example, `person.names` or\n`person.photos`.",
// "format": "google-fieldmask",
// "location": "query",
// "type": "string"
// },
// "requestSyncToken": {
// "description": "Whether the response should include a sync token, which can be used to get\nall changes since the last request.",
// "location": "query",
// "type": "boolean"
// },
// "resourceName": {
// "description": "The resource name to return connections for. Only `people/me` is valid.",
// "location": "path",
// "pattern": "^people/[^/]+$",
// "required": true,
// "type": "string"
// },
// "sortOrder": {
// "description": "The order in which the connections should be sorted. Defaults to\n`LAST_MODIFIED_ASCENDING`.",
// "enum": [
// "LAST_MODIFIED_ASCENDING",
// "FIRST_NAME_ASCENDING",
// "LAST_NAME_ASCENDING"
// ],
// "location": "query",
// "type": "string"
// },
// "syncToken": {
// "description": "A sync token, returned by a previous call to `people.connections.list`.\nOnly resources changed since the sync token was created will be returned.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+resourceName}/connections",
// "response": {
// "$ref": "ListConnectionsResponse"
// },
// "scopes": [
// "https://www.googleapis.com/auth/contacts",
// "https://www.googleapis.com/auth/contacts.readonly"
// ]
// }
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *PeopleConnectionsListCall) Pages(ctx context.Context, f func(*ListConnectionsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}