// Package coordinate provides access to the Google Maps Coordinate API. // // See https://developers.google.com/coordinate/ // // Usage example: // // import "google.golang.org/api/coordinate/v1" // ... // coordinateService, err := coordinate.New(oauthHttpClient) package coordinate import ( "bytes" "encoding/json" "errors" "fmt" "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 _ = googleapi.Version var _ = errors.New var _ = strings.Replace const apiId = "coordinate:v1" const apiName = "coordinate" const apiVersion = "v1" const basePath = "https://www.googleapis.com/coordinate/v1/teams/" // OAuth2 scopes used by this API. const ( // View and manage your Google Maps Coordinate jobs CoordinateScope = "https://www.googleapis.com/auth/coordinate" // View your Google Coordinate jobs CoordinateReadonlyScope = "https://www.googleapis.com/auth/coordinate.readonly" ) func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.CustomFieldDef = NewCustomFieldDefService(s) s.Jobs = NewJobsService(s) s.Location = NewLocationService(s) s.Schedule = NewScheduleService(s) s.Worker = NewWorkerService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL CustomFieldDef *CustomFieldDefService Jobs *JobsService Location *LocationService Schedule *ScheduleService Worker *WorkerService } func NewCustomFieldDefService(s *Service) *CustomFieldDefService { rs := &CustomFieldDefService{s: s} return rs } type CustomFieldDefService struct { s *Service } func NewJobsService(s *Service) *JobsService { rs := &JobsService{s: s} return rs } type JobsService struct { s *Service } func NewLocationService(s *Service) *LocationService { rs := &LocationService{s: s} return rs } type LocationService struct { s *Service } func NewScheduleService(s *Service) *ScheduleService { rs := &ScheduleService{s: s} return rs } type ScheduleService struct { s *Service } func NewWorkerService(s *Service) *WorkerService { rs := &WorkerService{s: s} return rs } type WorkerService struct { s *Service } type CustomField struct { // CustomFieldId: Custom field id. CustomFieldId int64 `json:"customFieldId,omitempty,string"` // Kind: Identifies this object as a custom field. Kind string `json:"kind,omitempty"` // Value: Custom field value. Value string `json:"value,omitempty"` } type CustomFieldDef struct { // Enabled: Whether the field is enabled. Enabled bool `json:"enabled,omitempty"` // Id: Custom field id. Id int64 `json:"id,omitempty,string"` // Kind: Identifies this object as a custom field definition. Kind string `json:"kind,omitempty"` // Name: Custom field name. Name string `json:"name,omitempty"` // RequiredForCheckout: Whether the field is required for checkout. RequiredForCheckout bool `json:"requiredForCheckout,omitempty"` // Type: Custom field type. Type string `json:"type,omitempty"` } type CustomFieldDefListResponse struct { // Items: Collection of custom field definitions in a team. Items []*CustomFieldDef `json:"items,omitempty"` // Kind: Identifies this object as a collection of custom field // definitions in a team. Kind string `json:"kind,omitempty"` } type CustomFields struct { // CustomField: Collection of custom fields. CustomField []*CustomField `json:"customField,omitempty"` // Kind: Identifies this object as a collection of custom fields. Kind string `json:"kind,omitempty"` } type Job struct { // Id: Job id. Id uint64 `json:"id,omitempty,string"` // JobChange: List of job changes since it was created. The first change // corresponds to the state of the job when it was created. JobChange []*JobChange `json:"jobChange,omitempty"` // Kind: Identifies this object as a job. Kind string `json:"kind,omitempty"` // State: Current job state. State *JobState `json:"state,omitempty"` } type JobChange struct { // Kind: Identifies this object as a job change. Kind string `json:"kind,omitempty"` // State: Change applied to the job. Only the fields that were changed // are set. State *JobState `json:"state,omitempty"` // Timestamp: Time at which this change was applied. Timestamp uint64 `json:"timestamp,omitempty,string"` } type JobListResponse struct { // Items: Jobs in the collection. Items []*Job `json:"items,omitempty"` // Kind: Identifies this object as a list of jobs. Kind string `json:"kind,omitempty"` // NextPageToken: A token to provide to get the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` } type JobState struct { // Assignee: Email address of the assignee. Assignee string `json:"assignee,omitempty"` // CustomFields: Custom fields. CustomFields *CustomFields `json:"customFields,omitempty"` // CustomerName: Customer name. CustomerName string `json:"customerName,omitempty"` // CustomerPhoneNumber: Customer phone number. CustomerPhoneNumber string `json:"customerPhoneNumber,omitempty"` // Kind: Identifies this object as a job state. Kind string `json:"kind,omitempty"` // Location: Job location. Location *Location `json:"location,omitempty"` // Note: Note added to the job. Note []string `json:"note,omitempty"` // Progress: Job progress. Progress string `json:"progress,omitempty"` // Title: Job title. Title string `json:"title,omitempty"` } type Location struct { // AddressLine: Address. AddressLine []string `json:"addressLine,omitempty"` // Kind: Identifies this object as a location. Kind string `json:"kind,omitempty"` // Lat: Latitude. Lat float64 `json:"lat,omitempty"` // Lng: Longitude. Lng float64 `json:"lng,omitempty"` } type LocationListResponse struct { // Items: Locations in the collection. Items []*LocationRecord `json:"items,omitempty"` // Kind: Identifies this object as a list of locations. Kind string `json:"kind,omitempty"` // NextPageToken: A token to provide to get the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // TokenPagination: Pagination information for token pagination. TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` } type LocationRecord struct { // CollectionTime: The collection time in milliseconds since the epoch. CollectionTime int64 `json:"collectionTime,omitempty,string"` // ConfidenceRadius: The location accuracy in meters. This is the radius // of a 95% confidence interval around the location measurement. ConfidenceRadius float64 `json:"confidenceRadius,omitempty"` // Kind: Identifies this object as a location. Kind string `json:"kind,omitempty"` // Latitude: Latitude. Latitude float64 `json:"latitude,omitempty"` // Longitude: Longitude. Longitude float64 `json:"longitude,omitempty"` } type Schedule struct { // AllDay: Whether the job is scheduled for the whole day. Time of day // in start/end times is ignored if this is true. AllDay bool `json:"allDay,omitempty"` // Duration: Job duration in milliseconds. Duration uint64 `json:"duration,omitempty,string"` // EndTime: Scheduled end time in milliseconds since epoch. EndTime uint64 `json:"endTime,omitempty,string"` // Kind: Identifies this object as a job schedule. Kind string `json:"kind,omitempty"` // StartTime: Scheduled start time in milliseconds since epoch. StartTime uint64 `json:"startTime,omitempty,string"` } type TokenPagination struct { // Kind: Identifies this object as pagination information. Kind string `json:"kind,omitempty"` // NextPageToken: A token to provide to get the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // PreviousPageToken: A token to provide to get the previous page of // results. PreviousPageToken string `json:"previousPageToken,omitempty"` } type Worker struct { // Id: Worker email address. Id string `json:"id,omitempty"` // Kind: Identifies this object as a worker. Kind string `json:"kind,omitempty"` } type WorkerListResponse struct { // Items: Workers in the collection. Items []*Worker `json:"items,omitempty"` // Kind: Identifies this object as a list of workers. Kind string `json:"kind,omitempty"` } // method id "coordinate.customFieldDef.list": type CustomFieldDefListCall struct { s *Service teamId string opt_ map[string]interface{} } // List: Retrieves a list of custom field definitions for a team. func (r *CustomFieldDefService) List(teamId string) *CustomFieldDefListCall { c := &CustomFieldDefListCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId 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 *CustomFieldDefListCall) Fields(s ...googleapi.Field) *CustomFieldDefListCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *CustomFieldDefListCall) Do() (*CustomFieldDefListResponse, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/custom_fields") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *CustomFieldDefListResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Retrieves a list of custom field definitions for a team.", // "httpMethod": "GET", // "id": "coordinate.customFieldDef.list", // "parameterOrder": [ // "teamId" // ], // "parameters": { // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{teamId}/custom_fields", // "response": { // "$ref": "CustomFieldDefListResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate", // "https://www.googleapis.com/auth/coordinate.readonly" // ] // } } // method id "coordinate.jobs.get": type JobsGetCall struct { s *Service teamId string jobId uint64 opt_ map[string]interface{} } // Get: Retrieves a job, including all the changes made to the job. func (r *JobsService) Get(teamId string, jobId uint64) *JobsGetCall { c := &JobsGetCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId c.jobId = jobId 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 *JobsGetCall) Fields(s ...googleapi.Field) *JobsGetCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *JobsGetCall) Do() (*Job, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/jobs/{jobId}") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, "jobId": strconv.FormatUint(c.jobId, 10), }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Job if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Retrieves a job, including all the changes made to the job.", // "httpMethod": "GET", // "id": "coordinate.jobs.get", // "parameterOrder": [ // "teamId", // "jobId" // ], // "parameters": { // "jobId": { // "description": "Job number", // "format": "uint64", // "location": "path", // "required": true, // "type": "string" // }, // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{teamId}/jobs/{jobId}", // "response": { // "$ref": "Job" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate", // "https://www.googleapis.com/auth/coordinate.readonly" // ] // } } // method id "coordinate.jobs.insert": type JobsInsertCall struct { s *Service teamId string address string lat float64 lng float64 title string job *Job opt_ map[string]interface{} } // Insert: Inserts a new job. Only the state field of the job should be // set. func (r *JobsService) Insert(teamId string, address string, lat float64, lng float64, title string, job *Job) *JobsInsertCall { c := &JobsInsertCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId c.address = address c.lat = lat c.lng = lng c.title = title c.job = job return c } // Assignee sets the optional parameter "assignee": Assignee email // address, or empty string to unassign. func (c *JobsInsertCall) Assignee(assignee string) *JobsInsertCall { c.opt_["assignee"] = assignee return c } // CustomField sets the optional parameter "customField": Map from // custom field id (from /team//custom_fields) to the field value. For // example '123=Alice' func (c *JobsInsertCall) CustomField(customField string) *JobsInsertCall { c.opt_["customField"] = customField return c } // CustomerName sets the optional parameter "customerName": Customer // name func (c *JobsInsertCall) CustomerName(customerName string) *JobsInsertCall { c.opt_["customerName"] = customerName return c } // CustomerPhoneNumber sets the optional parameter // "customerPhoneNumber": Customer phone number func (c *JobsInsertCall) CustomerPhoneNumber(customerPhoneNumber string) *JobsInsertCall { c.opt_["customerPhoneNumber"] = customerPhoneNumber return c } // Note sets the optional parameter "note": Job note as newline (Unix) // separated string func (c *JobsInsertCall) Note(note string) *JobsInsertCall { c.opt_["note"] = note 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 *JobsInsertCall) Fields(s ...googleapi.Field) *JobsInsertCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *JobsInsertCall) Do() (*Job, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.job) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") params.Set("address", fmt.Sprintf("%v", c.address)) params.Set("lat", fmt.Sprintf("%v", c.lat)) params.Set("lng", fmt.Sprintf("%v", c.lng)) params.Set("title", fmt.Sprintf("%v", c.title)) if v, ok := c.opt_["assignee"]; ok { params.Set("assignee", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["customField"]; ok { params.Set("customField", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["customerName"]; ok { params.Set("customerName", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["customerPhoneNumber"]; ok { params.Set("customerPhoneNumber", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["note"]; ok { params.Set("note", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/jobs") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, }) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Job if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Inserts a new job. Only the state field of the job should be set.", // "httpMethod": "POST", // "id": "coordinate.jobs.insert", // "parameterOrder": [ // "teamId", // "address", // "lat", // "lng", // "title" // ], // "parameters": { // "address": { // "description": "Job address as newline (Unix) separated string", // "location": "query", // "required": true, // "type": "string" // }, // "assignee": { // "description": "Assignee email address, or empty string to unassign.", // "location": "query", // "type": "string" // }, // "customField": { // "description": "Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice'", // "location": "query", // "repeated": true, // "type": "string" // }, // "customerName": { // "description": "Customer name", // "location": "query", // "type": "string" // }, // "customerPhoneNumber": { // "description": "Customer phone number", // "location": "query", // "type": "string" // }, // "lat": { // "description": "The latitude coordinate of this job's location.", // "format": "double", // "location": "query", // "required": true, // "type": "number" // }, // "lng": { // "description": "The longitude coordinate of this job's location.", // "format": "double", // "location": "query", // "required": true, // "type": "number" // }, // "note": { // "description": "Job note as newline (Unix) separated string", // "location": "query", // "type": "string" // }, // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // }, // "title": { // "description": "Job title", // "location": "query", // "required": true, // "type": "string" // } // }, // "path": "{teamId}/jobs", // "request": { // "$ref": "Job" // }, // "response": { // "$ref": "Job" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate" // ] // } } // method id "coordinate.jobs.list": type JobsListCall struct { s *Service teamId string opt_ map[string]interface{} } // List: Retrieves jobs created or modified since the given timestamp. func (r *JobsService) List(teamId string) *JobsListCall { c := &JobsListCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId return c } // MaxResults sets the optional parameter "maxResults": Maximum number // of results to return in one page. func (c *JobsListCall) MaxResults(maxResults int64) *JobsListCall { c.opt_["maxResults"] = maxResults return c } // MinModifiedTimestampMs sets the optional parameter // "minModifiedTimestampMs": Minimum time a job was modified in // milliseconds since epoch. func (c *JobsListCall) MinModifiedTimestampMs(minModifiedTimestampMs uint64) *JobsListCall { c.opt_["minModifiedTimestampMs"] = minModifiedTimestampMs return c } // PageToken sets the optional parameter "pageToken": Continuation token func (c *JobsListCall) PageToken(pageToken string) *JobsListCall { c.opt_["pageToken"] = pageToken return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *JobsListCall) Fields(s ...googleapi.Field) *JobsListCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *JobsListCall) Do() (*JobListResponse, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["maxResults"]; ok { params.Set("maxResults", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["minModifiedTimestampMs"]; ok { params.Set("minModifiedTimestampMs", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["pageToken"]; ok { params.Set("pageToken", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/jobs") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *JobListResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Retrieves jobs created or modified since the given timestamp.", // "httpMethod": "GET", // "id": "coordinate.jobs.list", // "parameterOrder": [ // "teamId" // ], // "parameters": { // "maxResults": { // "description": "Maximum number of results to return in one page.", // "format": "uint32", // "location": "query", // "type": "integer" // }, // "minModifiedTimestampMs": { // "description": "Minimum time a job was modified in milliseconds since epoch.", // "format": "uint64", // "location": "query", // "type": "string" // }, // "pageToken": { // "description": "Continuation token", // "location": "query", // "type": "string" // }, // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{teamId}/jobs", // "response": { // "$ref": "JobListResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate", // "https://www.googleapis.com/auth/coordinate.readonly" // ] // } } // method id "coordinate.jobs.patch": type JobsPatchCall struct { s *Service teamId string jobId uint64 job *Job opt_ map[string]interface{} } // Patch: Updates a job. Fields that are set in the job state will be // updated. This method supports patch semantics. func (r *JobsService) Patch(teamId string, jobId uint64, job *Job) *JobsPatchCall { c := &JobsPatchCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId c.jobId = jobId c.job = job return c } // Address sets the optional parameter "address": Job address as newline // (Unix) separated string func (c *JobsPatchCall) Address(address string) *JobsPatchCall { c.opt_["address"] = address return c } // Assignee sets the optional parameter "assignee": Assignee email // address, or empty string to unassign. func (c *JobsPatchCall) Assignee(assignee string) *JobsPatchCall { c.opt_["assignee"] = assignee return c } // CustomField sets the optional parameter "customField": Map from // custom field id (from /team//custom_fields) to the field value. For // example '123=Alice' func (c *JobsPatchCall) CustomField(customField string) *JobsPatchCall { c.opt_["customField"] = customField return c } // CustomerName sets the optional parameter "customerName": Customer // name func (c *JobsPatchCall) CustomerName(customerName string) *JobsPatchCall { c.opt_["customerName"] = customerName return c } // CustomerPhoneNumber sets the optional parameter // "customerPhoneNumber": Customer phone number func (c *JobsPatchCall) CustomerPhoneNumber(customerPhoneNumber string) *JobsPatchCall { c.opt_["customerPhoneNumber"] = customerPhoneNumber return c } // Lat sets the optional parameter "lat": The latitude coordinate of // this job's location. func (c *JobsPatchCall) Lat(lat float64) *JobsPatchCall { c.opt_["lat"] = lat return c } // Lng sets the optional parameter "lng": The longitude coordinate of // this job's location. func (c *JobsPatchCall) Lng(lng float64) *JobsPatchCall { c.opt_["lng"] = lng return c } // Note sets the optional parameter "note": Job note as newline (Unix) // separated string func (c *JobsPatchCall) Note(note string) *JobsPatchCall { c.opt_["note"] = note return c } // Progress sets the optional parameter "progress": Job progress func (c *JobsPatchCall) Progress(progress string) *JobsPatchCall { c.opt_["progress"] = progress return c } // Title sets the optional parameter "title": Job title func (c *JobsPatchCall) Title(title string) *JobsPatchCall { c.opt_["title"] = title 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 *JobsPatchCall) Fields(s ...googleapi.Field) *JobsPatchCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *JobsPatchCall) Do() (*Job, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.job) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["address"]; ok { params.Set("address", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["assignee"]; ok { params.Set("assignee", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["customField"]; ok { params.Set("customField", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["customerName"]; ok { params.Set("customerName", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["customerPhoneNumber"]; ok { params.Set("customerPhoneNumber", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["lat"]; ok { params.Set("lat", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["lng"]; ok { params.Set("lng", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["note"]; ok { params.Set("note", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["progress"]; ok { params.Set("progress", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["title"]; ok { params.Set("title", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/jobs/{jobId}") urls += "?" + params.Encode() req, _ := http.NewRequest("PATCH", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, "jobId": strconv.FormatUint(c.jobId, 10), }) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Job if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Updates a job. Fields that are set in the job state will be updated. This method supports patch semantics.", // "httpMethod": "PATCH", // "id": "coordinate.jobs.patch", // "parameterOrder": [ // "teamId", // "jobId" // ], // "parameters": { // "address": { // "description": "Job address as newline (Unix) separated string", // "location": "query", // "type": "string" // }, // "assignee": { // "description": "Assignee email address, or empty string to unassign.", // "location": "query", // "type": "string" // }, // "customField": { // "description": "Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice'", // "location": "query", // "repeated": true, // "type": "string" // }, // "customerName": { // "description": "Customer name", // "location": "query", // "type": "string" // }, // "customerPhoneNumber": { // "description": "Customer phone number", // "location": "query", // "type": "string" // }, // "jobId": { // "description": "Job number", // "format": "uint64", // "location": "path", // "required": true, // "type": "string" // }, // "lat": { // "description": "The latitude coordinate of this job's location.", // "format": "double", // "location": "query", // "type": "number" // }, // "lng": { // "description": "The longitude coordinate of this job's location.", // "format": "double", // "location": "query", // "type": "number" // }, // "note": { // "description": "Job note as newline (Unix) separated string", // "location": "query", // "type": "string" // }, // "progress": { // "description": "Job progress", // "enum": [ // "COMPLETED", // "IN_PROGRESS", // "NOT_ACCEPTED", // "NOT_STARTED", // "OBSOLETE" // ], // "enumDescriptions": [ // "Completed", // "In progress", // "Not accepted", // "Not started", // "Obsolete" // ], // "location": "query", // "type": "string" // }, // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // }, // "title": { // "description": "Job title", // "location": "query", // "type": "string" // } // }, // "path": "{teamId}/jobs/{jobId}", // "request": { // "$ref": "Job" // }, // "response": { // "$ref": "Job" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate" // ] // } } // method id "coordinate.jobs.update": type JobsUpdateCall struct { s *Service teamId string jobId uint64 job *Job opt_ map[string]interface{} } // Update: Updates a job. Fields that are set in the job state will be // updated. func (r *JobsService) Update(teamId string, jobId uint64, job *Job) *JobsUpdateCall { c := &JobsUpdateCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId c.jobId = jobId c.job = job return c } // Address sets the optional parameter "address": Job address as newline // (Unix) separated string func (c *JobsUpdateCall) Address(address string) *JobsUpdateCall { c.opt_["address"] = address return c } // Assignee sets the optional parameter "assignee": Assignee email // address, or empty string to unassign. func (c *JobsUpdateCall) Assignee(assignee string) *JobsUpdateCall { c.opt_["assignee"] = assignee return c } // CustomField sets the optional parameter "customField": Map from // custom field id (from /team//custom_fields) to the field value. For // example '123=Alice' func (c *JobsUpdateCall) CustomField(customField string) *JobsUpdateCall { c.opt_["customField"] = customField return c } // CustomerName sets the optional parameter "customerName": Customer // name func (c *JobsUpdateCall) CustomerName(customerName string) *JobsUpdateCall { c.opt_["customerName"] = customerName return c } // CustomerPhoneNumber sets the optional parameter // "customerPhoneNumber": Customer phone number func (c *JobsUpdateCall) CustomerPhoneNumber(customerPhoneNumber string) *JobsUpdateCall { c.opt_["customerPhoneNumber"] = customerPhoneNumber return c } // Lat sets the optional parameter "lat": The latitude coordinate of // this job's location. func (c *JobsUpdateCall) Lat(lat float64) *JobsUpdateCall { c.opt_["lat"] = lat return c } // Lng sets the optional parameter "lng": The longitude coordinate of // this job's location. func (c *JobsUpdateCall) Lng(lng float64) *JobsUpdateCall { c.opt_["lng"] = lng return c } // Note sets the optional parameter "note": Job note as newline (Unix) // separated string func (c *JobsUpdateCall) Note(note string) *JobsUpdateCall { c.opt_["note"] = note return c } // Progress sets the optional parameter "progress": Job progress func (c *JobsUpdateCall) Progress(progress string) *JobsUpdateCall { c.opt_["progress"] = progress return c } // Title sets the optional parameter "title": Job title func (c *JobsUpdateCall) Title(title string) *JobsUpdateCall { c.opt_["title"] = title 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 *JobsUpdateCall) Fields(s ...googleapi.Field) *JobsUpdateCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *JobsUpdateCall) Do() (*Job, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.job) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["address"]; ok { params.Set("address", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["assignee"]; ok { params.Set("assignee", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["customField"]; ok { params.Set("customField", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["customerName"]; ok { params.Set("customerName", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["customerPhoneNumber"]; ok { params.Set("customerPhoneNumber", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["lat"]; ok { params.Set("lat", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["lng"]; ok { params.Set("lng", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["note"]; ok { params.Set("note", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["progress"]; ok { params.Set("progress", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["title"]; ok { params.Set("title", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/jobs/{jobId}") urls += "?" + params.Encode() req, _ := http.NewRequest("PUT", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, "jobId": strconv.FormatUint(c.jobId, 10), }) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Job if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Updates a job. Fields that are set in the job state will be updated.", // "httpMethod": "PUT", // "id": "coordinate.jobs.update", // "parameterOrder": [ // "teamId", // "jobId" // ], // "parameters": { // "address": { // "description": "Job address as newline (Unix) separated string", // "location": "query", // "type": "string" // }, // "assignee": { // "description": "Assignee email address, or empty string to unassign.", // "location": "query", // "type": "string" // }, // "customField": { // "description": "Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice'", // "location": "query", // "repeated": true, // "type": "string" // }, // "customerName": { // "description": "Customer name", // "location": "query", // "type": "string" // }, // "customerPhoneNumber": { // "description": "Customer phone number", // "location": "query", // "type": "string" // }, // "jobId": { // "description": "Job number", // "format": "uint64", // "location": "path", // "required": true, // "type": "string" // }, // "lat": { // "description": "The latitude coordinate of this job's location.", // "format": "double", // "location": "query", // "type": "number" // }, // "lng": { // "description": "The longitude coordinate of this job's location.", // "format": "double", // "location": "query", // "type": "number" // }, // "note": { // "description": "Job note as newline (Unix) separated string", // "location": "query", // "type": "string" // }, // "progress": { // "description": "Job progress", // "enum": [ // "COMPLETED", // "IN_PROGRESS", // "NOT_ACCEPTED", // "NOT_STARTED", // "OBSOLETE" // ], // "enumDescriptions": [ // "Completed", // "In progress", // "Not accepted", // "Not started", // "Obsolete" // ], // "location": "query", // "type": "string" // }, // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // }, // "title": { // "description": "Job title", // "location": "query", // "type": "string" // } // }, // "path": "{teamId}/jobs/{jobId}", // "request": { // "$ref": "Job" // }, // "response": { // "$ref": "Job" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate" // ] // } } // method id "coordinate.location.list": type LocationListCall struct { s *Service teamId string workerEmail string startTimestampMs uint64 opt_ map[string]interface{} } // List: Retrieves a list of locations for a worker. func (r *LocationService) List(teamId string, workerEmail string, startTimestampMs uint64) *LocationListCall { c := &LocationListCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId c.workerEmail = workerEmail c.startTimestampMs = startTimestampMs return c } // MaxResults sets the optional parameter "maxResults": Maximum number // of results to return in one page. func (c *LocationListCall) MaxResults(maxResults int64) *LocationListCall { c.opt_["maxResults"] = maxResults return c } // PageToken sets the optional parameter "pageToken": Continuation token func (c *LocationListCall) PageToken(pageToken string) *LocationListCall { c.opt_["pageToken"] = pageToken return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *LocationListCall) Fields(s ...googleapi.Field) *LocationListCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *LocationListCall) Do() (*LocationListResponse, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") params.Set("startTimestampMs", fmt.Sprintf("%v", c.startTimestampMs)) if v, ok := c.opt_["maxResults"]; ok { params.Set("maxResults", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["pageToken"]; ok { params.Set("pageToken", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/workers/{workerEmail}/locations") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, "workerEmail": c.workerEmail, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *LocationListResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Retrieves a list of locations for a worker.", // "httpMethod": "GET", // "id": "coordinate.location.list", // "parameterOrder": [ // "teamId", // "workerEmail", // "startTimestampMs" // ], // "parameters": { // "maxResults": { // "description": "Maximum number of results to return in one page.", // "format": "uint32", // "location": "query", // "type": "integer" // }, // "pageToken": { // "description": "Continuation token", // "location": "query", // "type": "string" // }, // "startTimestampMs": { // "description": "Start timestamp in milliseconds since the epoch.", // "format": "uint64", // "location": "query", // "required": true, // "type": "string" // }, // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // }, // "workerEmail": { // "description": "Worker email address.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{teamId}/workers/{workerEmail}/locations", // "response": { // "$ref": "LocationListResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate", // "https://www.googleapis.com/auth/coordinate.readonly" // ] // } } // method id "coordinate.schedule.get": type ScheduleGetCall struct { s *Service teamId string jobId uint64 opt_ map[string]interface{} } // Get: Retrieves the schedule for a job. func (r *ScheduleService) Get(teamId string, jobId uint64) *ScheduleGetCall { c := &ScheduleGetCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId c.jobId = jobId 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 *ScheduleGetCall) Fields(s ...googleapi.Field) *ScheduleGetCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *ScheduleGetCall) Do() (*Schedule, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/jobs/{jobId}/schedule") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, "jobId": strconv.FormatUint(c.jobId, 10), }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Schedule if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Retrieves the schedule for a job.", // "httpMethod": "GET", // "id": "coordinate.schedule.get", // "parameterOrder": [ // "teamId", // "jobId" // ], // "parameters": { // "jobId": { // "description": "Job number", // "format": "uint64", // "location": "path", // "required": true, // "type": "string" // }, // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{teamId}/jobs/{jobId}/schedule", // "response": { // "$ref": "Schedule" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate", // "https://www.googleapis.com/auth/coordinate.readonly" // ] // } } // method id "coordinate.schedule.patch": type SchedulePatchCall struct { s *Service teamId string jobId uint64 schedule *Schedule opt_ map[string]interface{} } // Patch: Replaces the schedule of a job with the provided schedule. // This method supports patch semantics. func (r *ScheduleService) Patch(teamId string, jobId uint64, schedule *Schedule) *SchedulePatchCall { c := &SchedulePatchCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId c.jobId = jobId c.schedule = schedule return c } // AllDay sets the optional parameter "allDay": Whether the job is // scheduled for the whole day. Time of day in start/end times is // ignored if this is true. func (c *SchedulePatchCall) AllDay(allDay bool) *SchedulePatchCall { c.opt_["allDay"] = allDay return c } // Duration sets the optional parameter "duration": Job duration in // milliseconds. func (c *SchedulePatchCall) Duration(duration uint64) *SchedulePatchCall { c.opt_["duration"] = duration return c } // EndTime sets the optional parameter "endTime": Scheduled end time in // milliseconds since epoch. func (c *SchedulePatchCall) EndTime(endTime uint64) *SchedulePatchCall { c.opt_["endTime"] = endTime return c } // StartTime sets the optional parameter "startTime": Scheduled start // time in milliseconds since epoch. func (c *SchedulePatchCall) StartTime(startTime uint64) *SchedulePatchCall { c.opt_["startTime"] = startTime 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 *SchedulePatchCall) Fields(s ...googleapi.Field) *SchedulePatchCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *SchedulePatchCall) Do() (*Schedule, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.schedule) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["allDay"]; ok { params.Set("allDay", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["duration"]; ok { params.Set("duration", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["endTime"]; ok { params.Set("endTime", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["startTime"]; ok { params.Set("startTime", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/jobs/{jobId}/schedule") urls += "?" + params.Encode() req, _ := http.NewRequest("PATCH", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, "jobId": strconv.FormatUint(c.jobId, 10), }) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Schedule if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Replaces the schedule of a job with the provided schedule. This method supports patch semantics.", // "httpMethod": "PATCH", // "id": "coordinate.schedule.patch", // "parameterOrder": [ // "teamId", // "jobId" // ], // "parameters": { // "allDay": { // "description": "Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.", // "location": "query", // "type": "boolean" // }, // "duration": { // "description": "Job duration in milliseconds.", // "format": "uint64", // "location": "query", // "type": "string" // }, // "endTime": { // "description": "Scheduled end time in milliseconds since epoch.", // "format": "uint64", // "location": "query", // "type": "string" // }, // "jobId": { // "description": "Job number", // "format": "uint64", // "location": "path", // "required": true, // "type": "string" // }, // "startTime": { // "description": "Scheduled start time in milliseconds since epoch.", // "format": "uint64", // "location": "query", // "type": "string" // }, // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{teamId}/jobs/{jobId}/schedule", // "request": { // "$ref": "Schedule" // }, // "response": { // "$ref": "Schedule" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate" // ] // } } // method id "coordinate.schedule.update": type ScheduleUpdateCall struct { s *Service teamId string jobId uint64 schedule *Schedule opt_ map[string]interface{} } // Update: Replaces the schedule of a job with the provided schedule. func (r *ScheduleService) Update(teamId string, jobId uint64, schedule *Schedule) *ScheduleUpdateCall { c := &ScheduleUpdateCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId c.jobId = jobId c.schedule = schedule return c } // AllDay sets the optional parameter "allDay": Whether the job is // scheduled for the whole day. Time of day in start/end times is // ignored if this is true. func (c *ScheduleUpdateCall) AllDay(allDay bool) *ScheduleUpdateCall { c.opt_["allDay"] = allDay return c } // Duration sets the optional parameter "duration": Job duration in // milliseconds. func (c *ScheduleUpdateCall) Duration(duration uint64) *ScheduleUpdateCall { c.opt_["duration"] = duration return c } // EndTime sets the optional parameter "endTime": Scheduled end time in // milliseconds since epoch. func (c *ScheduleUpdateCall) EndTime(endTime uint64) *ScheduleUpdateCall { c.opt_["endTime"] = endTime return c } // StartTime sets the optional parameter "startTime": Scheduled start // time in milliseconds since epoch. func (c *ScheduleUpdateCall) StartTime(startTime uint64) *ScheduleUpdateCall { c.opt_["startTime"] = startTime 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 *ScheduleUpdateCall) Fields(s ...googleapi.Field) *ScheduleUpdateCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *ScheduleUpdateCall) Do() (*Schedule, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.schedule) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["allDay"]; ok { params.Set("allDay", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["duration"]; ok { params.Set("duration", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["endTime"]; ok { params.Set("endTime", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["startTime"]; ok { params.Set("startTime", fmt.Sprintf("%v", v)) } if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/jobs/{jobId}/schedule") urls += "?" + params.Encode() req, _ := http.NewRequest("PUT", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, "jobId": strconv.FormatUint(c.jobId, 10), }) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *Schedule if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Replaces the schedule of a job with the provided schedule.", // "httpMethod": "PUT", // "id": "coordinate.schedule.update", // "parameterOrder": [ // "teamId", // "jobId" // ], // "parameters": { // "allDay": { // "description": "Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.", // "location": "query", // "type": "boolean" // }, // "duration": { // "description": "Job duration in milliseconds.", // "format": "uint64", // "location": "query", // "type": "string" // }, // "endTime": { // "description": "Scheduled end time in milliseconds since epoch.", // "format": "uint64", // "location": "query", // "type": "string" // }, // "jobId": { // "description": "Job number", // "format": "uint64", // "location": "path", // "required": true, // "type": "string" // }, // "startTime": { // "description": "Scheduled start time in milliseconds since epoch.", // "format": "uint64", // "location": "query", // "type": "string" // }, // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{teamId}/jobs/{jobId}/schedule", // "request": { // "$ref": "Schedule" // }, // "response": { // "$ref": "Schedule" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate" // ] // } } // method id "coordinate.worker.list": type WorkerListCall struct { s *Service teamId string opt_ map[string]interface{} } // List: Retrieves a list of workers in a team. func (r *WorkerService) List(teamId string) *WorkerListCall { c := &WorkerListCall{s: r.s, opt_: make(map[string]interface{})} c.teamId = teamId 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 *WorkerListCall) Fields(s ...googleapi.Field) *WorkerListCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *WorkerListCall) Do() (*WorkerListResponse, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "{teamId}/workers") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.Expand(req.URL, map[string]string{ "teamId": c.teamId, }) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *WorkerListResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Retrieves a list of workers in a team.", // "httpMethod": "GET", // "id": "coordinate.worker.list", // "parameterOrder": [ // "teamId" // ], // "parameters": { // "teamId": { // "description": "Team ID", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "{teamId}/workers", // "response": { // "$ref": "WorkerListResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/coordinate", // "https://www.googleapis.com/auth/coordinate.readonly" // ] // } }