blob: 1a2a3ed0c23906ca3c50003d0ea0f38630b3c7be [file] [log] [blame]
// Package analytics provides access to the Google Analytics API.
//
// See https://developers.google.com/analytics/
//
// Usage example:
//
// import "google.golang.org/api/analytics/v3"
// ...
// analyticsService, err := analytics.New(oauthHttpClient)
package analytics
import (
"bytes"
"encoding/json"
"errors"
"fmt"
"golang.org/x/net/context"
"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
var _ = context.Background
const apiId = "analytics:v3"
const apiName = "analytics"
const apiVersion = "v3"
const basePath = "https://www.googleapis.com/analytics/v3/"
// OAuth2 scopes used by this API.
const (
// View and manage your Google Analytics data
AnalyticsScope = "https://www.googleapis.com/auth/analytics"
// Edit Google Analytics management entities
AnalyticsEditScope = "https://www.googleapis.com/auth/analytics.edit"
// Manage Google Analytics Account users by email address
AnalyticsManageUsersScope = "https://www.googleapis.com/auth/analytics.manage.users"
// View Google Analytics user permissions
AnalyticsManageUsersReadonlyScope = "https://www.googleapis.com/auth/analytics.manage.users.readonly"
// Create a new Google Analytics account along with its default property
// and view
AnalyticsProvisionScope = "https://www.googleapis.com/auth/analytics.provision"
// View your Google Analytics data
AnalyticsReadonlyScope = "https://www.googleapis.com/auth/analytics.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.Data = NewDataService(s)
s.Management = NewManagementService(s)
s.Metadata = NewMetadataService(s)
s.Provisioning = NewProvisioningService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
Data *DataService
Management *ManagementService
Metadata *MetadataService
Provisioning *ProvisioningService
}
func NewDataService(s *Service) *DataService {
rs := &DataService{s: s}
rs.Ga = NewDataGaService(s)
rs.Mcf = NewDataMcfService(s)
rs.Realtime = NewDataRealtimeService(s)
return rs
}
type DataService struct {
s *Service
Ga *DataGaService
Mcf *DataMcfService
Realtime *DataRealtimeService
}
func NewDataGaService(s *Service) *DataGaService {
rs := &DataGaService{s: s}
return rs
}
type DataGaService struct {
s *Service
}
func NewDataMcfService(s *Service) *DataMcfService {
rs := &DataMcfService{s: s}
return rs
}
type DataMcfService struct {
s *Service
}
func NewDataRealtimeService(s *Service) *DataRealtimeService {
rs := &DataRealtimeService{s: s}
return rs
}
type DataRealtimeService struct {
s *Service
}
func NewManagementService(s *Service) *ManagementService {
rs := &ManagementService{s: s}
rs.AccountSummaries = NewManagementAccountSummariesService(s)
rs.AccountUserLinks = NewManagementAccountUserLinksService(s)
rs.Accounts = NewManagementAccountsService(s)
rs.CustomDataSources = NewManagementCustomDataSourcesService(s)
rs.CustomDimensions = NewManagementCustomDimensionsService(s)
rs.CustomMetrics = NewManagementCustomMetricsService(s)
rs.DailyUploads = NewManagementDailyUploadsService(s)
rs.Experiments = NewManagementExperimentsService(s)
rs.Filters = NewManagementFiltersService(s)
rs.Goals = NewManagementGoalsService(s)
rs.ProfileFilterLinks = NewManagementProfileFilterLinksService(s)
rs.ProfileUserLinks = NewManagementProfileUserLinksService(s)
rs.Profiles = NewManagementProfilesService(s)
rs.Segments = NewManagementSegmentsService(s)
rs.UnsampledReports = NewManagementUnsampledReportsService(s)
rs.Uploads = NewManagementUploadsService(s)
rs.WebPropertyAdWordsLinks = NewManagementWebPropertyAdWordsLinksService(s)
rs.Webproperties = NewManagementWebpropertiesService(s)
rs.WebpropertyUserLinks = NewManagementWebpropertyUserLinksService(s)
return rs
}
type ManagementService struct {
s *Service
AccountSummaries *ManagementAccountSummariesService
AccountUserLinks *ManagementAccountUserLinksService
Accounts *ManagementAccountsService
CustomDataSources *ManagementCustomDataSourcesService
CustomDimensions *ManagementCustomDimensionsService
CustomMetrics *ManagementCustomMetricsService
DailyUploads *ManagementDailyUploadsService
Experiments *ManagementExperimentsService
Filters *ManagementFiltersService
Goals *ManagementGoalsService
ProfileFilterLinks *ManagementProfileFilterLinksService
ProfileUserLinks *ManagementProfileUserLinksService
Profiles *ManagementProfilesService
Segments *ManagementSegmentsService
UnsampledReports *ManagementUnsampledReportsService
Uploads *ManagementUploadsService
WebPropertyAdWordsLinks *ManagementWebPropertyAdWordsLinksService
Webproperties *ManagementWebpropertiesService
WebpropertyUserLinks *ManagementWebpropertyUserLinksService
}
func NewManagementAccountSummariesService(s *Service) *ManagementAccountSummariesService {
rs := &ManagementAccountSummariesService{s: s}
return rs
}
type ManagementAccountSummariesService struct {
s *Service
}
func NewManagementAccountUserLinksService(s *Service) *ManagementAccountUserLinksService {
rs := &ManagementAccountUserLinksService{s: s}
return rs
}
type ManagementAccountUserLinksService struct {
s *Service
}
func NewManagementAccountsService(s *Service) *ManagementAccountsService {
rs := &ManagementAccountsService{s: s}
return rs
}
type ManagementAccountsService struct {
s *Service
}
func NewManagementCustomDataSourcesService(s *Service) *ManagementCustomDataSourcesService {
rs := &ManagementCustomDataSourcesService{s: s}
return rs
}
type ManagementCustomDataSourcesService struct {
s *Service
}
func NewManagementCustomDimensionsService(s *Service) *ManagementCustomDimensionsService {
rs := &ManagementCustomDimensionsService{s: s}
return rs
}
type ManagementCustomDimensionsService struct {
s *Service
}
func NewManagementCustomMetricsService(s *Service) *ManagementCustomMetricsService {
rs := &ManagementCustomMetricsService{s: s}
return rs
}
type ManagementCustomMetricsService struct {
s *Service
}
func NewManagementDailyUploadsService(s *Service) *ManagementDailyUploadsService {
rs := &ManagementDailyUploadsService{s: s}
return rs
}
type ManagementDailyUploadsService struct {
s *Service
}
func NewManagementExperimentsService(s *Service) *ManagementExperimentsService {
rs := &ManagementExperimentsService{s: s}
return rs
}
type ManagementExperimentsService struct {
s *Service
}
func NewManagementFiltersService(s *Service) *ManagementFiltersService {
rs := &ManagementFiltersService{s: s}
return rs
}
type ManagementFiltersService struct {
s *Service
}
func NewManagementGoalsService(s *Service) *ManagementGoalsService {
rs := &ManagementGoalsService{s: s}
return rs
}
type ManagementGoalsService struct {
s *Service
}
func NewManagementProfileFilterLinksService(s *Service) *ManagementProfileFilterLinksService {
rs := &ManagementProfileFilterLinksService{s: s}
return rs
}
type ManagementProfileFilterLinksService struct {
s *Service
}
func NewManagementProfileUserLinksService(s *Service) *ManagementProfileUserLinksService {
rs := &ManagementProfileUserLinksService{s: s}
return rs
}
type ManagementProfileUserLinksService struct {
s *Service
}
func NewManagementProfilesService(s *Service) *ManagementProfilesService {
rs := &ManagementProfilesService{s: s}
return rs
}
type ManagementProfilesService struct {
s *Service
}
func NewManagementSegmentsService(s *Service) *ManagementSegmentsService {
rs := &ManagementSegmentsService{s: s}
return rs
}
type ManagementSegmentsService struct {
s *Service
}
func NewManagementUnsampledReportsService(s *Service) *ManagementUnsampledReportsService {
rs := &ManagementUnsampledReportsService{s: s}
return rs
}
type ManagementUnsampledReportsService struct {
s *Service
}
func NewManagementUploadsService(s *Service) *ManagementUploadsService {
rs := &ManagementUploadsService{s: s}
return rs
}
type ManagementUploadsService struct {
s *Service
}
func NewManagementWebPropertyAdWordsLinksService(s *Service) *ManagementWebPropertyAdWordsLinksService {
rs := &ManagementWebPropertyAdWordsLinksService{s: s}
return rs
}
type ManagementWebPropertyAdWordsLinksService struct {
s *Service
}
func NewManagementWebpropertiesService(s *Service) *ManagementWebpropertiesService {
rs := &ManagementWebpropertiesService{s: s}
return rs
}
type ManagementWebpropertiesService struct {
s *Service
}
func NewManagementWebpropertyUserLinksService(s *Service) *ManagementWebpropertyUserLinksService {
rs := &ManagementWebpropertyUserLinksService{s: s}
return rs
}
type ManagementWebpropertyUserLinksService struct {
s *Service
}
func NewMetadataService(s *Service) *MetadataService {
rs := &MetadataService{s: s}
rs.Columns = NewMetadataColumnsService(s)
return rs
}
type MetadataService struct {
s *Service
Columns *MetadataColumnsService
}
func NewMetadataColumnsService(s *Service) *MetadataColumnsService {
rs := &MetadataColumnsService{s: s}
return rs
}
type MetadataColumnsService struct {
s *Service
}
func NewProvisioningService(s *Service) *ProvisioningService {
rs := &ProvisioningService{s: s}
return rs
}
type ProvisioningService struct {
s *Service
}
type Account struct {
// ChildLink: Child link for an account entry. Points to the list of web
// properties for this account.
ChildLink *AccountChildLink `json:"childLink,omitempty"`
// Created: Time the account was created.
Created string `json:"created,omitempty"`
// Id: Account ID.
Id string `json:"id,omitempty"`
// Kind: Resource type for Analytics account.
Kind string `json:"kind,omitempty"`
// Name: Account name.
Name string `json:"name,omitempty"`
// Permissions: Permissions the user has for this account.
Permissions *AccountPermissions `json:"permissions,omitempty"`
// SelfLink: Link for this account.
SelfLink string `json:"selfLink,omitempty"`
// Updated: Time the account was last modified.
Updated string `json:"updated,omitempty"`
}
type AccountChildLink struct {
// Href: Link to the list of web properties for this account.
Href string `json:"href,omitempty"`
// Type: Type of the child link. Its value is "analytics#webproperties".
Type string `json:"type,omitempty"`
}
type AccountPermissions struct {
// Effective: All the permissions that the user has for this account.
// These include any implied permissions (e.g., EDIT implies VIEW).
Effective []string `json:"effective,omitempty"`
}
type AccountRef struct {
// Href: Link for this account.
Href string `json:"href,omitempty"`
// Id: Account ID.
Id string `json:"id,omitempty"`
// Kind: Analytics account reference.
Kind string `json:"kind,omitempty"`
// Name: Account name.
Name string `json:"name,omitempty"`
}
type AccountSummaries struct {
// Items: A list of AccountSummaries.
Items []*AccountSummary `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this AccountSummary collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this AccountSummary
// collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type AccountSummary struct {
// Id: Account ID.
Id string `json:"id,omitempty"`
// Kind: Resource type for Analytics AccountSummary.
Kind string `json:"kind,omitempty"`
// Name: Account name.
Name string `json:"name,omitempty"`
// WebProperties: List of web properties under this account.
WebProperties []*WebPropertySummary `json:"webProperties,omitempty"`
}
type AccountTicket struct {
// Account: Account for this ticket.
Account *Account `json:"account,omitempty"`
// Id: Account ticket ID used to access the account ticket.
Id string `json:"id,omitempty"`
// Kind: Resource type for account ticket.
Kind string `json:"kind,omitempty"`
// Profile: View (Profile) for the account.
Profile *Profile `json:"profile,omitempty"`
// RedirectUri: Redirect URI where the user will be sent after accepting
// Terms of Service. Must be configured in APIs console as a callback
// URL.
RedirectUri string `json:"redirectUri,omitempty"`
// Webproperty: Web property for the account.
Webproperty *Webproperty `json:"webproperty,omitempty"`
}
type Accounts struct {
// Items: A list of accounts.
Items []*Account `json:"items,omitempty"`
// ItemsPerPage: The maximum number of entries the response can contain,
// regardless of the actual number of entries returned. Its value ranges
// from 1 to 1000 with a value of 1000 by default, or otherwise
// specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Next link for this account collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Previous link for this account collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the entries, which is 1 by default
// or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type AdWordsAccount struct {
// AutoTaggingEnabled: True if auto-tagging is enabled on the AdWords
// account. Read-only after the insert operation.
AutoTaggingEnabled bool `json:"autoTaggingEnabled,omitempty"`
// CustomerId: Customer ID. This field is required when creating an
// AdWords link.
CustomerId string `json:"customerId,omitempty"`
// Kind: Resource type for AdWords account.
Kind string `json:"kind,omitempty"`
}
type AnalyticsDataimportDeleteUploadDataRequest struct {
// CustomDataImportUids: A list of upload UIDs.
CustomDataImportUids []string `json:"customDataImportUids,omitempty"`
}
type Column struct {
// Attributes: Map of attribute name and value for this column.
Attributes map[string]string `json:"attributes,omitempty"`
// Id: Column id.
Id string `json:"id,omitempty"`
// Kind: Resource type for Analytics column.
Kind string `json:"kind,omitempty"`
}
type Columns struct {
// AttributeNames: List of attributes names returned by columns.
AttributeNames []string `json:"attributeNames,omitempty"`
// Etag: Etag of collection. This etag can be compared with the last
// response etag to check if response has changed.
Etag string `json:"etag,omitempty"`
// Items: List of columns for a report type.
Items []*Column `json:"items,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// TotalResults: Total number of columns returned in the response.
TotalResults int64 `json:"totalResults,omitempty"`
}
type CustomDataSource struct {
// AccountId: Account ID to which this custom data source belongs.
AccountId string `json:"accountId,omitempty"`
ChildLink *CustomDataSourceChildLink `json:"childLink,omitempty"`
// Created: Time this custom data source was created.
Created string `json:"created,omitempty"`
// Description: Description of custom data source.
Description string `json:"description,omitempty"`
// Id: Custom data source ID.
Id string `json:"id,omitempty"`
ImportBehavior string `json:"importBehavior,omitempty"`
// Kind: Resource type for Analytics custom data source.
Kind string `json:"kind,omitempty"`
// Name: Name of this custom data source.
Name string `json:"name,omitempty"`
// ParentLink: Parent link for this custom data source. Points to the
// web property to which this custom data source belongs.
ParentLink *CustomDataSourceParentLink `json:"parentLink,omitempty"`
// ProfilesLinked: IDs of views (profiles) linked to the custom data
// source.
ProfilesLinked []string `json:"profilesLinked,omitempty"`
// SelfLink: Link for this Analytics custom data source.
SelfLink string `json:"selfLink,omitempty"`
// Type: Type of the custom data source.
Type string `json:"type,omitempty"`
// Updated: Time this custom data source was last modified.
Updated string `json:"updated,omitempty"`
UploadType string `json:"uploadType,omitempty"`
// WebPropertyId: Web property ID of the form UA-XXXXX-YY to which this
// custom data source belongs.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type CustomDataSourceChildLink struct {
// Href: Link to the list of daily uploads for this custom data source.
// Link to the list of uploads for this custom data source.
Href string `json:"href,omitempty"`
// Type: Value is "analytics#dailyUploads". Value is
// "analytics#uploads".
Type string `json:"type,omitempty"`
}
type CustomDataSourceParentLink struct {
// Href: Link to the web property to which this custom data source
// belongs.
Href string `json:"href,omitempty"`
// Type: Value is "analytics#webproperty".
Type string `json:"type,omitempty"`
}
type CustomDataSources struct {
// Items: Collection of custom data sources.
Items []*CustomDataSource `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this custom data source collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this custom data source
// collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type CustomDimension struct {
// AccountId: Account ID.
AccountId string `json:"accountId,omitempty"`
// Active: Boolean indicating whether the custom dimension is active.
Active bool `json:"active,omitempty"`
// Created: Time the custom dimension was created.
Created string `json:"created,omitempty"`
// Id: Custom dimension ID.
Id string `json:"id,omitempty"`
// Index: Index of the custom dimension.
Index int64 `json:"index,omitempty"`
// Kind: Kind value for a custom dimension. Set to
// "analytics#customDimension". It is a read-only field.
Kind string `json:"kind,omitempty"`
// Name: Name of the custom dimension.
Name string `json:"name,omitempty"`
// ParentLink: Parent link for the custom dimension. Points to the
// property to which the custom dimension belongs.
ParentLink *CustomDimensionParentLink `json:"parentLink,omitempty"`
// Scope: Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
Scope string `json:"scope,omitempty"`
// SelfLink: Link for the custom dimension
SelfLink string `json:"selfLink,omitempty"`
// Updated: Time the custom dimension was last modified.
Updated string `json:"updated,omitempty"`
// WebPropertyId: Property ID.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type CustomDimensionParentLink struct {
// Href: Link to the property to which the custom dimension belongs.
Href string `json:"href,omitempty"`
// Type: Type of the parent link. Set to "analytics#webproperty".
Type string `json:"type,omitempty"`
}
type CustomDimensions struct {
// Items: Collection of custom dimensions.
Items []*CustomDimension `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this custom dimension collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this custom dimension
// collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type CustomMetric struct {
// AccountId: Account ID.
AccountId string `json:"accountId,omitempty"`
// Active: Boolean indicating whether the custom metric is active.
Active bool `json:"active,omitempty"`
// Created: Time the custom metric was created.
Created string `json:"created,omitempty"`
// Id: Custom metric ID.
Id string `json:"id,omitempty"`
// Index: Index of the custom metric.
Index int64 `json:"index,omitempty"`
// Kind: Kind value for a custom metric. Set to
// "analytics#customMetric". It is a read-only field.
Kind string `json:"kind,omitempty"`
// Max_value: Max value of custom metric.
Max_value string `json:"max_value,omitempty"`
// Min_value: Min value of custom metric.
Min_value string `json:"min_value,omitempty"`
// Name: Name of the custom metric.
Name string `json:"name,omitempty"`
// ParentLink: Parent link for the custom metric. Points to the property
// to which the custom metric belongs.
ParentLink *CustomMetricParentLink `json:"parentLink,omitempty"`
// Scope: Scope of the custom metric: HIT or PRODUCT.
Scope string `json:"scope,omitempty"`
// SelfLink: Link for the custom metric
SelfLink string `json:"selfLink,omitempty"`
// Type: Data type of custom metric.
Type string `json:"type,omitempty"`
// Updated: Time the custom metric was last modified.
Updated string `json:"updated,omitempty"`
// WebPropertyId: Property ID.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type CustomMetricParentLink struct {
// Href: Link to the property to which the custom metric belongs.
Href string `json:"href,omitempty"`
// Type: Type of the parent link. Set to "analytics#webproperty".
Type string `json:"type,omitempty"`
}
type CustomMetrics struct {
// Items: Collection of custom metrics.
Items []*CustomMetric `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this custom metric collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this custom metric
// collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type DailyUpload struct {
// AccountId: Account ID to which this daily upload belongs.
AccountId string `json:"accountId,omitempty"`
// AppendCount: Number of appends for this date.
AppendCount int64 `json:"appendCount,omitempty"`
// CreatedTime: Time this daily upload was created.
CreatedTime string `json:"createdTime,omitempty"`
// CustomDataSourceId: Custom data source ID to which this daily upload
// belongs.
CustomDataSourceId string `json:"customDataSourceId,omitempty"`
// Date: Date associated with daily upload.
Date string `json:"date,omitempty"`
// Kind: Resource type for Analytics daily upload.
Kind string `json:"kind,omitempty"`
// ModifiedTime: Time this daily upload was last modified.
ModifiedTime string `json:"modifiedTime,omitempty"`
// ParentLink: Parent link for a daily upload. Points to the custom data
// source to which this daily upload belongs.
ParentLink *DailyUploadParentLink `json:"parentLink,omitempty"`
// RecentChanges: Change log for last 10 changes in chronological order.
RecentChanges []*DailyUploadRecentChanges `json:"recentChanges,omitempty"`
// SelfLink: Link for this daily upload.
SelfLink string `json:"selfLink,omitempty"`
// WebPropertyId: Web property ID of the form UA-XXXXX-YY to which this
// daily upload belongs.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type DailyUploadParentLink struct {
// Href: Link to the custom data source to which this daily upload
// belongs.
Href string `json:"href,omitempty"`
// Type: Value is "analytics#customDataSource".
Type string `json:"type,omitempty"`
}
type DailyUploadRecentChanges struct {
// Change: The type of change: APPEND, RESET, or DELETE.
Change string `json:"change,omitempty"`
// Time: The time when the change occurred.
Time string `json:"time,omitempty"`
}
type DailyUploadAppend struct {
// AccountId: Account Id to which this daily upload append belongs.
AccountId string `json:"accountId,omitempty"`
// AppendNumber: Append number.
AppendNumber int64 `json:"appendNumber,omitempty"`
// CustomDataSourceId: Custom data source Id to which this daily upload
// append belongs.
CustomDataSourceId string `json:"customDataSourceId,omitempty"`
// Date: Date associated with daily upload append.
Date string `json:"date,omitempty"`
// Kind: Resource type for Analytics daily upload append.
Kind string `json:"kind,omitempty"`
NextAppendLink string `json:"nextAppendLink,omitempty"`
// WebPropertyId: Web property Id of the form UA-XXXXX-YY to which this
// daily upload append belongs.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type DailyUploads struct {
// Items: A collection of daily uploads.
Items []*DailyUpload `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type. Value is analytics#dailyUploads.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this daily upload collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this daily upload collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type EntityAdWordsLink struct {
// AdWordsAccounts: A list of AdWords client accounts. These cannot be
// MCC accounts. This field is required when creating an AdWords link.
// It cannot be empty.
AdWordsAccounts []*AdWordsAccount `json:"adWordsAccounts,omitempty"`
// Entity: Web property being linked.
Entity *EntityAdWordsLinkEntity `json:"entity,omitempty"`
// Id: Entity AdWords link ID
Id string `json:"id,omitempty"`
// Kind: Resource type for entity AdWords link.
Kind string `json:"kind,omitempty"`
// Name: Name of the link. This field is required when creating an
// AdWords link.
Name string `json:"name,omitempty"`
// ProfileIds: IDs of linked Views (Profiles) represented as strings.
ProfileIds []string `json:"profileIds,omitempty"`
// SelfLink: URL link for this Google Analytics - Google AdWords link.
SelfLink string `json:"selfLink,omitempty"`
}
type EntityAdWordsLinkEntity struct {
WebPropertyRef *WebPropertyRef `json:"webPropertyRef,omitempty"`
}
type EntityAdWordsLinks struct {
// Items: A list of entity AdWords links.
Items []*EntityAdWordsLink `json:"items,omitempty"`
// ItemsPerPage: The maximum number of entries the response can contain,
// regardless of the actual number of entries returned. Its value ranges
// from 1 to 1000 with a value of 1000 by default, or otherwise
// specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Next link for this AdWords link collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Previous link for this AdWords link collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the entries, which is 1 by default
// or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
}
type EntityUserLink struct {
// Entity: Entity for this link. It can be an account, a web property,
// or a view (profile).
Entity *EntityUserLinkEntity `json:"entity,omitempty"`
// Id: Entity user link ID
Id string `json:"id,omitempty"`
// Kind: Resource type for entity user link.
Kind string `json:"kind,omitempty"`
// Permissions: Permissions the user has for this entity.
Permissions *EntityUserLinkPermissions `json:"permissions,omitempty"`
// SelfLink: Self link for this resource.
SelfLink string `json:"selfLink,omitempty"`
// UserRef: User reference.
UserRef *UserRef `json:"userRef,omitempty"`
}
type EntityUserLinkEntity struct {
// AccountRef: Account for this link.
AccountRef *AccountRef `json:"accountRef,omitempty"`
// ProfileRef: View (Profile) for this link.
ProfileRef *ProfileRef `json:"profileRef,omitempty"`
// WebPropertyRef: Web property for this link.
WebPropertyRef *WebPropertyRef `json:"webPropertyRef,omitempty"`
}
type EntityUserLinkPermissions struct {
// Effective: Effective permissions represent all the permissions that a
// user has for this entity. These include any implied permissions
// (e.g., EDIT implies VIEW) or inherited permissions from the parent
// entity. Effective permissions are read-only.
Effective []string `json:"effective,omitempty"`
// Local: Permissions that a user has been assigned at this very level.
// Does not include any implied or inherited permissions. Local
// permissions are modifiable.
Local []string `json:"local,omitempty"`
}
type EntityUserLinks struct {
// Items: A list of entity user links.
Items []*EntityUserLink `json:"items,omitempty"`
// ItemsPerPage: The maximum number of entries the response can contain,
// regardless of the actual number of entries returned. Its value ranges
// from 1 to 1000 with a value of 1000 by default, or otherwise
// specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Next link for this account collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Previous link for this account collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the entries, which is 1 by default
// or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
}
type Experiment struct {
// AccountId: Account ID to which this experiment belongs. This field is
// read-only.
AccountId string `json:"accountId,omitempty"`
// Created: Time the experiment was created. This field is read-only.
Created string `json:"created,omitempty"`
// Description: Notes about this experiment.
Description string `json:"description,omitempty"`
// EditableInGaUi: If true, the end user will be able to edit the
// experiment via the Google Analytics user interface.
EditableInGaUi bool `json:"editableInGaUi,omitempty"`
// EndTime: The ending time of the experiment (the time the status
// changed from RUNNING to ENDED). This field is present only if the
// experiment has ended. This field is read-only.
EndTime string `json:"endTime,omitempty"`
// EqualWeighting: Boolean specifying whether to distribute traffic
// evenly across all variations. If the value is False, content
// experiments follows the default behavior of adjusting traffic
// dynamically based on variation performance. Optional -- defaults to
// False. This field may not be changed for an experiment whose status
// is ENDED.
EqualWeighting bool `json:"equalWeighting,omitempty"`
// Id: Experiment ID. Required for patch and update. Disallowed for
// create.
Id string `json:"id,omitempty"`
// InternalWebPropertyId: Internal ID for the web property to which this
// experiment belongs. This field is read-only.
InternalWebPropertyId string `json:"internalWebPropertyId,omitempty"`
// Kind: Resource type for an Analytics experiment. This field is
// read-only.
Kind string `json:"kind,omitempty"`
// MinimumExperimentLengthInDays: An integer number in [3, 90].
// Specifies the minimum length of the experiment. Can be changed for a
// running experiment. This field may not be changed for an experiments
// whose status is ENDED.
MinimumExperimentLengthInDays int64 `json:"minimumExperimentLengthInDays,omitempty"`
// Name: Experiment name. This field may not be changed for an
// experiment whose status is ENDED. This field is required when
// creating an experiment.
Name string `json:"name,omitempty"`
// ObjectiveMetric: The metric that the experiment is optimizing. Valid
// values: "ga:goal(n)Completions", "ga:adsenseAdsClicks",
// "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces",
// "ga:pageviews", "ga:sessionDuration", "ga:transactions",
// "ga:transactionRevenue". This field is required if status is
// "RUNNING" and servingFramework is one of "REDIRECT" or "API".
ObjectiveMetric string `json:"objectiveMetric,omitempty"`
// OptimizationType: Whether the objectiveMetric should be minimized or
// maximized. Possible values: "MAXIMUM", "MINIMUM". Optional--defaults
// to "MAXIMUM". Cannot be specified without objectiveMetric. Cannot be
// modified when status is "RUNNING" or "ENDED".
OptimizationType string `json:"optimizationType,omitempty"`
// ParentLink: Parent link for an experiment. Points to the view
// (profile) to which this experiment belongs.
ParentLink *ExperimentParentLink `json:"parentLink,omitempty"`
// ProfileId: View (Profile) ID to which this experiment belongs. This
// field is read-only.
ProfileId string `json:"profileId,omitempty"`
// ReasonExperimentEnded: Why the experiment ended. Possible values:
// "STOPPED_BY_USER", "WINNER_FOUND", "EXPERIMENT_EXPIRED",
// "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED".
// "ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no
// winner was projected to be found. If the experiment status is changed
// via the API to ENDED this field is set to STOPPED_BY_USER. This field
// is read-only.
ReasonExperimentEnded string `json:"reasonExperimentEnded,omitempty"`
// RewriteVariationUrlsAsOriginal: Boolean specifying whether variations
// URLS are rewritten to match those of the original. This field may not
// be changed for an experiments whose status is ENDED.
RewriteVariationUrlsAsOriginal bool `json:"rewriteVariationUrlsAsOriginal,omitempty"`
// SelfLink: Link for this experiment. This field is read-only.
SelfLink string `json:"selfLink,omitempty"`
// ServingFramework: The framework used to serve the experiment
// variations and evaluate the results. One of:
// - REDIRECT: Google
// Analytics redirects traffic to different variation pages, reports the
// chosen variation and evaluates the results.
// - API: Google Analytics
// chooses and reports the variation to serve and evaluates the results;
// the caller is responsible for serving the selected variation.
// -
// EXTERNAL: The variations will be served externally and the chosen
// variation reported to Google Analytics. The caller is responsible for
// serving the selected variation and evaluating the results.
ServingFramework string `json:"servingFramework,omitempty"`
// Snippet: The snippet of code to include on the control page(s). This
// field is read-only.
Snippet string `json:"snippet,omitempty"`
// StartTime: The starting time of the experiment (the time the status
// changed from READY_TO_RUN to RUNNING). This field is present only if
// the experiment has started. This field is read-only.
StartTime string `json:"startTime,omitempty"`
// Status: Experiment status. Possible values: "DRAFT", "READY_TO_RUN",
// "RUNNING", "ENDED". Experiments can be created in the "DRAFT",
// "READY_TO_RUN" or "RUNNING" state. This field is required when
// creating an experiment.
Status string `json:"status,omitempty"`
// TrafficCoverage: A floating-point number between 0 and 1. Specifies
// the fraction of the traffic that participates in the experiment. Can
// be changed for a running experiment. This field may not be changed
// for an experiments whose status is ENDED.
TrafficCoverage float64 `json:"trafficCoverage,omitempty"`
// Updated: Time the experiment was last modified. This field is
// read-only.
Updated string `json:"updated,omitempty"`
// Variations: Array of variations. The first variation in the array is
// the original. The number of variations may not change once an
// experiment is in the RUNNING state. At least two variations are
// required before status can be set to RUNNING.
Variations []*ExperimentVariations `json:"variations,omitempty"`
// WebPropertyId: Web property ID to which this experiment belongs. The
// web property ID is of the form UA-XXXXX-YY. This field is read-only.
WebPropertyId string `json:"webPropertyId,omitempty"`
// WinnerConfidenceLevel: A floating-point number between 0 and 1.
// Specifies the necessary confidence level to choose a winner. This
// field may not be changed for an experiments whose status is ENDED.
WinnerConfidenceLevel float64 `json:"winnerConfidenceLevel,omitempty"`
// WinnerFound: Boolean specifying whether a winner has been found for
// this experiment. This field is read-only.
WinnerFound bool `json:"winnerFound,omitempty"`
}
type ExperimentParentLink struct {
// Href: Link to the view (profile) to which this experiment belongs.
// This field is read-only.
Href string `json:"href,omitempty"`
// Type: Value is "analytics#profile". This field is read-only.
Type string `json:"type,omitempty"`
}
type ExperimentVariations struct {
// Name: The name of the variation. This field is required when creating
// an experiment. This field may not be changed for an experiment whose
// status is ENDED.
Name string `json:"name,omitempty"`
// Status: Status of the variation. Possible values: "ACTIVE",
// "INACTIVE". INACTIVE variations are not served. This field may not be
// changed for an experiment whose status is ENDED.
Status string `json:"status,omitempty"`
// Url: The URL of the variation. This field may not be changed for an
// experiment whose status is RUNNING or ENDED.
Url string `json:"url,omitempty"`
// Weight: Weight that this variation should receive. Only present if
// the experiment is running. This field is read-only.
Weight float64 `json:"weight,omitempty"`
// Won: True if the experiment has ended and this variation performed
// (statistically) significantly better than the original. This field is
// read-only.
Won bool `json:"won,omitempty"`
}
type Experiments struct {
// Items: A list of experiments.
Items []*Experiment `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this experiment collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this experiment collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of resources in the result.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type Filter struct {
// AccountId: Account ID to which this filter belongs.
AccountId string `json:"accountId,omitempty"`
// AdvancedDetails: Details for the filter of the type ADVANCED.
AdvancedDetails *FilterAdvancedDetails `json:"advancedDetails,omitempty"`
// Created: Time this filter was created.
Created string `json:"created,omitempty"`
// ExcludeDetails: Details for the filter of the type EXCLUDE.
ExcludeDetails *FilterExpression `json:"excludeDetails,omitempty"`
// Id: Filter ID.
Id string `json:"id,omitempty"`
// IncludeDetails: Details for the filter of the type INCLUDE.
IncludeDetails *FilterExpression `json:"includeDetails,omitempty"`
// Kind: Resource type for Analytics filter.
Kind string `json:"kind,omitempty"`
// LowercaseDetails: Details for the filter of the type LOWER.
LowercaseDetails *FilterLowercaseDetails `json:"lowercaseDetails,omitempty"`
// Name: Name of this filter.
Name string `json:"name,omitempty"`
// ParentLink: Parent link for this filter. Points to the account to
// which this filter belongs.
ParentLink *FilterParentLink `json:"parentLink,omitempty"`
// SearchAndReplaceDetails: Details for the filter of the type
// SEARCH_AND_REPLACE.
SearchAndReplaceDetails *FilterSearchAndReplaceDetails `json:"searchAndReplaceDetails,omitempty"`
// SelfLink: Link for this filter.
SelfLink string `json:"selfLink,omitempty"`
// Type: Type of this filter. Possible values are INCLUDE, EXCLUDE,
// LOWERCASE, UPPERCASE, SEARCH_AND_REPLACE and ADVANCED.
Type string `json:"type,omitempty"`
// Updated: Time this filter was last modified.
Updated string `json:"updated,omitempty"`
// UppercaseDetails: Details for the filter of the type UPPER.
UppercaseDetails *FilterUppercaseDetails `json:"uppercaseDetails,omitempty"`
}
type FilterAdvancedDetails struct {
// CaseSensitive: Indicates if the filter expressions are case
// sensitive.
CaseSensitive bool `json:"caseSensitive,omitempty"`
// ExtractA: Expression to extract from field A.
ExtractA string `json:"extractA,omitempty"`
// ExtractB: Expression to extract from field B.
ExtractB string `json:"extractB,omitempty"`
// FieldA: Field A.
FieldA string `json:"fieldA,omitempty"`
// FieldARequired: Indicates if field A is required to match.
FieldARequired bool `json:"fieldARequired,omitempty"`
// FieldB: Field B.
FieldB string `json:"fieldB,omitempty"`
// FieldBRequired: Indicates if field B is required to match.
FieldBRequired bool `json:"fieldBRequired,omitempty"`
// OutputConstructor: Expression used to construct the output value.
OutputConstructor string `json:"outputConstructor,omitempty"`
// OutputToField: Output field.
OutputToField string `json:"outputToField,omitempty"`
// OverrideOutputField: Indicates if the existing value of the output
// field, if any, should be overridden by the output expression.
OverrideOutputField bool `json:"overrideOutputField,omitempty"`
}
type FilterLowercaseDetails struct {
// Field: Field to use in the filter.
Field string `json:"field,omitempty"`
}
type FilterParentLink struct {
// Href: Link to the account to which this filter belongs.
Href string `json:"href,omitempty"`
// Type: Value is "analytics#account".
Type string `json:"type,omitempty"`
}
type FilterSearchAndReplaceDetails struct {
// CaseSensitive: Determines if the filter is case sensitive.
CaseSensitive bool `json:"caseSensitive,omitempty"`
// Field: Field to use in the filter.
Field string `json:"field,omitempty"`
// ReplaceString: Term to replace the search term with.
ReplaceString string `json:"replaceString,omitempty"`
// SearchString: Term to search.
SearchString string `json:"searchString,omitempty"`
}
type FilterUppercaseDetails struct {
// Field: Field to use in the filter.
Field string `json:"field,omitempty"`
}
type FilterExpression struct {
// CaseSensitive: Determines if the filter is case sensitive.
CaseSensitive bool `json:"caseSensitive,omitempty"`
// ExpressionValue: Filter expression value
ExpressionValue string `json:"expressionValue,omitempty"`
// Field: Field to filter. Possible values:
// - Content and Traffic
// -
// PAGE_REQUEST_URI,
// - PAGE_HOSTNAME,
// - PAGE_TITLE,
// - REFERRAL,
// -
// COST_DATA_URI (Campaign target URL),
// - HIT_TYPE,
// -
// INTERNAL_SEARCH_TERM,
// - INTERNAL_SEARCH_TYPE,
// -
// SOURCE_PROPERTY_TRACKING_ID,
// - Campaign or AdGroup
// -
// CAMPAIGN_SOURCE,
// - CAMPAIGN_MEDIUM,
// - CAMPAIGN_NAME,
// -
// CAMPAIGN_AD_GROUP,
// - CAMPAIGN_TERM,
// - CAMPAIGN_CONTENT,
// -
// CAMPAIGN_CODE,
// - CAMPAIGN_REFERRAL_PATH,
// - E-Commerce
// -
// TRANSACTION_COUNTRY,
// - TRANSACTION_REGION,
// - TRANSACTION_CITY,
// -
// TRANSACTION_AFFILIATION (Store or order location),
// - ITEM_NAME,
// -
// ITEM_CODE,
// - ITEM_VARIATION,
// - TRANSACTION_ID,
// -
// TRANSACTION_CURRENCY_CODE,
// - PRODUCT_ACTION_TYPE,
// -
// Audience/Users
// - BROWSER,
// - BROWSER_VERSION,
// - BROWSER_SIZE,
// -
// PLATFORM,
// - PLATFORM_VERSION,
// - LANGUAGE,
// - SCREEN_RESOLUTION,
// -
// SCREEN_COLORS,
// - JAVA_ENABLED (Boolean Field),
// - FLASH_VERSION,
// -
// GEO_SPEED (Connection speed),
// - VISITOR_TYPE,
// - GEO_ORGANIZATION
// (ISP organization),
// - GEO_DOMAIN,
// - GEO_IP_ADDRESS,
// -
// GEO_IP_VERSION,
// - Location
// - GEO_COUNTRY,
// - GEO_REGION,
// -
// GEO_CITY,
// - Event
// - EVENT_CATEGORY,
// - EVENT_ACTION,
// -
// EVENT_LABEL,
// - Other
// - CUSTOM_FIELD_1,
// - CUSTOM_FIELD_2,
// -
// USER_DEFINED_VALUE,
// - Application
// - APP_ID,
// - APP_INSTALLER_ID,
//
// - APP_NAME,
// - APP_VERSION,
// - SCREEN,
// - IS_APP (Boolean Field),
// -
// IS_FATAL_EXCEPTION (Boolean Field),
// - EXCEPTION_DESCRIPTION,
// -
// Mobile device
// - IS_MOBILE (Boolean Field, Deprecated. Use
// DEVICE_CATEGORY=mobile),
// - IS_TABLET (Boolean Field, Deprecated. Use
// DEVICE_CATEGORY=tablet),
// - DEVICE_CATEGORY,
// -
// MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
// - MOBILE_HAS_NFC_SUPPORT
// (Boolean Field),
// - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
// -
// MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
// - MOBILE_BRAND_NAME,
// -
// MOBILE_MODEL_NAME,
// - MOBILE_MARKETING_NAME,
// -
// MOBILE_POINTING_METHOD,
// - Social
// - SOCIAL_NETWORK,
// -
// SOCIAL_ACTION,
// - SOCIAL_ACTION_TARGET,
Field string `json:"field,omitempty"`
// Kind: Kind value for filter expression
Kind string `json:"kind,omitempty"`
// MatchType: Match type for this filter. Possible values are
// BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude
// filters can use any match type. Match type is not applicable to Upper
// case and Lower case filters. Search and Replace expressions in the
// Search and Replace filter and all filter expressions in the Advanced
// filter default to MATCHES. User should not set match type for those
// filters.
MatchType string `json:"matchType,omitempty"`
}
type FilterRef struct {
// AccountId: Account ID to which this filter belongs.
AccountId string `json:"accountId,omitempty"`
// Href: Link for this filter.
Href string `json:"href,omitempty"`
// Id: Filter ID.
Id string `json:"id,omitempty"`
// Kind: Kind value for filter reference.
Kind string `json:"kind,omitempty"`
// Name: Name of this filter.
Name string `json:"name,omitempty"`
}
type Filters struct {
// Items: A list of filters.
Items []*Filter `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1,000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this filter collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this filter collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type GaData struct {
// ColumnHeaders: Column headers that list dimension names followed by
// the metric names. The order of dimensions and metrics is same as
// specified in the request.
ColumnHeaders []*GaDataColumnHeaders `json:"columnHeaders,omitempty"`
// ContainsSampledData: Determines if Analytics data contains samples.
ContainsSampledData bool `json:"containsSampledData,omitempty"`
DataTable *GaDataDataTable `json:"dataTable,omitempty"`
// Id: Unique ID for this data response.
Id string `json:"id,omitempty"`
// ItemsPerPage: The maximum number of rows the response can contain,
// regardless of the actual number of rows returned. Its value ranges
// from 1 to 10,000 with a value of 1000 by default, or otherwise
// specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Resource type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this Analytics data query.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this Analytics data query.
PreviousLink string `json:"previousLink,omitempty"`
// ProfileInfo: Information for the view (profile), for which the
// Analytics data was requested.
ProfileInfo *GaDataProfileInfo `json:"profileInfo,omitempty"`
// Query: Analytics data request query parameters.
Query *GaDataQuery `json:"query,omitempty"`
// Rows: Analytics data rows, where each row contains a list of
// dimension values followed by the metric values. The order of
// dimensions and metrics is same as specified in the request.
Rows [][]string `json:"rows,omitempty"`
// SampleSize: The number of samples used to calculate the result.
SampleSize int64 `json:"sampleSize,omitempty,string"`
// SampleSpace: Total size of the sample space from which the samples
// were selected.
SampleSpace int64 `json:"sampleSpace,omitempty,string"`
// SelfLink: Link to this page.
SelfLink string `json:"selfLink,omitempty"`
// TotalResults: The total number of rows for the query, regardless of
// the number of rows in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// TotalsForAllResults: Total values for the requested metrics over all
// the results, not just the results returned in this response. The
// order of the metric totals is same as the metric order specified in
// the request.
TotalsForAllResults map[string]string `json:"totalsForAllResults,omitempty"`
}
type GaDataColumnHeaders struct {
// ColumnType: Column Type. Either DIMENSION or METRIC.
ColumnType string `json:"columnType,omitempty"`
// DataType: Data type. Dimension column headers have only STRING as the
// data type. Metric column headers have data types for metric values
// such as INTEGER, DOUBLE, CURRENCY etc.
DataType string `json:"dataType,omitempty"`
// Name: Column name.
Name string `json:"name,omitempty"`
}
type GaDataDataTable struct {
Cols []*GaDataDataTableCols `json:"cols,omitempty"`
Rows []*GaDataDataTableRows `json:"rows,omitempty"`
}
type GaDataDataTableCols struct {
Id string `json:"id,omitempty"`
Label string `json:"label,omitempty"`
Type string `json:"type,omitempty"`
}
type GaDataDataTableRows struct {
C []*GaDataDataTableRowsC `json:"c,omitempty"`
}
type GaDataDataTableRowsC struct {
V string `json:"v,omitempty"`
}
type GaDataProfileInfo struct {
// AccountId: Account ID to which this view (profile) belongs.
AccountId string `json:"accountId,omitempty"`
// InternalWebPropertyId: Internal ID for the web property to which this
// view (profile) belongs.
InternalWebPropertyId string `json:"internalWebPropertyId,omitempty"`
// ProfileId: View (Profile) ID.
ProfileId string `json:"profileId,omitempty"`
// ProfileName: View (Profile) name.
ProfileName string `json:"profileName,omitempty"`
// TableId: Table ID for view (profile).
TableId string `json:"tableId,omitempty"`
// WebPropertyId: Web Property ID to which this view (profile) belongs.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type GaDataQuery struct {
// Dimensions: List of analytics dimensions.
Dimensions string `json:"dimensions,omitempty"`
// EndDate: End date.
EndDate string `json:"end-date,omitempty"`
// Filters: Comma-separated list of dimension or metric filters.
Filters string `json:"filters,omitempty"`
// Ids: Unique table ID.
Ids string `json:"ids,omitempty"`
// MaxResults: Maximum results per page.
MaxResults int64 `json:"max-results,omitempty"`
// Metrics: List of analytics metrics.
Metrics []string `json:"metrics,omitempty"`
// SamplingLevel: Desired sampling level
SamplingLevel string `json:"samplingLevel,omitempty"`
// Segment: Analytics advanced segment.
Segment string `json:"segment,omitempty"`
// Sort: List of dimensions or metrics based on which Analytics data is
// sorted.
Sort []string `json:"sort,omitempty"`
// StartDate: Start date.
StartDate string `json:"start-date,omitempty"`
// StartIndex: Start index.
StartIndex int64 `json:"start-index,omitempty"`
}
type Goal struct {
// AccountId: Account ID to which this goal belongs.
AccountId string `json:"accountId,omitempty"`
// Active: Determines whether this goal is active.
Active bool `json:"active,omitempty"`
// Created: Time this goal was created.
Created string `json:"created,omitempty"`
// EventDetails: Details for the goal of the type EVENT.
EventDetails *GoalEventDetails `json:"eventDetails,omitempty"`
// Id: Goal ID.
Id string `json:"id,omitempty"`
// InternalWebPropertyId: Internal ID for the web property to which this
// goal belongs.
InternalWebPropertyId string `json:"internalWebPropertyId,omitempty"`
// Kind: Resource type for an Analytics goal.
Kind string `json:"kind,omitempty"`
// Name: Goal name.
Name string `json:"name,omitempty"`
// ParentLink: Parent link for a goal. Points to the view (profile) to
// which this goal belongs.
ParentLink *GoalParentLink `json:"parentLink,omitempty"`
// ProfileId: View (Profile) ID to which this goal belongs.
ProfileId string `json:"profileId,omitempty"`
// SelfLink: Link for this goal.
SelfLink string `json:"selfLink,omitempty"`
// Type: Goal type. Possible values are URL_DESTINATION,
// VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
Type string `json:"type,omitempty"`
// Updated: Time this goal was last modified.
Updated string `json:"updated,omitempty"`
// UrlDestinationDetails: Details for the goal of the type
// URL_DESTINATION.
UrlDestinationDetails *GoalUrlDestinationDetails `json:"urlDestinationDetails,omitempty"`
// Value: Goal value.
Value float64 `json:"value,omitempty"`
// VisitNumPagesDetails: Details for the goal of the type
// VISIT_NUM_PAGES.
VisitNumPagesDetails *GoalVisitNumPagesDetails `json:"visitNumPagesDetails,omitempty"`
// VisitTimeOnSiteDetails: Details for the goal of the type
// VISIT_TIME_ON_SITE.
VisitTimeOnSiteDetails *GoalVisitTimeOnSiteDetails `json:"visitTimeOnSiteDetails,omitempty"`
// WebPropertyId: Web property ID to which this goal belongs. The web
// property ID is of the form UA-XXXXX-YY.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type GoalEventDetails struct {
// EventConditions: List of event conditions.
EventConditions []*GoalEventDetailsEventConditions `json:"eventConditions,omitempty"`
// UseEventValue: Determines if the event value should be used as the
// value for this goal.
UseEventValue bool `json:"useEventValue,omitempty"`
}
type GoalEventDetailsEventConditions struct {
// ComparisonType: Type of comparison. Possible values are LESS_THAN,
// GREATER_THAN or EQUAL.
ComparisonType string `json:"comparisonType,omitempty"`
// ComparisonValue: Value used for this comparison.
ComparisonValue int64 `json:"comparisonValue,omitempty,string"`
// Expression: Expression used for this match.
Expression string `json:"expression,omitempty"`
// MatchType: Type of the match to be performed. Possible values are
// REGEXP, BEGINS_WITH, or EXACT.
MatchType string `json:"matchType,omitempty"`
// Type: Type of this event condition. Possible values are CATEGORY,
// ACTION, LABEL, or VALUE.
Type string `json:"type,omitempty"`
}
type GoalParentLink struct {
// Href: Link to the view (profile) to which this goal belongs.
Href string `json:"href,omitempty"`
// Type: Value is "analytics#profile".
Type string `json:"type,omitempty"`
}
type GoalUrlDestinationDetails struct {
// CaseSensitive: Determines if the goal URL must exactly match the
// capitalization of visited URLs.
CaseSensitive bool `json:"caseSensitive,omitempty"`
// FirstStepRequired: Determines if the first step in this goal is
// required.
FirstStepRequired bool `json:"firstStepRequired,omitempty"`
// MatchType: Match type for the goal URL. Possible values are HEAD,
// EXACT, or REGEX.
MatchType string `json:"matchType,omitempty"`
// Steps: List of steps configured for this goal funnel.
Steps []*GoalUrlDestinationDetailsSteps `json:"steps,omitempty"`
// Url: URL for this goal.
Url string `json:"url,omitempty"`
}
type GoalUrlDestinationDetailsSteps struct {
// Name: Step name.
Name string `json:"name,omitempty"`
// Number: Step number.
Number int64 `json:"number,omitempty"`
// Url: URL for this step.
Url string `json:"url,omitempty"`
}
type GoalVisitNumPagesDetails struct {
// ComparisonType: Type of comparison. Possible values are LESS_THAN,
// GREATER_THAN, or EQUAL.
ComparisonType string `json:"comparisonType,omitempty"`
// ComparisonValue: Value used for this comparison.
ComparisonValue int64 `json:"comparisonValue,omitempty,string"`
}
type GoalVisitTimeOnSiteDetails struct {
// ComparisonType: Type of comparison. Possible values are LESS_THAN or
// GREATER_THAN.
ComparisonType string `json:"comparisonType,omitempty"`
// ComparisonValue: Value used for this comparison.
ComparisonValue int64 `json:"comparisonValue,omitempty,string"`
}
type Goals struct {
// Items: A list of goals.
Items []*Goal `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this goal collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this goal collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of resources in the result.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type McfData struct {
// ColumnHeaders: Column headers that list dimension names followed by
// the metric names. The order of dimensions and metrics is same as
// specified in the request.
ColumnHeaders []*McfDataColumnHeaders `json:"columnHeaders,omitempty"`
// ContainsSampledData: Determines if the Analytics data contains
// sampled data.
ContainsSampledData bool `json:"containsSampledData,omitempty"`
// Id: Unique ID for this data response.
Id string `json:"id,omitempty"`
// ItemsPerPage: The maximum number of rows the response can contain,
// regardless of the actual number of rows returned. Its value ranges
// from 1 to 10,000 with a value of 1000 by default, or otherwise
// specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Resource type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this Analytics data query.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this Analytics data query.
PreviousLink string `json:"previousLink,omitempty"`
// ProfileInfo: Information for the view (profile), for which the
// Analytics data was requested.
ProfileInfo *McfDataProfileInfo `json:"profileInfo,omitempty"`
// Query: Analytics data request query parameters.
Query *McfDataQuery `json:"query,omitempty"`
// Rows: Analytics data rows, where each row contains a list of
// dimension values followed by the metric values. The order of
// dimensions and metrics is same as specified in the request.
Rows [][]*McfDataRowsItem `json:"rows,omitempty"`
// SampleSize: The number of samples used to calculate the result.
SampleSize int64 `json:"sampleSize,omitempty,string"`
// SampleSpace: Total size of the sample space from which the samples
// were selected.
SampleSpace int64 `json:"sampleSpace,omitempty,string"`
// SelfLink: Link to this page.
SelfLink string `json:"selfLink,omitempty"`
// TotalResults: The total number of rows for the query, regardless of
// the number of rows in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// TotalsForAllResults: Total values for the requested metrics over all
// the results, not just the results returned in this response. The
// order of the metric totals is same as the metric order specified in
// the request.
TotalsForAllResults map[string]string `json:"totalsForAllResults,omitempty"`
}
type McfDataColumnHeaders struct {
// ColumnType: Column Type. Either DIMENSION or METRIC.
ColumnType string `json:"columnType,omitempty"`
// DataType: Data type. Dimension and metric values data types such as
// INTEGER, DOUBLE, CURRENCY, MCF_SEQUENCE etc.
DataType string `json:"dataType,omitempty"`
// Name: Column name.
Name string `json:"name,omitempty"`
}
type McfDataProfileInfo struct {
// AccountId: Account ID to which this view (profile) belongs.
AccountId string `json:"accountId,omitempty"`
// InternalWebPropertyId: Internal ID for the web property to which this
// view (profile) belongs.
InternalWebPropertyId string `json:"internalWebPropertyId,omitempty"`
// ProfileId: View (Profile) ID.
ProfileId string `json:"profileId,omitempty"`
// ProfileName: View (Profile) name.
ProfileName string `json:"profileName,omitempty"`
// TableId: Table ID for view (profile).
TableId string `json:"tableId,omitempty"`
// WebPropertyId: Web Property ID to which this view (profile) belongs.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type McfDataQuery struct {
// Dimensions: List of analytics dimensions.
Dimensions string `json:"dimensions,omitempty"`
// EndDate: End date.
EndDate string `json:"end-date,omitempty"`
// Filters: Comma-separated list of dimension or metric filters.
Filters string `json:"filters,omitempty"`
// Ids: Unique table ID.
Ids string `json:"ids,omitempty"`
// MaxResults: Maximum results per page.
MaxResults int64 `json:"max-results,omitempty"`
// Metrics: List of analytics metrics.
Metrics []string `json:"metrics,omitempty"`
// SamplingLevel: Desired sampling level
SamplingLevel string `json:"samplingLevel,omitempty"`
// Segment: Analytics advanced segment.
Segment string `json:"segment,omitempty"`
// Sort: List of dimensions or metrics based on which Analytics data is
// sorted.
Sort []string `json:"sort,omitempty"`
// StartDate: Start date.
StartDate string `json:"start-date,omitempty"`
// StartIndex: Start index.
StartIndex int64 `json:"start-index,omitempty"`
}
type McfDataRowsItem struct {
// ConversionPathValue: A conversion path dimension value, containing a
// list of interactions with their attributes.
ConversionPathValue []*McfDataRowsItemConversionPathValue `json:"conversionPathValue,omitempty"`
// PrimitiveValue: A primitive dimension value. A primitive metric
// value.
PrimitiveValue string `json:"primitiveValue,omitempty"`
}
type McfDataRowsItemConversionPathValue struct {
// InteractionType: Type of an interaction on conversion path. Such as
// CLICK, IMPRESSION etc.
InteractionType string `json:"interactionType,omitempty"`
// NodeValue: Node value of an interaction on conversion path. Such as
// source, medium etc.
NodeValue string `json:"nodeValue,omitempty"`
}
type Profile struct {
// AccountId: Account ID to which this view (profile) belongs.
AccountId string `json:"accountId,omitempty"`
// ChildLink: Child link for this view (profile). Points to the list of
// goals for this view (profile).
ChildLink *ProfileChildLink `json:"childLink,omitempty"`
// Created: Time this view (profile) was created.
Created string `json:"created,omitempty"`
// Currency: The currency type associated with this view (profile). The
// supported values are:
// ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK,
// EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN,
// RUB, SEK, THB, TRY, TWD, USD, VND, ZAR
Currency string `json:"currency,omitempty"`
// DefaultPage: Default page for this view (profile).
DefaultPage string `json:"defaultPage,omitempty"`
// ECommerceTracking: Indicates whether ecommerce tracking is enabled
// for this view (profile).
ECommerceTracking bool `json:"eCommerceTracking,omitempty"`
// EnhancedECommerceTracking: Indicates whether enhanced ecommerce
// tracking is enabled for this view (profile). This property can only
// be enabled if ecommerce tracking is enabled.
EnhancedECommerceTracking bool `json:"enhancedECommerceTracking,omitempty"`
// ExcludeQueryParameters: The query parameters that are excluded from
// this view (profile).
ExcludeQueryParameters string `json:"excludeQueryParameters,omitempty"`
// Id: View (Profile) ID.
Id string `json:"id,omitempty"`
// InternalWebPropertyId: Internal ID for the web property to which this
// view (profile) belongs.
InternalWebPropertyId string `json:"internalWebPropertyId,omitempty"`
// Kind: Resource type for Analytics view (profile).
Kind string `json:"kind,omitempty"`
// Name: Name of this view (profile).
Name string `json:"name,omitempty"`
// ParentLink: Parent link for this view (profile). Points to the web
// property to which this view (profile) belongs.
ParentLink *ProfileParentLink `json:"parentLink,omitempty"`
// Permissions: Permissions the user has for this view (profile).
Permissions *ProfilePermissions `json:"permissions,omitempty"`
// SelfLink: Link for this view (profile).
SelfLink string `json:"selfLink,omitempty"`
// SiteSearchCategoryParameters: Site search category parameters for
// this view (profile).
SiteSearchCategoryParameters string `json:"siteSearchCategoryParameters,omitempty"`
// SiteSearchQueryParameters: The site search query parameters for this
// view (profile).
SiteSearchQueryParameters string `json:"siteSearchQueryParameters,omitempty"`
// StripSiteSearchCategoryParameters: Whether or not Analytics will
// strip search category parameters from the URLs in your reports.
StripSiteSearchCategoryParameters bool `json:"stripSiteSearchCategoryParameters,omitempty"`
// StripSiteSearchQueryParameters: Whether or not Analytics will strip
// search query parameters from the URLs in your reports.
StripSiteSearchQueryParameters bool `json:"stripSiteSearchQueryParameters,omitempty"`
// Timezone: Time zone for which this view (profile) has been
// configured. Time zones are identified by strings from the TZ
// database.
Timezone string `json:"timezone,omitempty"`
// Type: View (Profile) type. Supported types: WEB or APP.
Type string `json:"type,omitempty"`
// Updated: Time this view (profile) was last modified.
Updated string `json:"updated,omitempty"`
// WebPropertyId: Web property ID of the form UA-XXXXX-YY to which this
// view (profile) belongs.
WebPropertyId string `json:"webPropertyId,omitempty"`
// WebsiteUrl: Website URL for this view (profile).
WebsiteUrl string `json:"websiteUrl,omitempty"`
}
type ProfileChildLink struct {
// Href: Link to the list of goals for this view (profile).
Href string `json:"href,omitempty"`
// Type: Value is "analytics#goals".
Type string `json:"type,omitempty"`
}
type ProfileParentLink struct {
// Href: Link to the web property to which this view (profile) belongs.
Href string `json:"href,omitempty"`
// Type: Value is "analytics#webproperty".
Type string `json:"type,omitempty"`
}
type ProfilePermissions struct {
// Effective: All the permissions that the user has for this view
// (profile). These include any implied permissions (e.g., EDIT implies
// VIEW) or inherited permissions from the parent web property.
Effective []string `json:"effective,omitempty"`
}
type ProfileFilterLink struct {
// FilterRef: Filter for this link.
FilterRef *FilterRef `json:"filterRef,omitempty"`
// Id: Profile filter link ID.
Id string `json:"id,omitempty"`
// Kind: Resource type for Analytics filter.
Kind string `json:"kind,omitempty"`
// ProfileRef: View (Profile) for this link.
ProfileRef *ProfileRef `json:"profileRef,omitempty"`
// Rank: The rank of this profile filter link relative to the other
// filters linked to the same profile.
// For readonly (i.e., list and get)
// operations, the rank always starts at 1.
// For write (i.e., create,
// update, or delete) operations, you may specify a value between 0 and
// 255 inclusively, [0, 255]. In order to insert a link at the end of
// the list, either don't specify a rank or set a rank to a number
// greater than the largest rank in the list. In order to insert a link
// to the beginning of the list specify a rank that is less than or
// equal to 1. The new link will move all existing filters with the same
// or lower rank down the list. After the link is
// inserted/updated/deleted all profile filter links will be renumbered
// starting at 1.
Rank int64 `json:"rank,omitempty"`
// SelfLink: Link for this profile filter link.
SelfLink string `json:"selfLink,omitempty"`
}
type ProfileFilterLinks struct {
// Items: A list of profile filter links.
Items []*ProfileFilterLink `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1,000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this profile filter link collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this profile filter link
// collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type ProfileRef struct {
// AccountId: Account ID to which this view (profile) belongs.
AccountId string `json:"accountId,omitempty"`
// Href: Link for this view (profile).
Href string `json:"href,omitempty"`
// Id: View (Profile) ID.
Id string `json:"id,omitempty"`
// InternalWebPropertyId: Internal ID for the web property to which this
// view (profile) belongs.
InternalWebPropertyId string `json:"internalWebPropertyId,omitempty"`
// Kind: Analytics view (profile) reference.
Kind string `json:"kind,omitempty"`
// Name: Name of this view (profile).
Name string `json:"name,omitempty"`
// WebPropertyId: Web property ID of the form UA-XXXXX-YY to which this
// view (profile) belongs.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type ProfileSummary struct {
// Id: View (profile) ID.
Id string `json:"id,omitempty"`
// Kind: Resource type for Analytics ProfileSummary.
Kind string `json:"kind,omitempty"`
// Name: View (profile) name.
Name string `json:"name,omitempty"`
// Type: View (Profile) type. Supported types: WEB or APP.
Type string `json:"type,omitempty"`
}
type Profiles struct {
// Items: A list of views (profiles).
Items []*Profile `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this view (profile) collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this view (profile)
// collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type RealtimeData struct {
// ColumnHeaders: Column headers that list dimension names followed by
// the metric names. The order of dimensions and metrics is same as
// specified in the request.
ColumnHeaders []*RealtimeDataColumnHeaders `json:"columnHeaders,omitempty"`
// Id: Unique ID for this data response.
Id string `json:"id,omitempty"`
// Kind: Resource type.
Kind string `json:"kind,omitempty"`
// ProfileInfo: Information for the view (profile), for which the real
// time data was requested.
ProfileInfo *RealtimeDataProfileInfo `json:"profileInfo,omitempty"`
// Query: Real time data request query parameters.
Query *RealtimeDataQuery `json:"query,omitempty"`
// Rows: Real time data rows, where each row contains a list of
// dimension values followed by the metric values. The order of
// dimensions and metrics is same as specified in the request.
Rows [][]string `json:"rows,omitempty"`
// SelfLink: Link to this page.
SelfLink string `json:"selfLink,omitempty"`
// TotalResults: The total number of rows for the query, regardless of
// the number of rows in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// TotalsForAllResults: Total values for the requested metrics over all
// the results, not just the results returned in this response. The
// order of the metric totals is same as the metric order specified in
// the request.
TotalsForAllResults map[string]string `json:"totalsForAllResults,omitempty"`
}
type RealtimeDataColumnHeaders struct {
// ColumnType: Column Type. Either DIMENSION or METRIC.
ColumnType string `json:"columnType,omitempty"`
// DataType: Data type. Dimension column headers have only STRING as the
// data type. Metric column headers have data types for metric values
// such as INTEGER, DOUBLE, CURRENCY etc.
DataType string `json:"dataType,omitempty"`
// Name: Column name.
Name string `json:"name,omitempty"`
}
type RealtimeDataProfileInfo struct {
// AccountId: Account ID to which this view (profile) belongs.
AccountId string `json:"accountId,omitempty"`
// InternalWebPropertyId: Internal ID for the web property to which this
// view (profile) belongs.
InternalWebPropertyId string `json:"internalWebPropertyId,omitempty"`
// ProfileId: View (Profile) ID.
ProfileId string `json:"profileId,omitempty"`
// ProfileName: View (Profile) name.
ProfileName string `json:"profileName,omitempty"`
// TableId: Table ID for view (profile).
TableId string `json:"tableId,omitempty"`
// WebPropertyId: Web Property ID to which this view (profile) belongs.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type RealtimeDataQuery struct {
// Dimensions: List of real time dimensions.
Dimensions string `json:"dimensions,omitempty"`
// Filters: Comma-separated list of dimension or metric filters.
Filters string `json:"filters,omitempty"`
// Ids: Unique table ID.
Ids string `json:"ids,omitempty"`
// MaxResults: Maximum results per page.
MaxResults int64 `json:"max-results,omitempty"`
// Metrics: List of real time metrics.
Metrics []string `json:"metrics,omitempty"`
// Sort: List of dimensions or metrics based on which real time data is
// sorted.
Sort []string `json:"sort,omitempty"`
}
type Segment struct {
// Created: Time the segment was created.
Created string `json:"created,omitempty"`
// Definition: Segment definition.
Definition string `json:"definition,omitempty"`
// Id: Segment ID.
Id string `json:"id,omitempty"`
// Kind: Resource type for Analytics segment.
Kind string `json:"kind,omitempty"`
// Name: Segment name.
Name string `json:"name,omitempty"`
// SegmentId: Segment ID. Can be used with the 'segment' parameter in
// Core Reporting API.
SegmentId string `json:"segmentId,omitempty"`
// SelfLink: Link for this segment.
SelfLink string `json:"selfLink,omitempty"`
// Type: Type for a segment. Possible values are "BUILT_IN" or "CUSTOM".
Type string `json:"type,omitempty"`
// Updated: Time the segment was last modified.
Updated string `json:"updated,omitempty"`
}
type Segments struct {
// Items: A list of segments.
Items []*Segment `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type for segments.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this segment collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this segment collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type UnsampledReport struct {
// AccountId: Account ID to which this unsampled report belongs.
AccountId string `json:"accountId,omitempty"`
// CloudStorageDownloadDetails: Download details for a file stored in
// Google Cloud Storage.
CloudStorageDownloadDetails *UnsampledReportCloudStorageDownloadDetails `json:"cloudStorageDownloadDetails,omitempty"`
// Created: Time this unsampled report was created.
Created string `json:"created,omitempty"`
// Dimensions: The dimensions for the unsampled report.
Dimensions string `json:"dimensions,omitempty"`
// DownloadType: The type of download you need to use for the report
// data file.
DownloadType string `json:"downloadType,omitempty"`
// DriveDownloadDetails: Download details for a file stored in Google
// Drive.
DriveDownloadDetails *UnsampledReportDriveDownloadDetails `json:"driveDownloadDetails,omitempty"`
// EndDate: The end date for the unsampled report.
EndDate string `json:"end-date,omitempty"`
// Filters: The filters for the unsampled report.
Filters string `json:"filters,omitempty"`
// Id: Unsampled report ID.
Id string `json:"id,omitempty"`
// Kind: Resource type for an Analytics unsampled report.
Kind string `json:"kind,omitempty"`
// Metrics: The metrics for the unsampled report.
Metrics string `json:"metrics,omitempty"`
// ProfileId: View (Profile) ID to which this unsampled report belongs.
ProfileId string `json:"profileId,omitempty"`
// Segment: The segment for the unsampled report.
Segment string `json:"segment,omitempty"`
// SelfLink: Link for this unsampled report.
SelfLink string `json:"selfLink,omitempty"`
// StartDate: The start date for the unsampled report.
StartDate string `json:"start-date,omitempty"`
// Status: Status of this unsampled report. Possible values are PENDING,
// COMPLETED, or FAILED.
Status string `json:"status,omitempty"`
// Title: Title of the unsampled report.
Title string `json:"title,omitempty"`
// Updated: Time this unsampled report was last modified.
Updated string `json:"updated,omitempty"`
// WebPropertyId: Web property ID to which this unsampled report
// belongs. The web property ID is of the form UA-XXXXX-YY.
WebPropertyId string `json:"webPropertyId,omitempty"`
}
type UnsampledReportCloudStorageDownloadDetails struct {
// BucketId: Id of the bucket the file object is stored in.
BucketId string `json:"bucketId,omitempty"`
// ObjectId: Id of the file object containing the report data.
ObjectId string `json:"objectId,omitempty"`
}
type UnsampledReportDriveDownloadDetails struct {
// DocumentId: Id of the document/file containing the report data.
DocumentId string `json:"documentId,omitempty"`
}
type UnsampledReports struct {
// Items: A list of unsampled reports.
Items []*UnsampledReport `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this unsampled report collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this unsampled report
// collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of resources in the result.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type Upload struct {
// AccountId: Account Id to which this upload belongs.
AccountId int64 `json:"accountId,omitempty,string"`
// CustomDataSourceId: Custom data source Id to which this data import
// belongs.
CustomDataSourceId string `json:"customDataSourceId,omitempty"`
// Errors: Data import errors collection.
Errors []string `json:"errors,omitempty"`
// Id: A unique ID for this upload.
Id string `json:"id,omitempty"`
// Kind: Resource type for Analytics upload.
Kind string `json:"kind,omitempty"`
// Status: Upload status. Possible values: PENDING, COMPLETED, FAILED,
// DELETING, DELETED.
Status string `json:"status,omitempty"`
}
type Uploads struct {
// Items: A list of uploads.
Items []*Upload `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this upload collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this upload collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of resources in the result.
TotalResults int64 `json:"totalResults,omitempty"`
}
type UserRef struct {
// Email: Email ID of this user.
Email string `json:"email,omitempty"`
// Id: User ID.
Id string `json:"id,omitempty"`
Kind string `json:"kind,omitempty"`
}
type WebPropertyRef struct {
// AccountId: Account ID to which this web property belongs.
AccountId string `json:"accountId,omitempty"`
// Href: Link for this web property.
Href string `json:"href,omitempty"`
// Id: Web property ID of the form UA-XXXXX-YY.
Id string `json:"id,omitempty"`
// InternalWebPropertyId: Internal ID for this web property.
InternalWebPropertyId string `json:"internalWebPropertyId,omitempty"`
// Kind: Analytics web property reference.
Kind string `json:"kind,omitempty"`
// Name: Name of this web property.
Name string `json:"name,omitempty"`
}
type WebPropertySummary struct {
// Id: Web property ID of the form UA-XXXXX-YY.
Id string `json:"id,omitempty"`
// InternalWebPropertyId: Internal ID for this web property.
InternalWebPropertyId string `json:"internalWebPropertyId,omitempty"`
// Kind: Resource type for Analytics WebPropertySummary.
Kind string `json:"kind,omitempty"`
// Level: Level for this web property. Possible values are STANDARD or
// PREMIUM.
Level string `json:"level,omitempty"`
// Name: Web property name.
Name string `json:"name,omitempty"`
// Profiles: List of profiles under this web property.
Profiles []*ProfileSummary `json:"profiles,omitempty"`
// WebsiteUrl: Website url for this web property.
WebsiteUrl string `json:"websiteUrl,omitempty"`
}
type Webproperties struct {
// Items: A list of web properties.
Items []*Webproperty `json:"items,omitempty"`
// ItemsPerPage: The maximum number of resources the response can
// contain, regardless of the actual number of resources returned. Its
// value ranges from 1 to 1000 with a value of 1000 by default, or
// otherwise specified by the max-results query parameter.
ItemsPerPage int64 `json:"itemsPerPage,omitempty"`
// Kind: Collection type.
Kind string `json:"kind,omitempty"`
// NextLink: Link to next page for this web property collection.
NextLink string `json:"nextLink,omitempty"`
// PreviousLink: Link to previous page for this web property collection.
PreviousLink string `json:"previousLink,omitempty"`
// StartIndex: The starting index of the resources, which is 1 by
// default or otherwise specified by the start-index query parameter.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: The total number of results for the query, regardless
// of the number of results in the response.
TotalResults int64 `json:"totalResults,omitempty"`
// Username: Email ID of the authenticated user
Username string `json:"username,omitempty"`
}
type Webproperty struct {
// AccountId: Account ID to which this web property belongs.
AccountId string `json:"accountId,omitempty"`
// ChildLink: Child link for this web property. Points to the list of
// views (profiles) for this web property.
ChildLink *WebpropertyChildLink `json:"childLink,omitempty"`
// Created: Time this web property was created.
Created string `json:"created,omitempty"`
// DefaultProfileId: Default view (profile) ID.
DefaultProfileId int64 `json:"defaultProfileId,omitempty,string"`
// Id: Web property ID of the form UA-XXXXX-YY.
Id string `json:"id,omitempty"`
// IndustryVertical: The industry vertical/category selected for this
// web property.
IndustryVertical string `json:"industryVertical,omitempty"`
// InternalWebPropertyId: Internal ID for this web property.
InternalWebPropertyId string `json:"internalWebPropertyId,omitempty"`
// Kind: Resource type for Analytics WebProperty.
Kind string `json:"kind,omitempty"`
// Level: Level for this web property. Possible values are STANDARD or
// PREMIUM.
Level string `json:"level,omitempty"`
// Name: Name of this web property.
Name string `json:"name,omitempty"`
// ParentLink: Parent link for this web property. Points to the account
// to which this web property belongs.
ParentLink *WebpropertyParentLink `json:"parentLink,omitempty"`
// Permissions: Permissions the user has for this web property.
Permissions *WebpropertyPermissions `json:"permissions,omitempty"`
// ProfileCount: View (Profile) count for this web property.
ProfileCount int64 `json:"profileCount,omitempty"`
// SelfLink: Link for this web property.
SelfLink string `json:"selfLink,omitempty"`
// Updated: Time this web property was last modified.
Updated string `json:"updated,omitempty"`
// WebsiteUrl: Website url for this web property.
WebsiteUrl string `json:"websiteUrl,omitempty"`
}
type WebpropertyChildLink struct {
// Href: Link to the list of views (profiles) for this web property.
Href string `json:"href,omitempty"`
// Type: Type of the parent link. Its value is "analytics#profiles".
Type string `json:"type,omitempty"`
}
type WebpropertyParentLink struct {
// Href: Link to the account for this web property.
Href string `json:"href,omitempty"`
// Type: Type of the parent link. Its value is "analytics#account".
Type string `json:"type,omitempty"`
}
type WebpropertyPermissions struct {
// Effective: All the permissions that the user has for this web
// property. These include any implied permissions (e.g., EDIT implies
// VIEW) or inherited permissions from the parent account.
Effective []string `json:"effective,omitempty"`
}
// method id "analytics.data.ga.get":
type DataGaGetCall struct {
s *Service
ids string
startDate string
endDate string
metrics string
opt_ map[string]interface{}
}
// Get: Returns Analytics data for a view (profile).
func (r *DataGaService) Get(ids string, startDate string, endDate string, metrics string) *DataGaGetCall {
c := &DataGaGetCall{s: r.s, opt_: make(map[string]interface{})}
c.ids = ids
c.startDate = startDate
c.endDate = endDate
c.metrics = metrics
return c
}
// Dimensions sets the optional parameter "dimensions": A
// comma-separated list of Analytics dimensions. E.g.,
// 'ga:browser,ga:city'.
func (c *DataGaGetCall) Dimensions(dimensions string) *DataGaGetCall {
c.opt_["dimensions"] = dimensions
return c
}
// Filters sets the optional parameter "filters": A comma-separated list
// of dimension or metric filters to be applied to Analytics data.
func (c *DataGaGetCall) Filters(filters string) *DataGaGetCall {
c.opt_["filters"] = filters
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of entries to include in this feed.
func (c *DataGaGetCall) MaxResults(maxResults int64) *DataGaGetCall {
c.opt_["max-results"] = maxResults
return c
}
// Output sets the optional parameter "output": The selected format for
// the response. Default format is JSON.
func (c *DataGaGetCall) Output(output string) *DataGaGetCall {
c.opt_["output"] = output
return c
}
// SamplingLevel sets the optional parameter "samplingLevel": The
// desired sampling level.
func (c *DataGaGetCall) SamplingLevel(samplingLevel string) *DataGaGetCall {
c.opt_["samplingLevel"] = samplingLevel
return c
}
// Segment sets the optional parameter "segment": An Analytics segment
// to be applied to data.
func (c *DataGaGetCall) Segment(segment string) *DataGaGetCall {
c.opt_["segment"] = segment
return c
}
// Sort sets the optional parameter "sort": A comma-separated list of
// dimensions or metrics that determine the sort order for Analytics
// data.
func (c *DataGaGetCall) Sort(sort string) *DataGaGetCall {
c.opt_["sort"] = sort
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first entity to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *DataGaGetCall) StartIndex(startIndex int64) *DataGaGetCall {
c.opt_["start-index"] = startIndex
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 *DataGaGetCall) Fields(s ...googleapi.Field) *DataGaGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *DataGaGetCall) Do() (*GaData, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
params.Set("end-date", fmt.Sprintf("%v", c.endDate))
params.Set("ids", fmt.Sprintf("%v", c.ids))
params.Set("metrics", fmt.Sprintf("%v", c.metrics))
params.Set("start-date", fmt.Sprintf("%v", c.startDate))
if v, ok := c.opt_["dimensions"]; ok {
params.Set("dimensions", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["filters"]; ok {
params.Set("filters", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["output"]; ok {
params.Set("output", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["samplingLevel"]; ok {
params.Set("samplingLevel", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["segment"]; ok {
params.Set("segment", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["sort"]; ok {
params.Set("sort", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "data/ga")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.SetOpaque(req.URL)
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 *GaData
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns Analytics data for a view (profile).",
// "httpMethod": "GET",
// "id": "analytics.data.ga.get",
// "parameterOrder": [
// "ids",
// "start-date",
// "end-date",
// "metrics"
// ],
// "parameters": {
// "dimensions": {
// "description": "A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'.",
// "location": "query",
// "pattern": "(ga:.+)?",
// "type": "string"
// },
// "end-date": {
// "description": "End date for fetching Analytics data. Request can should specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is yesterday.",
// "location": "query",
// "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)",
// "required": true,
// "type": "string"
// },
// "filters": {
// "description": "A comma-separated list of dimension or metric filters to be applied to Analytics data.",
// "location": "query",
// "pattern": "ga:.+",
// "type": "string"
// },
// "ids": {
// "description": "Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.",
// "location": "query",
// "pattern": "ga:[0-9]+",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of entries to include in this feed.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "metrics": {
// "description": "A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one metric must be specified.",
// "location": "query",
// "pattern": "ga:.+",
// "required": true,
// "type": "string"
// },
// "output": {
// "description": "The selected format for the response. Default format is JSON.",
// "enum": [
// "dataTable",
// "json"
// ],
// "enumDescriptions": [
// "Returns the response in Google Charts Data Table format. This is useful in creating visualization using Google Charts.",
// "Returns the response in standard JSON format."
// ],
// "location": "query",
// "type": "string"
// },
// "samplingLevel": {
// "description": "The desired sampling level.",
// "enum": [
// "DEFAULT",
// "FASTER",
// "HIGHER_PRECISION"
// ],
// "enumDescriptions": [
// "Returns response with a sample size that balances speed and accuracy.",
// "Returns a fast response with a smaller sample size.",
// "Returns a more accurate response using a large sample size, but this may result in the response being slower."
// ],
// "location": "query",
// "type": "string"
// },
// "segment": {
// "description": "An Analytics segment to be applied to data.",
// "location": "query",
// "type": "string"
// },
// "sort": {
// "description": "A comma-separated list of dimensions or metrics that determine the sort order for Analytics data.",
// "location": "query",
// "pattern": "(-)?ga:.+",
// "type": "string"
// },
// "start-date": {
// "description": "Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.",
// "location": "query",
// "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)",
// "required": true,
// "type": "string"
// },
// "start-index": {
// "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// }
// },
// "path": "data/ga",
// "response": {
// "$ref": "GaData"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.data.mcf.get":
type DataMcfGetCall struct {
s *Service
ids string
startDate string
endDate string
metrics string
opt_ map[string]interface{}
}
// Get: Returns Analytics Multi-Channel Funnels data for a view
// (profile).
func (r *DataMcfService) Get(ids string, startDate string, endDate string, metrics string) *DataMcfGetCall {
c := &DataMcfGetCall{s: r.s, opt_: make(map[string]interface{})}
c.ids = ids
c.startDate = startDate
c.endDate = endDate
c.metrics = metrics
return c
}
// Dimensions sets the optional parameter "dimensions": A
// comma-separated list of Multi-Channel Funnels dimensions. E.g.,
// 'mcf:source,mcf:medium'.
func (c *DataMcfGetCall) Dimensions(dimensions string) *DataMcfGetCall {
c.opt_["dimensions"] = dimensions
return c
}
// Filters sets the optional parameter "filters": A comma-separated list
// of dimension or metric filters to be applied to the Analytics data.
func (c *DataMcfGetCall) Filters(filters string) *DataMcfGetCall {
c.opt_["filters"] = filters
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of entries to include in this feed.
func (c *DataMcfGetCall) MaxResults(maxResults int64) *DataMcfGetCall {
c.opt_["max-results"] = maxResults
return c
}
// SamplingLevel sets the optional parameter "samplingLevel": The
// desired sampling level.
func (c *DataMcfGetCall) SamplingLevel(samplingLevel string) *DataMcfGetCall {
c.opt_["samplingLevel"] = samplingLevel
return c
}
// Sort sets the optional parameter "sort": A comma-separated list of
// dimensions or metrics that determine the sort order for the Analytics
// data.
func (c *DataMcfGetCall) Sort(sort string) *DataMcfGetCall {
c.opt_["sort"] = sort
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first entity to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *DataMcfGetCall) StartIndex(startIndex int64) *DataMcfGetCall {
c.opt_["start-index"] = startIndex
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 *DataMcfGetCall) Fields(s ...googleapi.Field) *DataMcfGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *DataMcfGetCall) Do() (*McfData, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
params.Set("end-date", fmt.Sprintf("%v", c.endDate))
params.Set("ids", fmt.Sprintf("%v", c.ids))
params.Set("metrics", fmt.Sprintf("%v", c.metrics))
params.Set("start-date", fmt.Sprintf("%v", c.startDate))
if v, ok := c.opt_["dimensions"]; ok {
params.Set("dimensions", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["filters"]; ok {
params.Set("filters", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["samplingLevel"]; ok {
params.Set("samplingLevel", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["sort"]; ok {
params.Set("sort", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "data/mcf")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.SetOpaque(req.URL)
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 *McfData
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns Analytics Multi-Channel Funnels data for a view (profile).",
// "httpMethod": "GET",
// "id": "analytics.data.mcf.get",
// "parameterOrder": [
// "ids",
// "start-date",
// "end-date",
// "metrics"
// ],
// "parameters": {
// "dimensions": {
// "description": "A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'.",
// "location": "query",
// "pattern": "(mcf:.+)?",
// "type": "string"
// },
// "end-date": {
// "description": "End date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.",
// "location": "query",
// "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)",
// "required": true,
// "type": "string"
// },
// "filters": {
// "description": "A comma-separated list of dimension or metric filters to be applied to the Analytics data.",
// "location": "query",
// "pattern": "mcf:.+",
// "type": "string"
// },
// "ids": {
// "description": "Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.",
// "location": "query",
// "pattern": "ga:[0-9]+",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of entries to include in this feed.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "metrics": {
// "description": "A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified.",
// "location": "query",
// "pattern": "mcf:.+",
// "required": true,
// "type": "string"
// },
// "samplingLevel": {
// "description": "The desired sampling level.",
// "enum": [
// "DEFAULT",
// "FASTER",
// "HIGHER_PRECISION"
// ],
// "enumDescriptions": [
// "Returns response with a sample size that balances speed and accuracy.",
// "Returns a fast response with a smaller sample size.",
// "Returns a more accurate response using a large sample size, but this may result in the response being slower."
// ],
// "location": "query",
// "type": "string"
// },
// "sort": {
// "description": "A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data.",
// "location": "query",
// "pattern": "(-)?mcf:.+",
// "type": "string"
// },
// "start-date": {
// "description": "Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.",
// "location": "query",
// "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)",
// "required": true,
// "type": "string"
// },
// "start-index": {
// "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// }
// },
// "path": "data/mcf",
// "response": {
// "$ref": "McfData"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.data.realtime.get":
type DataRealtimeGetCall struct {
s *Service
ids string
metrics string
opt_ map[string]interface{}
}
// Get: Returns real time data for a view (profile).
func (r *DataRealtimeService) Get(ids string, metrics string) *DataRealtimeGetCall {
c := &DataRealtimeGetCall{s: r.s, opt_: make(map[string]interface{})}
c.ids = ids
c.metrics = metrics
return c
}
// Dimensions sets the optional parameter "dimensions": A
// comma-separated list of real time dimensions. E.g.,
// 'rt:medium,rt:city'.
func (c *DataRealtimeGetCall) Dimensions(dimensions string) *DataRealtimeGetCall {
c.opt_["dimensions"] = dimensions
return c
}
// Filters sets the optional parameter "filters": A comma-separated list
// of dimension or metric filters to be applied to real time data.
func (c *DataRealtimeGetCall) Filters(filters string) *DataRealtimeGetCall {
c.opt_["filters"] = filters
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of entries to include in this feed.
func (c *DataRealtimeGetCall) MaxResults(maxResults int64) *DataRealtimeGetCall {
c.opt_["max-results"] = maxResults
return c
}
// Sort sets the optional parameter "sort": A comma-separated list of
// dimensions or metrics that determine the sort order for real time
// data.
func (c *DataRealtimeGetCall) Sort(sort string) *DataRealtimeGetCall {
c.opt_["sort"] = sort
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 *DataRealtimeGetCall) Fields(s ...googleapi.Field) *DataRealtimeGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *DataRealtimeGetCall) Do() (*RealtimeData, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
params.Set("ids", fmt.Sprintf("%v", c.ids))
params.Set("metrics", fmt.Sprintf("%v", c.metrics))
if v, ok := c.opt_["dimensions"]; ok {
params.Set("dimensions", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["filters"]; ok {
params.Set("filters", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["sort"]; ok {
params.Set("sort", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "data/realtime")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.SetOpaque(req.URL)
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 *RealtimeData
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns real time data for a view (profile).",
// "httpMethod": "GET",
// "id": "analytics.data.realtime.get",
// "parameterOrder": [
// "ids",
// "metrics"
// ],
// "parameters": {
// "dimensions": {
// "description": "A comma-separated list of real time dimensions. E.g., 'rt:medium,rt:city'.",
// "location": "query",
// "pattern": "(ga:.+)|(rt:.+)",
// "type": "string"
// },
// "filters": {
// "description": "A comma-separated list of dimension or metric filters to be applied to real time data.",
// "location": "query",
// "pattern": "(ga:.+)|(rt:.+)",
// "type": "string"
// },
// "ids": {
// "description": "Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.",
// "location": "query",
// "pattern": "ga:[0-9]+",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of entries to include in this feed.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "metrics": {
// "description": "A comma-separated list of real time metrics. E.g., 'rt:activeUsers'. At least one metric must be specified.",
// "location": "query",
// "pattern": "(ga:.+)|(rt:.+)",
// "required": true,
// "type": "string"
// },
// "sort": {
// "description": "A comma-separated list of dimensions or metrics that determine the sort order for real time data.",
// "location": "query",
// "pattern": "(-)?((ga:.+)|(rt:.+))",
// "type": "string"
// }
// },
// "path": "data/realtime",
// "response": {
// "$ref": "RealtimeData"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.accountSummaries.list":
type ManagementAccountSummariesListCall struct {
s *Service
opt_ map[string]interface{}
}
// List: Lists account summaries (lightweight tree comprised of
// accounts/properties/profiles) to which the user has access.
func (r *ManagementAccountSummariesService) List() *ManagementAccountSummariesListCall {
c := &ManagementAccountSummariesListCall{s: r.s, opt_: make(map[string]interface{})}
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of account summaries to include in this response, where the
// largest acceptable value is 1000.
func (c *ManagementAccountSummariesListCall) MaxResults(maxResults int64) *ManagementAccountSummariesListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first entity to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementAccountSummariesListCall) StartIndex(startIndex int64) *ManagementAccountSummariesListCall {
c.opt_["start-index"] = startIndex
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 *ManagementAccountSummariesListCall) Fields(s ...googleapi.Field) *ManagementAccountSummariesListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementAccountSummariesListCall) Do() (*AccountSummaries, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accountSummaries")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.SetOpaque(req.URL)
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 *AccountSummaries
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists account summaries (lightweight tree comprised of accounts/properties/profiles) to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.accountSummaries.list",
// "parameters": {
// "max-results": {
// "description": "The maximum number of account summaries to include in this response, where the largest acceptable value is 1000.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// }
// },
// "path": "management/accountSummaries",
// "response": {
// "$ref": "AccountSummaries"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.accountUserLinks.delete":
type ManagementAccountUserLinksDeleteCall struct {
s *Service
accountId string
linkId string
opt_ map[string]interface{}
}
// Delete: Removes a user from the given account.
func (r *ManagementAccountUserLinksService) Delete(accountId string, linkId string) *ManagementAccountUserLinksDeleteCall {
c := &ManagementAccountUserLinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.linkId = linkId
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 *ManagementAccountUserLinksDeleteCall) Fields(s ...googleapi.Field) *ManagementAccountUserLinksDeleteCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementAccountUserLinksDeleteCall) Do() 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, "management/accounts/{accountId}/entityUserLinks/{linkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"linkId": c.linkId,
})
req.Header.Set("User-Agent", "google-api-go-client/0.5")
res, err := c.s.client.Do(req)
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Removes a user from the given account.",
// "httpMethod": "DELETE",
// "id": "analytics.management.accountUserLinks.delete",
// "parameterOrder": [
// "accountId",
// "linkId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to delete the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "linkId": {
// "description": "Link ID to delete the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/entityUserLinks/{linkId}",
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users"
// ]
// }
}
// method id "analytics.management.accountUserLinks.insert":
type ManagementAccountUserLinksInsertCall struct {
s *Service
accountId string
entityuserlink *EntityUserLink
opt_ map[string]interface{}
}
// Insert: Adds a new user to the given account.
func (r *ManagementAccountUserLinksService) Insert(accountId string, entityuserlink *EntityUserLink) *ManagementAccountUserLinksInsertCall {
c := &ManagementAccountUserLinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.entityuserlink = entityuserlink
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 *ManagementAccountUserLinksInsertCall) Fields(s ...googleapi.Field) *ManagementAccountUserLinksInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementAccountUserLinksInsertCall) Do() (*EntityUserLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.entityuserlink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/entityUserLinks")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
})
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 *EntityUserLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Adds a new user to the given account.",
// "httpMethod": "POST",
// "id": "analytics.management.accountUserLinks.insert",
// "parameterOrder": [
// "accountId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to create the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/entityUserLinks",
// "request": {
// "$ref": "EntityUserLink"
// },
// "response": {
// "$ref": "EntityUserLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users"
// ]
// }
}
// method id "analytics.management.accountUserLinks.list":
type ManagementAccountUserLinksListCall struct {
s *Service
accountId string
opt_ map[string]interface{}
}
// List: Lists account-user links for a given account.
func (r *ManagementAccountUserLinksService) List(accountId string) *ManagementAccountUserLinksListCall {
c := &ManagementAccountUserLinksListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of account-user links to include in this response.
func (c *ManagementAccountUserLinksListCall) MaxResults(maxResults int64) *ManagementAccountUserLinksListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first account-user link to retrieve. Use this parameter as a
// pagination mechanism along with the max-results parameter.
func (c *ManagementAccountUserLinksListCall) StartIndex(startIndex int64) *ManagementAccountUserLinksListCall {
c.opt_["start-index"] = startIndex
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 *ManagementAccountUserLinksListCall) Fields(s ...googleapi.Field) *ManagementAccountUserLinksListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementAccountUserLinksListCall) Do() (*EntityUserLinks, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/entityUserLinks")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
})
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 *EntityUserLinks
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists account-user links for a given account.",
// "httpMethod": "GET",
// "id": "analytics.management.accountUserLinks.list",
// "parameterOrder": [
// "accountId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve the user links for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of account-user links to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first account-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// }
// },
// "path": "management/accounts/{accountId}/entityUserLinks",
// "response": {
// "$ref": "EntityUserLinks"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users",
// "https://www.googleapis.com/auth/analytics.manage.users.readonly"
// ]
// }
}
// method id "analytics.management.accountUserLinks.update":
type ManagementAccountUserLinksUpdateCall struct {
s *Service
accountId string
linkId string
entityuserlink *EntityUserLink
opt_ map[string]interface{}
}
// Update: Updates permissions for an existing user on the given
// account.
func (r *ManagementAccountUserLinksService) Update(accountId string, linkId string, entityuserlink *EntityUserLink) *ManagementAccountUserLinksUpdateCall {
c := &ManagementAccountUserLinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.linkId = linkId
c.entityuserlink = entityuserlink
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 *ManagementAccountUserLinksUpdateCall) Fields(s ...googleapi.Field) *ManagementAccountUserLinksUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementAccountUserLinksUpdateCall) Do() (*EntityUserLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.entityuserlink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/entityUserLinks/{linkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"linkId": c.linkId,
})
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 *EntityUserLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates permissions for an existing user on the given account.",
// "httpMethod": "PUT",
// "id": "analytics.management.accountUserLinks.update",
// "parameterOrder": [
// "accountId",
// "linkId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to update the account-user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "linkId": {
// "description": "Link ID to update the account-user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/entityUserLinks/{linkId}",
// "request": {
// "$ref": "EntityUserLink"
// },
// "response": {
// "$ref": "EntityUserLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users"
// ]
// }
}
// method id "analytics.management.accounts.list":
type ManagementAccountsListCall struct {
s *Service
opt_ map[string]interface{}
}
// List: Lists all accounts to which the user has access.
func (r *ManagementAccountsService) List() *ManagementAccountsListCall {
c := &ManagementAccountsListCall{s: r.s, opt_: make(map[string]interface{})}
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of accounts to include in this response.
func (c *ManagementAccountsListCall) MaxResults(maxResults int64) *ManagementAccountsListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first account to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementAccountsListCall) StartIndex(startIndex int64) *ManagementAccountsListCall {
c.opt_["start-index"] = startIndex
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 *ManagementAccountsListCall) Fields(s ...googleapi.Field) *ManagementAccountsListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementAccountsListCall) Do() (*Accounts, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.SetOpaque(req.URL)
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 *Accounts
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists all accounts to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.accounts.list",
// "parameters": {
// "max-results": {
// "description": "The maximum number of accounts to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// }
// },
// "path": "management/accounts",
// "response": {
// "$ref": "Accounts"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.customDataSources.list":
type ManagementCustomDataSourcesListCall struct {
s *Service
accountId string
webPropertyId string
opt_ map[string]interface{}
}
// List: List custom data sources to which the user has access.
func (r *ManagementCustomDataSourcesService) List(accountId string, webPropertyId string) *ManagementCustomDataSourcesListCall {
c := &ManagementCustomDataSourcesListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of custom data sources to include in this response.
func (c *ManagementCustomDataSourcesListCall) MaxResults(maxResults int64) *ManagementCustomDataSourcesListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": A 1-based index
// of the first custom data source to retrieve. Use this parameter as a
// pagination mechanism along with the max-results parameter.
func (c *ManagementCustomDataSourcesListCall) StartIndex(startIndex int64) *ManagementCustomDataSourcesListCall {
c.opt_["start-index"] = startIndex
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 *ManagementCustomDataSourcesListCall) Fields(s ...googleapi.Field) *ManagementCustomDataSourcesListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomDataSourcesListCall) Do() (*CustomDataSources, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *CustomDataSources
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "List custom data sources to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.customDataSources.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account Id for the custom data sources to retrieve.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of custom data sources to include in this response.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "start-index": {
// "description": "A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property Id for the custom data sources to retrieve.",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources",
// "response": {
// "$ref": "CustomDataSources"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.customDimensions.get":
type ManagementCustomDimensionsGetCall struct {
s *Service
accountId string
webPropertyId string
customDimensionId string
opt_ map[string]interface{}
}
// Get: Get a custom dimension to which the user has access.
func (r *ManagementCustomDimensionsService) Get(accountId string, webPropertyId string, customDimensionId string) *ManagementCustomDimensionsGetCall {
c := &ManagementCustomDimensionsGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDimensionId = customDimensionId
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 *ManagementCustomDimensionsGetCall) Fields(s ...googleapi.Field) *ManagementCustomDimensionsGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomDimensionsGetCall) Do() (*CustomDimension, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDimensionId": c.customDimensionId,
})
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 *CustomDimension
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Get a custom dimension to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.customDimensions.get",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDimensionId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the custom dimension to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "customDimensionId": {
// "description": "The ID of the custom dimension to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID for the custom dimension to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}",
// "response": {
// "$ref": "CustomDimension"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.customDimensions.insert":
type ManagementCustomDimensionsInsertCall struct {
s *Service
accountId string
webPropertyId string
customdimension *CustomDimension
opt_ map[string]interface{}
}
// Insert: Create a new custom dimension.
func (r *ManagementCustomDimensionsService) Insert(accountId string, webPropertyId string, customdimension *CustomDimension) *ManagementCustomDimensionsInsertCall {
c := &ManagementCustomDimensionsInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customdimension = customdimension
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 *ManagementCustomDimensionsInsertCall) Fields(s ...googleapi.Field) *ManagementCustomDimensionsInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomDimensionsInsertCall) Do() (*CustomDimension, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.customdimension)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *CustomDimension
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Create a new custom dimension.",
// "httpMethod": "POST",
// "id": "analytics.management.customDimensions.insert",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the custom dimension to create.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID for the custom dimension to create.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions",
// "request": {
// "$ref": "CustomDimension"
// },
// "response": {
// "$ref": "CustomDimension"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.customDimensions.list":
type ManagementCustomDimensionsListCall struct {
s *Service
accountId string
webPropertyId string
opt_ map[string]interface{}
}
// List: Lists custom dimensions to which the user has access.
func (r *ManagementCustomDimensionsService) List(accountId string, webPropertyId string) *ManagementCustomDimensionsListCall {
c := &ManagementCustomDimensionsListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of custom dimensions to include in this response.
func (c *ManagementCustomDimensionsListCall) MaxResults(maxResults int64) *ManagementCustomDimensionsListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first entity to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementCustomDimensionsListCall) StartIndex(startIndex int64) *ManagementCustomDimensionsListCall {
c.opt_["start-index"] = startIndex
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 *ManagementCustomDimensionsListCall) Fields(s ...googleapi.Field) *ManagementCustomDimensionsListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomDimensionsListCall) Do() (*CustomDimensions, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *CustomDimensions
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists custom dimensions to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.customDimensions.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the custom dimensions to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of custom dimensions to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property ID for the custom dimensions to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions",
// "response": {
// "$ref": "CustomDimensions"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.customDimensions.patch":
type ManagementCustomDimensionsPatchCall struct {
s *Service
accountId string
webPropertyId string
customDimensionId string
customdimension *CustomDimension
opt_ map[string]interface{}
}
// Patch: Updates an existing custom dimension. This method supports
// patch semantics.
func (r *ManagementCustomDimensionsService) Patch(accountId string, webPropertyId string, customDimensionId string, customdimension *CustomDimension) *ManagementCustomDimensionsPatchCall {
c := &ManagementCustomDimensionsPatchCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDimensionId = customDimensionId
c.customdimension = customdimension
return c
}
// IgnoreCustomDataSourceLinks sets the optional parameter
// "ignoreCustomDataSourceLinks": Force the update and ignore any
// warnings related to the custom dimension being linked to a custom
// data source / data set.
func (c *ManagementCustomDimensionsPatchCall) IgnoreCustomDataSourceLinks(ignoreCustomDataSourceLinks bool) *ManagementCustomDimensionsPatchCall {
c.opt_["ignoreCustomDataSourceLinks"] = ignoreCustomDataSourceLinks
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 *ManagementCustomDimensionsPatchCall) Fields(s ...googleapi.Field) *ManagementCustomDimensionsPatchCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomDimensionsPatchCall) Do() (*CustomDimension, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.customdimension)
if err != nil {
return nil, err
}
ctype := "application/json"
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["ignoreCustomDataSourceLinks"]; ok {
params.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDimensionId": c.customDimensionId,
})
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 *CustomDimension
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing custom dimension. This method supports patch semantics.",
// "httpMethod": "PATCH",
// "id": "analytics.management.customDimensions.patch",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDimensionId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the custom dimension to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "customDimensionId": {
// "description": "Custom dimension ID for the custom dimension to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "ignoreCustomDataSourceLinks": {
// "default": "false",
// "description": "Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set.",
// "location": "query",
// "type": "boolean"
// },
// "webPropertyId": {
// "description": "Web property ID for the custom dimension to update.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}",
// "request": {
// "$ref": "CustomDimension"
// },
// "response": {
// "$ref": "CustomDimension"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.customDimensions.update":
type ManagementCustomDimensionsUpdateCall struct {
s *Service
accountId string
webPropertyId string
customDimensionId string
customdimension *CustomDimension
opt_ map[string]interface{}
}
// Update: Updates an existing custom dimension.
func (r *ManagementCustomDimensionsService) Update(accountId string, webPropertyId string, customDimensionId string, customdimension *CustomDimension) *ManagementCustomDimensionsUpdateCall {
c := &ManagementCustomDimensionsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDimensionId = customDimensionId
c.customdimension = customdimension
return c
}
// IgnoreCustomDataSourceLinks sets the optional parameter
// "ignoreCustomDataSourceLinks": Force the update and ignore any
// warnings related to the custom dimension being linked to a custom
// data source / data set.
func (c *ManagementCustomDimensionsUpdateCall) IgnoreCustomDataSourceLinks(ignoreCustomDataSourceLinks bool) *ManagementCustomDimensionsUpdateCall {
c.opt_["ignoreCustomDataSourceLinks"] = ignoreCustomDataSourceLinks
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 *ManagementCustomDimensionsUpdateCall) Fields(s ...googleapi.Field) *ManagementCustomDimensionsUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomDimensionsUpdateCall) Do() (*CustomDimension, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.customdimension)
if err != nil {
return nil, err
}
ctype := "application/json"
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["ignoreCustomDataSourceLinks"]; ok {
params.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDimensionId": c.customDimensionId,
})
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 *CustomDimension
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing custom dimension.",
// "httpMethod": "PUT",
// "id": "analytics.management.customDimensions.update",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDimensionId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the custom dimension to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "customDimensionId": {
// "description": "Custom dimension ID for the custom dimension to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "ignoreCustomDataSourceLinks": {
// "default": "false",
// "description": "Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set.",
// "location": "query",
// "type": "boolean"
// },
// "webPropertyId": {
// "description": "Web property ID for the custom dimension to update.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}",
// "request": {
// "$ref": "CustomDimension"
// },
// "response": {
// "$ref": "CustomDimension"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.customMetrics.get":
type ManagementCustomMetricsGetCall struct {
s *Service
accountId string
webPropertyId string
customMetricId string
opt_ map[string]interface{}
}
// Get: Get a custom metric to which the user has access.
func (r *ManagementCustomMetricsService) Get(accountId string, webPropertyId string, customMetricId string) *ManagementCustomMetricsGetCall {
c := &ManagementCustomMetricsGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customMetricId = customMetricId
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 *ManagementCustomMetricsGetCall) Fields(s ...googleapi.Field) *ManagementCustomMetricsGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomMetricsGetCall) Do() (*CustomMetric, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customMetricId": c.customMetricId,
})
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 *CustomMetric
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Get a custom metric to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.customMetrics.get",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customMetricId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the custom metric to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "customMetricId": {
// "description": "The ID of the custom metric to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID for the custom metric to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}",
// "response": {
// "$ref": "CustomMetric"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.customMetrics.insert":
type ManagementCustomMetricsInsertCall struct {
s *Service
accountId string
webPropertyId string
custommetric *CustomMetric
opt_ map[string]interface{}
}
// Insert: Create a new custom metric.
func (r *ManagementCustomMetricsService) Insert(accountId string, webPropertyId string, custommetric *CustomMetric) *ManagementCustomMetricsInsertCall {
c := &ManagementCustomMetricsInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.custommetric = custommetric
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 *ManagementCustomMetricsInsertCall) Fields(s ...googleapi.Field) *ManagementCustomMetricsInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomMetricsInsertCall) Do() (*CustomMetric, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.custommetric)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *CustomMetric
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Create a new custom metric.",
// "httpMethod": "POST",
// "id": "analytics.management.customMetrics.insert",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the custom metric to create.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID for the custom dimension to create.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics",
// "request": {
// "$ref": "CustomMetric"
// },
// "response": {
// "$ref": "CustomMetric"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.customMetrics.list":
type ManagementCustomMetricsListCall struct {
s *Service
accountId string
webPropertyId string
opt_ map[string]interface{}
}
// List: Lists custom metrics to which the user has access.
func (r *ManagementCustomMetricsService) List(accountId string, webPropertyId string) *ManagementCustomMetricsListCall {
c := &ManagementCustomMetricsListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of custom metrics to include in this response.
func (c *ManagementCustomMetricsListCall) MaxResults(maxResults int64) *ManagementCustomMetricsListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first entity to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementCustomMetricsListCall) StartIndex(startIndex int64) *ManagementCustomMetricsListCall {
c.opt_["start-index"] = startIndex
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 *ManagementCustomMetricsListCall) Fields(s ...googleapi.Field) *ManagementCustomMetricsListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomMetricsListCall) Do() (*CustomMetrics, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *CustomMetrics
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists custom metrics to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.customMetrics.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the custom metrics to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of custom metrics to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property ID for the custom metrics to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics",
// "response": {
// "$ref": "CustomMetrics"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.customMetrics.patch":
type ManagementCustomMetricsPatchCall struct {
s *Service
accountId string
webPropertyId string
customMetricId string
custommetric *CustomMetric
opt_ map[string]interface{}
}
// Patch: Updates an existing custom metric. This method supports patch
// semantics.
func (r *ManagementCustomMetricsService) Patch(accountId string, webPropertyId string, customMetricId string, custommetric *CustomMetric) *ManagementCustomMetricsPatchCall {
c := &ManagementCustomMetricsPatchCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customMetricId = customMetricId
c.custommetric = custommetric
return c
}
// IgnoreCustomDataSourceLinks sets the optional parameter
// "ignoreCustomDataSourceLinks": Force the update and ignore any
// warnings related to the custom metric being linked to a custom data
// source / data set.
func (c *ManagementCustomMetricsPatchCall) IgnoreCustomDataSourceLinks(ignoreCustomDataSourceLinks bool) *ManagementCustomMetricsPatchCall {
c.opt_["ignoreCustomDataSourceLinks"] = ignoreCustomDataSourceLinks
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 *ManagementCustomMetricsPatchCall) Fields(s ...googleapi.Field) *ManagementCustomMetricsPatchCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomMetricsPatchCall) Do() (*CustomMetric, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.custommetric)
if err != nil {
return nil, err
}
ctype := "application/json"
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["ignoreCustomDataSourceLinks"]; ok {
params.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customMetricId": c.customMetricId,
})
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 *CustomMetric
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing custom metric. This method supports patch semantics.",
// "httpMethod": "PATCH",
// "id": "analytics.management.customMetrics.patch",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customMetricId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the custom metric to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "customMetricId": {
// "description": "Custom metric ID for the custom metric to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "ignoreCustomDataSourceLinks": {
// "default": "false",
// "description": "Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.",
// "location": "query",
// "type": "boolean"
// },
// "webPropertyId": {
// "description": "Web property ID for the custom metric to update.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}",
// "request": {
// "$ref": "CustomMetric"
// },
// "response": {
// "$ref": "CustomMetric"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.customMetrics.update":
type ManagementCustomMetricsUpdateCall struct {
s *Service
accountId string
webPropertyId string
customMetricId string
custommetric *CustomMetric
opt_ map[string]interface{}
}
// Update: Updates an existing custom metric.
func (r *ManagementCustomMetricsService) Update(accountId string, webPropertyId string, customMetricId string, custommetric *CustomMetric) *ManagementCustomMetricsUpdateCall {
c := &ManagementCustomMetricsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customMetricId = customMetricId
c.custommetric = custommetric
return c
}
// IgnoreCustomDataSourceLinks sets the optional parameter
// "ignoreCustomDataSourceLinks": Force the update and ignore any
// warnings related to the custom metric being linked to a custom data
// source / data set.
func (c *ManagementCustomMetricsUpdateCall) IgnoreCustomDataSourceLinks(ignoreCustomDataSourceLinks bool) *ManagementCustomMetricsUpdateCall {
c.opt_["ignoreCustomDataSourceLinks"] = ignoreCustomDataSourceLinks
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 *ManagementCustomMetricsUpdateCall) Fields(s ...googleapi.Field) *ManagementCustomMetricsUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementCustomMetricsUpdateCall) Do() (*CustomMetric, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.custommetric)
if err != nil {
return nil, err
}
ctype := "application/json"
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["ignoreCustomDataSourceLinks"]; ok {
params.Set("ignoreCustomDataSourceLinks", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customMetricId": c.customMetricId,
})
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 *CustomMetric
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing custom metric.",
// "httpMethod": "PUT",
// "id": "analytics.management.customMetrics.update",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customMetricId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the custom metric to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "customMetricId": {
// "description": "Custom metric ID for the custom metric to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "ignoreCustomDataSourceLinks": {
// "default": "false",
// "description": "Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.",
// "location": "query",
// "type": "boolean"
// },
// "webPropertyId": {
// "description": "Web property ID for the custom metric to update.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}",
// "request": {
// "$ref": "CustomMetric"
// },
// "response": {
// "$ref": "CustomMetric"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.dailyUploads.delete":
type ManagementDailyUploadsDeleteCall struct {
s *Service
accountId string
webPropertyId string
customDataSourceId string
date string
type_ string
opt_ map[string]interface{}
}
// Delete: Delete uploaded data for the given date.
func (r *ManagementDailyUploadsService) Delete(accountId string, webPropertyId string, customDataSourceId string, date string, type_ string) *ManagementDailyUploadsDeleteCall {
c := &ManagementDailyUploadsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDataSourceId = customDataSourceId
c.date = date
c.type_ = type_
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 *ManagementDailyUploadsDeleteCall) Fields(s ...googleapi.Field) *ManagementDailyUploadsDeleteCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementDailyUploadsDeleteCall) Do() error {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
params.Set("type", fmt.Sprintf("%v", c.type_))
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads/{date}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDataSourceId": c.customDataSourceId,
"date": c.date,
})
req.Header.Set("User-Agent", "google-api-go-client/0.5")
res, err := c.s.client.Do(req)
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Delete uploaded data for the given date.",
// "httpMethod": "DELETE",
// "id": "analytics.management.dailyUploads.delete",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDataSourceId",
// "date",
// "type"
// ],
// "parameters": {
// "accountId": {
// "description": "Account Id associated with daily upload delete.",
// "location": "path",
// "pattern": "[0-9]+",
// "required": true,
// "type": "string"
// },
// "customDataSourceId": {
// "description": "Custom data source Id associated with daily upload delete.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "date": {
// "description": "Date for which data is to be deleted. Date should be formatted as YYYY-MM-DD.",
// "location": "path",
// "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}",
// "required": true,
// "type": "string"
// },
// "type": {
// "description": "Type of data for this delete.",
// "enum": [
// "cost"
// ],
// "enumDescriptions": [
// "Value for specifying cost data upload."
// ],
// "location": "query",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property Id associated with daily upload delete.",
// "location": "path",
// "pattern": "UA-[0-9]+-[0-9]+",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads/{date}",
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.dailyUploads.list":
type ManagementDailyUploadsListCall struct {
s *Service
accountId string
webPropertyId string
customDataSourceId string
startDate string
endDate string
opt_ map[string]interface{}
}
// List: List daily uploads to which the user has access.
func (r *ManagementDailyUploadsService) List(accountId string, webPropertyId string, customDataSourceId string, startDate string, endDate string) *ManagementDailyUploadsListCall {
c := &ManagementDailyUploadsListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDataSourceId = customDataSourceId
c.startDate = startDate
c.endDate = endDate
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of custom data sources to include in this response.
func (c *ManagementDailyUploadsListCall) MaxResults(maxResults int64) *ManagementDailyUploadsListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": A 1-based index
// of the first daily upload to retrieve. Use this parameter as a
// pagination mechanism along with the max-results parameter.
func (c *ManagementDailyUploadsListCall) StartIndex(startIndex int64) *ManagementDailyUploadsListCall {
c.opt_["start-index"] = startIndex
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 *ManagementDailyUploadsListCall) Fields(s ...googleapi.Field) *ManagementDailyUploadsListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementDailyUploadsListCall) Do() (*DailyUploads, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
params.Set("end-date", fmt.Sprintf("%v", c.endDate))
params.Set("start-date", fmt.Sprintf("%v", c.startDate))
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDataSourceId": c.customDataSourceId,
})
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 *DailyUploads
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "List daily uploads to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.dailyUploads.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDataSourceId",
// "start-date",
// "end-date"
// ],
// "parameters": {
// "accountId": {
// "description": "Account Id for the daily uploads to retrieve.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "customDataSourceId": {
// "description": "Custom data source Id for daily uploads to retrieve.",
// "location": "path",
// "pattern": ".{22}",
// "required": true,
// "type": "string"
// },
// "end-date": {
// "description": "End date of the form YYYY-MM-DD.",
// "location": "query",
// "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of custom data sources to include in this response.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "start-date": {
// "description": "Start date of the form YYYY-MM-DD.",
// "location": "query",
// "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}",
// "required": true,
// "type": "string"
// },
// "start-index": {
// "description": "A 1-based index of the first daily upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property Id for the daily uploads to retrieve.",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads",
// "response": {
// "$ref": "DailyUploads"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.dailyUploads.upload":
type ManagementDailyUploadsUploadCall struct {
s *Service
accountId string
webPropertyId string
customDataSourceId string
date string
appendNumber int64
type_ string
opt_ map[string]interface{}
media_ io.Reader
resumable_ googleapi.SizeReaderAt
mediaType_ string
ctx_ context.Context
protocol_ string
}
// Upload: Update/Overwrite data for a custom data source.
func (r *ManagementDailyUploadsService) Upload(accountId string, webPropertyId string, customDataSourceId string, date string, appendNumber int64, type_ string) *ManagementDailyUploadsUploadCall {
c := &ManagementDailyUploadsUploadCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDataSourceId = customDataSourceId
c.date = date
c.appendNumber = appendNumber
c.type_ = type_
return c
}
// Reset sets the optional parameter "reset": Reset/Overwrite all
// previous appends for this date and start over with this file as the
// first upload.
func (c *ManagementDailyUploadsUploadCall) Reset(reset bool) *ManagementDailyUploadsUploadCall {
c.opt_["reset"] = reset
return c
}
// Media specifies the media to upload in a single chunk.
// At most one of Media and ResumableMedia may be set.
func (c *ManagementDailyUploadsUploadCall) Media(r io.Reader) *ManagementDailyUploadsUploadCall {
c.media_ = r
c.protocol_ = "multipart"
return c
}
// ResumableMedia specifies the media to upload in chunks and can be cancelled with ctx.
// At most one of Media and ResumableMedia may be set.
// mediaType identifies the MIME media type of the upload, such as "image/png".
// If mediaType is "", it will be auto-detected.
func (c *ManagementDailyUploadsUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ManagementDailyUploadsUploadCall {
c.ctx_ = ctx
c.resumable_ = io.NewSectionReader(r, 0, size)
c.mediaType_ = mediaType
c.protocol_ = "resumable"
return c
}
// ProgressUpdater provides a callback function that will be called after every chunk.
// It should be a low-latency function in order to not slow down the upload operation.
// This should only be called when using ResumableMedia (as opposed to Media).
func (c *ManagementDailyUploadsUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ManagementDailyUploadsUploadCall {
c.opt_["progressUpdater"] = pu
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 *ManagementDailyUploadsUploadCall) Fields(s ...googleapi.Field) *ManagementDailyUploadsUploadCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementDailyUploadsUploadCall) Do() (*DailyUploadAppend, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
params.Set("appendNumber", fmt.Sprintf("%v", c.appendNumber))
params.Set("type", fmt.Sprintf("%v", c.type_))
if v, ok := c.opt_["reset"]; ok {
params.Set("reset", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads/{date}/uploads")
var progressUpdater_ googleapi.ProgressUpdater
if v, ok := c.opt_["progressUpdater"]; ok {
if pu, ok := v.(googleapi.ProgressUpdater); ok {
progressUpdater_ = pu
}
}
if c.media_ != nil || c.resumable_ != nil {
urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
params.Set("uploadType", c.protocol_)
}
urls += "?" + params.Encode()
body = new(bytes.Buffer)
ctype := "application/json"
var hasMedia_ bool
if c.protocol_ != "resumable" {
var cancel func()
cancel, hasMedia_ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
if cancel != nil {
defer cancel()
}
}
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDataSourceId": c.customDataSourceId,
"date": c.date,
})
if c.protocol_ == "resumable" {
req.ContentLength = 0
if c.mediaType_ == "" {
c.mediaType_ = googleapi.DetectMediaType(c.resumable_)
}
req.Header.Set("X-Upload-Content-Type", c.mediaType_)
req.Body = nil
if params.Get("name") == "" {
return nil, fmt.Errorf("resumable uploads must set the Name parameter.")
}
} else if hasMedia_ {
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
}
if c.protocol_ == "resumable" {
loc := res.Header.Get("Location")
rx := &googleapi.ResumableUpload{
Client: c.s.client,
URI: loc,
Media: c.resumable_,
MediaType: c.mediaType_,
ContentLength: c.resumable_.Size(),
Callback: progressUpdater_,
}
res, err = rx.Upload(c.ctx_)
if err != nil {
return nil, err
}
}
var ret *DailyUploadAppend
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Update/Overwrite data for a custom data source.",
// "httpMethod": "POST",
// "id": "analytics.management.dailyUploads.upload",
// "mediaUpload": {
// "accept": [
// "application/octet-stream"
// ],
// "maxSize": "5MB",
// "protocols": {
// "resumable": {
// "multipart": true,
// "path": "/resumable/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads/{date}/uploads"
// },
// "simple": {
// "multipart": true,
// "path": "/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads/{date}/uploads"
// }
// }
// },
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDataSourceId",
// "date",
// "appendNumber",
// "type"
// ],
// "parameters": {
// "accountId": {
// "description": "Account Id associated with daily upload.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "appendNumber": {
// "description": "Append number for this upload indexed from 1.",
// "format": "int32",
// "location": "query",
// "maximum": "20",
// "minimum": "1",
// "required": true,
// "type": "integer"
// },
// "customDataSourceId": {
// "description": "Custom data source Id to which the data being uploaded belongs.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "date": {
// "description": "Date for which data is uploaded. Date should be formatted as YYYY-MM-DD.",
// "location": "path",
// "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}",
// "required": true,
// "type": "string"
// },
// "reset": {
// "default": "false",
// "description": "Reset/Overwrite all previous appends for this date and start over with this file as the first upload.",
// "location": "query",
// "type": "boolean"
// },
// "type": {
// "description": "Type of data for this upload.",
// "enum": [
// "cost"
// ],
// "enumDescriptions": [
// "Value for specifying cost data upload."
// ],
// "location": "query",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property Id associated with daily upload.",
// "location": "path",
// "pattern": "UA-\\d+-\\d+",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads/{date}/uploads",
// "response": {
// "$ref": "DailyUploadAppend"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit"
// ],
// "supportsMediaUpload": true
// }
}
// method id "analytics.management.experiments.delete":
type ManagementExperimentsDeleteCall struct {
s *Service
accountId string
webPropertyId string
profileId string
experimentId string
opt_ map[string]interface{}
}
// Delete: Delete an experiment.
func (r *ManagementExperimentsService) Delete(accountId string, webPropertyId string, profileId string, experimentId string) *ManagementExperimentsDeleteCall {
c := &ManagementExperimentsDeleteCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.experimentId = experimentId
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 *ManagementExperimentsDeleteCall) Fields(s ...googleapi.Field) *ManagementExperimentsDeleteCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementExperimentsDeleteCall) Do() 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"experimentId": c.experimentId,
})
req.Header.Set("User-Agent", "google-api-go-client/0.5")
res, err := c.s.client.Do(req)
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Delete an experiment.",
// "httpMethod": "DELETE",
// "id": "analytics.management.experiments.delete",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "experimentId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to which the experiment belongs",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "experimentId": {
// "description": "ID of the experiment to delete",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to which the experiment belongs",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to which the experiment belongs",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}",
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.experiments.get":
type ManagementExperimentsGetCall struct {
s *Service
accountId string
webPropertyId string
profileId string
experimentId string
opt_ map[string]interface{}
}
// Get: Returns an experiment to which the user has access.
func (r *ManagementExperimentsService) Get(accountId string, webPropertyId string, profileId string, experimentId string) *ManagementExperimentsGetCall {
c := &ManagementExperimentsGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.experimentId = experimentId
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 *ManagementExperimentsGetCall) Fields(s ...googleapi.Field) *ManagementExperimentsGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementExperimentsGetCall) Do() (*Experiment, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"experimentId": c.experimentId,
})
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 *Experiment
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns an experiment to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.experiments.get",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "experimentId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve the experiment for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "experimentId": {
// "description": "Experiment ID to retrieve the experiment for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to retrieve the experiment for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve the experiment for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}",
// "response": {
// "$ref": "Experiment"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.experiments.insert":
type ManagementExperimentsInsertCall struct {
s *Service
accountId string
webPropertyId string
profileId string
experiment *Experiment
opt_ map[string]interface{}
}
// Insert: Create a new experiment.
func (r *ManagementExperimentsService) Insert(accountId string, webPropertyId string, profileId string, experiment *Experiment) *ManagementExperimentsInsertCall {
c := &ManagementExperimentsInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.experiment = experiment
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 *ManagementExperimentsInsertCall) Fields(s ...googleapi.Field) *ManagementExperimentsInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementExperimentsInsertCall) Do() (*Experiment, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.experiment)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *Experiment
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Create a new experiment.",
// "httpMethod": "POST",
// "id": "analytics.management.experiments.insert",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to create the experiment for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to create the experiment for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to create the experiment for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments",
// "request": {
// "$ref": "Experiment"
// },
// "response": {
// "$ref": "Experiment"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.experiments.list":
type ManagementExperimentsListCall struct {
s *Service
accountId string
webPropertyId string
profileId string
opt_ map[string]interface{}
}
// List: Lists experiments to which the user has access.
func (r *ManagementExperimentsService) List(accountId string, webPropertyId string, profileId string) *ManagementExperimentsListCall {
c := &ManagementExperimentsListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of experiments to include in this response.
func (c *ManagementExperimentsListCall) MaxResults(maxResults int64) *ManagementExperimentsListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first experiment to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementExperimentsListCall) StartIndex(startIndex int64) *ManagementExperimentsListCall {
c.opt_["start-index"] = startIndex
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 *ManagementExperimentsListCall) Fields(s ...googleapi.Field) *ManagementExperimentsListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementExperimentsListCall) Do() (*Experiments, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *Experiments
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists experiments to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.experiments.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve experiments for.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of experiments to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "profileId": {
// "description": "View (Profile) ID to retrieve experiments for.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "start-index": {
// "description": "An index of the first experiment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve experiments for.",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments",
// "response": {
// "$ref": "Experiments"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.experiments.patch":
type ManagementExperimentsPatchCall struct {
s *Service
accountId string
webPropertyId string
profileId string
experimentId string
experiment *Experiment
opt_ map[string]interface{}
}
// Patch: Update an existing experiment. This method supports patch
// semantics.
func (r *ManagementExperimentsService) Patch(accountId string, webPropertyId string, profileId string, experimentId string, experiment *Experiment) *ManagementExperimentsPatchCall {
c := &ManagementExperimentsPatchCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.experimentId = experimentId
c.experiment = experiment
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 *ManagementExperimentsPatchCall) Fields(s ...googleapi.Field) *ManagementExperimentsPatchCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementExperimentsPatchCall) Do() (*Experiment, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.experiment)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"experimentId": c.experimentId,
})
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 *Experiment
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Update an existing experiment. This method supports patch semantics.",
// "httpMethod": "PATCH",
// "id": "analytics.management.experiments.patch",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "experimentId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID of the experiment to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "experimentId": {
// "description": "Experiment ID of the experiment to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID of the experiment to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID of the experiment to update.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}",
// "request": {
// "$ref": "Experiment"
// },
// "response": {
// "$ref": "Experiment"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.experiments.update":
type ManagementExperimentsUpdateCall struct {
s *Service
accountId string
webPropertyId string
profileId string
experimentId string
experiment *Experiment
opt_ map[string]interface{}
}
// Update: Update an existing experiment.
func (r *ManagementExperimentsService) Update(accountId string, webPropertyId string, profileId string, experimentId string, experiment *Experiment) *ManagementExperimentsUpdateCall {
c := &ManagementExperimentsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.experimentId = experimentId
c.experiment = experiment
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 *ManagementExperimentsUpdateCall) Fields(s ...googleapi.Field) *ManagementExperimentsUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementExperimentsUpdateCall) Do() (*Experiment, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.experiment)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"experimentId": c.experimentId,
})
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 *Experiment
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Update an existing experiment.",
// "httpMethod": "PUT",
// "id": "analytics.management.experiments.update",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "experimentId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID of the experiment to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "experimentId": {
// "description": "Experiment ID of the experiment to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID of the experiment to update.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID of the experiment to update.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}",
// "request": {
// "$ref": "Experiment"
// },
// "response": {
// "$ref": "Experiment"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.filters.delete":
type ManagementFiltersDeleteCall struct {
s *Service
accountId string
filterId string
opt_ map[string]interface{}
}
// Delete: Delete a filter.
func (r *ManagementFiltersService) Delete(accountId string, filterId string) *ManagementFiltersDeleteCall {
c := &ManagementFiltersDeleteCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.filterId = filterId
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 *ManagementFiltersDeleteCall) Fields(s ...googleapi.Field) *ManagementFiltersDeleteCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementFiltersDeleteCall) Do() (*Filter, 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, "management/accounts/{accountId}/filters/{filterId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"filterId": c.filterId,
})
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 *Filter
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Delete a filter.",
// "httpMethod": "DELETE",
// "id": "analytics.management.filters.delete",
// "parameterOrder": [
// "accountId",
// "filterId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to delete the filter for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "filterId": {
// "description": "ID of the filter to be deleted.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/filters/{filterId}",
// "response": {
// "$ref": "Filter"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.filters.get":
type ManagementFiltersGetCall struct {
s *Service
accountId string
filterId string
opt_ map[string]interface{}
}
// Get: Returns a filters to which the user has access.
func (r *ManagementFiltersService) Get(accountId string, filterId string) *ManagementFiltersGetCall {
c := &ManagementFiltersGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.filterId = filterId
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 *ManagementFiltersGetCall) Fields(s ...googleapi.Field) *ManagementFiltersGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementFiltersGetCall) Do() (*Filter, 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, "management/accounts/{accountId}/filters/{filterId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"filterId": c.filterId,
})
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 *Filter
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns a filters to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.filters.get",
// "parameterOrder": [
// "accountId",
// "filterId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve filters for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "filterId": {
// "description": "Filter ID to retrieve filters for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/filters/{filterId}",
// "response": {
// "$ref": "Filter"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.filters.insert":
type ManagementFiltersInsertCall struct {
s *Service
accountId string
filter *Filter
opt_ map[string]interface{}
}
// Insert: Create a new filter.
func (r *ManagementFiltersService) Insert(accountId string, filter *Filter) *ManagementFiltersInsertCall {
c := &ManagementFiltersInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.filter = filter
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 *ManagementFiltersInsertCall) Fields(s ...googleapi.Field) *ManagementFiltersInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementFiltersInsertCall) Do() (*Filter, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.filter)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/filters")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
})
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 *Filter
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Create a new filter.",
// "httpMethod": "POST",
// "id": "analytics.management.filters.insert",
// "parameterOrder": [
// "accountId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to create filter for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/filters",
// "request": {
// "$ref": "Filter"
// },
// "response": {
// "$ref": "Filter"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.filters.list":
type ManagementFiltersListCall struct {
s *Service
accountId string
opt_ map[string]interface{}
}
// List: Lists all filters for an account
func (r *ManagementFiltersService) List(accountId string) *ManagementFiltersListCall {
c := &ManagementFiltersListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of filters to include in this response.
func (c *ManagementFiltersListCall) MaxResults(maxResults int64) *ManagementFiltersListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first entity to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementFiltersListCall) StartIndex(startIndex int64) *ManagementFiltersListCall {
c.opt_["start-index"] = startIndex
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 *ManagementFiltersListCall) Fields(s ...googleapi.Field) *ManagementFiltersListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementFiltersListCall) Do() (*Filters, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/filters")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
})
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 *Filters
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists all filters for an account",
// "httpMethod": "GET",
// "id": "analytics.management.filters.list",
// "parameterOrder": [
// "accountId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve filters for.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of filters to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// }
// },
// "path": "management/accounts/{accountId}/filters",
// "response": {
// "$ref": "Filters"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.filters.patch":
type ManagementFiltersPatchCall struct {
s *Service
accountId string
filterId string
filter *Filter
opt_ map[string]interface{}
}
// Patch: Updates an existing filter. This method supports patch
// semantics.
func (r *ManagementFiltersService) Patch(accountId string, filterId string, filter *Filter) *ManagementFiltersPatchCall {
c := &ManagementFiltersPatchCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.filterId = filterId
c.filter = filter
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 *ManagementFiltersPatchCall) Fields(s ...googleapi.Field) *ManagementFiltersPatchCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementFiltersPatchCall) Do() (*Filter, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.filter)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/filters/{filterId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"filterId": c.filterId,
})
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 *Filter
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing filter. This method supports patch semantics.",
// "httpMethod": "PATCH",
// "id": "analytics.management.filters.patch",
// "parameterOrder": [
// "accountId",
// "filterId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to which the filter belongs.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "filterId": {
// "description": "ID of the filter to be updated.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/filters/{filterId}",
// "request": {
// "$ref": "Filter"
// },
// "response": {
// "$ref": "Filter"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.filters.update":
type ManagementFiltersUpdateCall struct {
s *Service
accountId string
filterId string
filter *Filter
opt_ map[string]interface{}
}
// Update: Updates an existing filter.
func (r *ManagementFiltersService) Update(accountId string, filterId string, filter *Filter) *ManagementFiltersUpdateCall {
c := &ManagementFiltersUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.filterId = filterId
c.filter = filter
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 *ManagementFiltersUpdateCall) Fields(s ...googleapi.Field) *ManagementFiltersUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementFiltersUpdateCall) Do() (*Filter, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.filter)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/filters/{filterId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"filterId": c.filterId,
})
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 *Filter
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing filter.",
// "httpMethod": "PUT",
// "id": "analytics.management.filters.update",
// "parameterOrder": [
// "accountId",
// "filterId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to which the filter belongs.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "filterId": {
// "description": "ID of the filter to be updated.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/filters/{filterId}",
// "request": {
// "$ref": "Filter"
// },
// "response": {
// "$ref": "Filter"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.goals.get":
type ManagementGoalsGetCall struct {
s *Service
accountId string
webPropertyId string
profileId string
goalId string
opt_ map[string]interface{}
}
// Get: Gets a goal to which the user has access.
func (r *ManagementGoalsService) Get(accountId string, webPropertyId string, profileId string, goalId string) *ManagementGoalsGetCall {
c := &ManagementGoalsGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.goalId = goalId
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 *ManagementGoalsGetCall) Fields(s ...googleapi.Field) *ManagementGoalsGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementGoalsGetCall) Do() (*Goal, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"goalId": c.goalId,
})
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 *Goal
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Gets a goal to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.goals.get",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "goalId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve the goal for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "goalId": {
// "description": "Goal ID to retrieve the goal for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to retrieve the goal for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve the goal for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}",
// "response": {
// "$ref": "Goal"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.goals.insert":
type ManagementGoalsInsertCall struct {
s *Service
accountId string
webPropertyId string
profileId string
goal *Goal
opt_ map[string]interface{}
}
// Insert: Create a new goal.
func (r *ManagementGoalsService) Insert(accountId string, webPropertyId string, profileId string, goal *Goal) *ManagementGoalsInsertCall {
c := &ManagementGoalsInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.goal = goal
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 *ManagementGoalsInsertCall) Fields(s ...googleapi.Field) *ManagementGoalsInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementGoalsInsertCall) Do() (*Goal, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.goal)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *Goal
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Create a new goal.",
// "httpMethod": "POST",
// "id": "analytics.management.goals.insert",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to create the goal for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to create the goal for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to create the goal for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals",
// "request": {
// "$ref": "Goal"
// },
// "response": {
// "$ref": "Goal"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.goals.list":
type ManagementGoalsListCall struct {
s *Service
accountId string
webPropertyId string
profileId string
opt_ map[string]interface{}
}
// List: Lists goals to which the user has access.
func (r *ManagementGoalsService) List(accountId string, webPropertyId string, profileId string) *ManagementGoalsListCall {
c := &ManagementGoalsListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of goals to include in this response.
func (c *ManagementGoalsListCall) MaxResults(maxResults int64) *ManagementGoalsListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first goal to retrieve. Use this parameter as a pagination mechanism
// along with the max-results parameter.
func (c *ManagementGoalsListCall) StartIndex(startIndex int64) *ManagementGoalsListCall {
c.opt_["start-index"] = startIndex
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 *ManagementGoalsListCall) Fields(s ...googleapi.Field) *ManagementGoalsListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementGoalsListCall) Do() (*Goals, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *Goals
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists goals to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.goals.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of goals to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "profileId": {
// "description": "View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "start-index": {
// "description": "An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals",
// "response": {
// "$ref": "Goals"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.goals.patch":
type ManagementGoalsPatchCall struct {
s *Service
accountId string
webPropertyId string
profileId string
goalId string
goal *Goal
opt_ map[string]interface{}
}
// Patch: Updates an existing view (profile). This method supports patch
// semantics.
func (r *ManagementGoalsService) Patch(accountId string, webPropertyId string, profileId string, goalId string, goal *Goal) *ManagementGoalsPatchCall {
c := &ManagementGoalsPatchCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.goalId = goalId
c.goal = goal
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 *ManagementGoalsPatchCall) Fields(s ...googleapi.Field) *ManagementGoalsPatchCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementGoalsPatchCall) Do() (*Goal, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.goal)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"goalId": c.goalId,
})
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 *Goal
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing view (profile). This method supports patch semantics.",
// "httpMethod": "PATCH",
// "id": "analytics.management.goals.patch",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "goalId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to update the goal.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "goalId": {
// "description": "Index of the goal to be updated.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to update the goal.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to update the goal.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}",
// "request": {
// "$ref": "Goal"
// },
// "response": {
// "$ref": "Goal"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.goals.update":
type ManagementGoalsUpdateCall struct {
s *Service
accountId string
webPropertyId string
profileId string
goalId string
goal *Goal
opt_ map[string]interface{}
}
// Update: Updates an existing view (profile).
func (r *ManagementGoalsService) Update(accountId string, webPropertyId string, profileId string, goalId string, goal *Goal) *ManagementGoalsUpdateCall {
c := &ManagementGoalsUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.goalId = goalId
c.goal = goal
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 *ManagementGoalsUpdateCall) Fields(s ...googleapi.Field) *ManagementGoalsUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementGoalsUpdateCall) Do() (*Goal, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.goal)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"goalId": c.goalId,
})
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 *Goal
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing view (profile).",
// "httpMethod": "PUT",
// "id": "analytics.management.goals.update",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "goalId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to update the goal.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "goalId": {
// "description": "Index of the goal to be updated.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to update the goal.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to update the goal.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}",
// "request": {
// "$ref": "Goal"
// },
// "response": {
// "$ref": "Goal"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.profileFilterLinks.delete":
type ManagementProfileFilterLinksDeleteCall struct {
s *Service
accountId string
webPropertyId string
profileId string
linkId string
opt_ map[string]interface{}
}
// Delete: Delete a profile filter link.
func (r *ManagementProfileFilterLinksService) Delete(accountId string, webPropertyId string, profileId string, linkId string) *ManagementProfileFilterLinksDeleteCall {
c := &ManagementProfileFilterLinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.linkId = linkId
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 *ManagementProfileFilterLinksDeleteCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksDeleteCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfileFilterLinksDeleteCall) Do() 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"linkId": c.linkId,
})
req.Header.Set("User-Agent", "google-api-go-client/0.5")
res, err := c.s.client.Do(req)
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Delete a profile filter link.",
// "httpMethod": "DELETE",
// "id": "analytics.management.profileFilterLinks.delete",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "linkId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to which the profile filter link belongs.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "linkId": {
// "description": "ID of the profile filter link to delete.",
// "location": "path",
// "pattern": "\\d+:\\d+",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "Profile ID to which the filter link belongs.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property Id to which the profile filter link belongs.",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}",
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.profileFilterLinks.get":
type ManagementProfileFilterLinksGetCall struct {
s *Service
accountId string
webPropertyId string
profileId string
linkId string
opt_ map[string]interface{}
}
// Get: Returns a single profile filter link.
func (r *ManagementProfileFilterLinksService) Get(accountId string, webPropertyId string, profileId string, linkId string) *ManagementProfileFilterLinksGetCall {
c := &ManagementProfileFilterLinksGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.linkId = linkId
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 *ManagementProfileFilterLinksGetCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfileFilterLinksGetCall) Do() (*ProfileFilterLink, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"linkId": c.linkId,
})
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 *ProfileFilterLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns a single profile filter link.",
// "httpMethod": "GET",
// "id": "analytics.management.profileFilterLinks.get",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "linkId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve profile filter link for.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "linkId": {
// "description": "ID of the profile filter link.",
// "location": "path",
// "pattern": "\\d+:\\d+",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "Profile ID to retrieve filter link for.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property Id to retrieve profile filter link for.",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}",
// "response": {
// "$ref": "ProfileFilterLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.profileFilterLinks.insert":
type ManagementProfileFilterLinksInsertCall struct {
s *Service
accountId string
webPropertyId string
profileId string
profilefilterlink *ProfileFilterLink
opt_ map[string]interface{}
}
// Insert: Create a new profile filter link.
func (r *ManagementProfileFilterLinksService) Insert(accountId string, webPropertyId string, profileId string, profilefilterlink *ProfileFilterLink) *ManagementProfileFilterLinksInsertCall {
c := &ManagementProfileFilterLinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.profilefilterlink = profilefilterlink
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 *ManagementProfileFilterLinksInsertCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfileFilterLinksInsertCall) Do() (*ProfileFilterLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.profilefilterlink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *ProfileFilterLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Create a new profile filter link.",
// "httpMethod": "POST",
// "id": "analytics.management.profileFilterLinks.insert",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to create profile filter link for.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "Profile ID to create filter link for.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property Id to create profile filter link for.",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks",
// "request": {
// "$ref": "ProfileFilterLink"
// },
// "response": {
// "$ref": "ProfileFilterLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.profileFilterLinks.list":
type ManagementProfileFilterLinksListCall struct {
s *Service
accountId string
webPropertyId string
profileId string
opt_ map[string]interface{}
}
// List: Lists all profile filter links for a profile.
func (r *ManagementProfileFilterLinksService) List(accountId string, webPropertyId string, profileId string) *ManagementProfileFilterLinksListCall {
c := &ManagementProfileFilterLinksListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of profile filter links to include in this response.
func (c *ManagementProfileFilterLinksListCall) MaxResults(maxResults int64) *ManagementProfileFilterLinksListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first entity to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementProfileFilterLinksListCall) StartIndex(startIndex int64) *ManagementProfileFilterLinksListCall {
c.opt_["start-index"] = startIndex
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 *ManagementProfileFilterLinksListCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfileFilterLinksListCall) Do() (*ProfileFilterLinks, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *ProfileFilterLinks
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists all profile filter links for a profile.",
// "httpMethod": "GET",
// "id": "analytics.management.profileFilterLinks.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve profile filter links for.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of profile filter links to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "profileId": {
// "description": "Profile ID to retrieve filter links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "start-index": {
// "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property Id for profile filter links for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks",
// "response": {
// "$ref": "ProfileFilterLinks"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.profileFilterLinks.patch":
type ManagementProfileFilterLinksPatchCall struct {
s *Service
accountId string
webPropertyId string
profileId string
linkId string
profilefilterlink *ProfileFilterLink
opt_ map[string]interface{}
}
// Patch: Update an existing profile filter link. This method supports
// patch semantics.
func (r *ManagementProfileFilterLinksService) Patch(accountId string, webPropertyId string, profileId string, linkId string, profilefilterlink *ProfileFilterLink) *ManagementProfileFilterLinksPatchCall {
c := &ManagementProfileFilterLinksPatchCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.linkId = linkId
c.profilefilterlink = profilefilterlink
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 *ManagementProfileFilterLinksPatchCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksPatchCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfileFilterLinksPatchCall) Do() (*ProfileFilterLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.profilefilterlink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"linkId": c.linkId,
})
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 *ProfileFilterLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Update an existing profile filter link. This method supports patch semantics.",
// "httpMethod": "PATCH",
// "id": "analytics.management.profileFilterLinks.patch",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "linkId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to which profile filter link belongs.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "linkId": {
// "description": "ID of the profile filter link to be updated.",
// "location": "path",
// "pattern": "\\d+:\\d+",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "Profile ID to which filter link belongs",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property Id to which profile filter link belongs",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}",
// "request": {
// "$ref": "ProfileFilterLink"
// },
// "response": {
// "$ref": "ProfileFilterLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.profileFilterLinks.update":
type ManagementProfileFilterLinksUpdateCall struct {
s *Service
accountId string
webPropertyId string
profileId string
linkId string
profilefilterlink *ProfileFilterLink
opt_ map[string]interface{}
}
// Update: Update an existing profile filter link.
func (r *ManagementProfileFilterLinksService) Update(accountId string, webPropertyId string, profileId string, linkId string, profilefilterlink *ProfileFilterLink) *ManagementProfileFilterLinksUpdateCall {
c := &ManagementProfileFilterLinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.linkId = linkId
c.profilefilterlink = profilefilterlink
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 *ManagementProfileFilterLinksUpdateCall) Fields(s ...googleapi.Field) *ManagementProfileFilterLinksUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfileFilterLinksUpdateCall) Do() (*ProfileFilterLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.profilefilterlink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"linkId": c.linkId,
})
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 *ProfileFilterLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Update an existing profile filter link.",
// "httpMethod": "PUT",
// "id": "analytics.management.profileFilterLinks.update",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "linkId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to which profile filter link belongs.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "linkId": {
// "description": "ID of the profile filter link to be updated.",
// "location": "path",
// "pattern": "\\d+:\\d+",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "Profile ID to which filter link belongs",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property Id to which profile filter link belongs",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}",
// "request": {
// "$ref": "ProfileFilterLink"
// },
// "response": {
// "$ref": "ProfileFilterLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.profileUserLinks.delete":
type ManagementProfileUserLinksDeleteCall struct {
s *Service
accountId string
webPropertyId string
profileId string
linkId string
opt_ map[string]interface{}
}
// Delete: Removes a user from the given view (profile).
func (r *ManagementProfileUserLinksService) Delete(accountId string, webPropertyId string, profileId string, linkId string) *ManagementProfileUserLinksDeleteCall {
c := &ManagementProfileUserLinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.linkId = linkId
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 *ManagementProfileUserLinksDeleteCall) Fields(s ...googleapi.Field) *ManagementProfileUserLinksDeleteCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfileUserLinksDeleteCall) Do() 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"linkId": c.linkId,
})
req.Header.Set("User-Agent", "google-api-go-client/0.5")
res, err := c.s.client.Do(req)
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Removes a user from the given view (profile).",
// "httpMethod": "DELETE",
// "id": "analytics.management.profileUserLinks.delete",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "linkId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to delete the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "linkId": {
// "description": "Link ID to delete the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to delete the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web Property ID to delete the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}",
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users"
// ]
// }
}
// method id "analytics.management.profileUserLinks.insert":
type ManagementProfileUserLinksInsertCall struct {
s *Service
accountId string
webPropertyId string
profileId string
entityuserlink *EntityUserLink
opt_ map[string]interface{}
}
// Insert: Adds a new user to the given view (profile).
func (r *ManagementProfileUserLinksService) Insert(accountId string, webPropertyId string, profileId string, entityuserlink *EntityUserLink) *ManagementProfileUserLinksInsertCall {
c := &ManagementProfileUserLinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.entityuserlink = entityuserlink
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 *ManagementProfileUserLinksInsertCall) Fields(s ...googleapi.Field) *ManagementProfileUserLinksInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfileUserLinksInsertCall) Do() (*EntityUserLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.entityuserlink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *EntityUserLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Adds a new user to the given view (profile).",
// "httpMethod": "POST",
// "id": "analytics.management.profileUserLinks.insert",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to create the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to create the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web Property ID to create the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks",
// "request": {
// "$ref": "EntityUserLink"
// },
// "response": {
// "$ref": "EntityUserLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users"
// ]
// }
}
// method id "analytics.management.profileUserLinks.list":
type ManagementProfileUserLinksListCall struct {
s *Service
accountId string
webPropertyId string
profileId string
opt_ map[string]interface{}
}
// List: Lists profile-user links for a given view (profile).
func (r *ManagementProfileUserLinksService) List(accountId string, webPropertyId string, profileId string) *ManagementProfileUserLinksListCall {
c := &ManagementProfileUserLinksListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of profile-user links to include in this response.
func (c *ManagementProfileUserLinksListCall) MaxResults(maxResults int64) *ManagementProfileUserLinksListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first profile-user link to retrieve. Use this parameter as a
// pagination mechanism along with the max-results parameter.
func (c *ManagementProfileUserLinksListCall) StartIndex(startIndex int64) *ManagementProfileUserLinksListCall {
c.opt_["start-index"] = startIndex
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 *ManagementProfileUserLinksListCall) Fields(s ...googleapi.Field) *ManagementProfileUserLinksListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfileUserLinksListCall) Do() (*EntityUserLinks, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *EntityUserLinks
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists profile-user links for a given view (profile).",
// "httpMethod": "GET",
// "id": "analytics.management.profileUserLinks.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID which the given view (profile) belongs to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of profile-user links to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "profileId": {
// "description": "View (Profile) ID to retrieve the profile-user links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "start-index": {
// "description": "An index of the first profile-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web Property ID which the given view (profile) belongs to. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks",
// "response": {
// "$ref": "EntityUserLinks"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users",
// "https://www.googleapis.com/auth/analytics.manage.users.readonly"
// ]
// }
}
// method id "analytics.management.profileUserLinks.update":
type ManagementProfileUserLinksUpdateCall struct {
s *Service
accountId string
webPropertyId string
profileId string
linkId string
entityuserlink *EntityUserLink
opt_ map[string]interface{}
}
// Update: Updates permissions for an existing user on the given view
// (profile).
func (r *ManagementProfileUserLinksService) Update(accountId string, webPropertyId string, profileId string, linkId string, entityuserlink *EntityUserLink) *ManagementProfileUserLinksUpdateCall {
c := &ManagementProfileUserLinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.linkId = linkId
c.entityuserlink = entityuserlink
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 *ManagementProfileUserLinksUpdateCall) Fields(s ...googleapi.Field) *ManagementProfileUserLinksUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfileUserLinksUpdateCall) Do() (*EntityUserLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.entityuserlink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"linkId": c.linkId,
})
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 *EntityUserLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates permissions for an existing user on the given view (profile).",
// "httpMethod": "PUT",
// "id": "analytics.management.profileUserLinks.update",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "linkId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to update the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "linkId": {
// "description": "Link ID to update the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile ID) to update the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web Property ID to update the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}",
// "request": {
// "$ref": "EntityUserLink"
// },
// "response": {
// "$ref": "EntityUserLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users"
// ]
// }
}
// method id "analytics.management.profiles.delete":
type ManagementProfilesDeleteCall struct {
s *Service
accountId string
webPropertyId string
profileId string
opt_ map[string]interface{}
}
// Delete: Deletes a view (profile).
func (r *ManagementProfilesService) Delete(accountId string, webPropertyId string, profileId string) *ManagementProfilesDeleteCall {
c := &ManagementProfilesDeleteCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
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 *ManagementProfilesDeleteCall) Fields(s ...googleapi.Field) *ManagementProfilesDeleteCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfilesDeleteCall) Do() 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
req.Header.Set("User-Agent", "google-api-go-client/0.5")
res, err := c.s.client.Do(req)
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Deletes a view (profile).",
// "httpMethod": "DELETE",
// "id": "analytics.management.profiles.delete",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to delete the view (profile) for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "ID of the view (profile) to be deleted.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to delete the view (profile) for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}",
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.profiles.get":
type ManagementProfilesGetCall struct {
s *Service
accountId string
webPropertyId string
profileId string
opt_ map[string]interface{}
}
// Get: Gets a view (profile) to which the user has access.
func (r *ManagementProfilesService) Get(accountId string, webPropertyId string, profileId string) *ManagementProfilesGetCall {
c := &ManagementProfilesGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
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 *ManagementProfilesGetCall) Fields(s ...googleapi.Field) *ManagementProfilesGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfilesGetCall) Do() (*Profile, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *Profile
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Gets a view (profile) to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.profiles.get",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve the goal for.",
// "location": "path",
// "pattern": "[0-9]+",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to retrieve the goal for.",
// "location": "path",
// "pattern": "[0-9]+",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve the goal for.",
// "location": "path",
// "pattern": "UA-[0-9]+-[0-9]+",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}",
// "response": {
// "$ref": "Profile"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.profiles.insert":
type ManagementProfilesInsertCall struct {
s *Service
accountId string
webPropertyId string
profile *Profile
opt_ map[string]interface{}
}
// Insert: Create a new view (profile).
func (r *ManagementProfilesService) Insert(accountId string, webPropertyId string, profile *Profile) *ManagementProfilesInsertCall {
c := &ManagementProfilesInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profile = profile
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 *ManagementProfilesInsertCall) Fields(s ...googleapi.Field) *ManagementProfilesInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfilesInsertCall) Do() (*Profile, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.profile)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *Profile
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Create a new view (profile).",
// "httpMethod": "POST",
// "id": "analytics.management.profiles.insert",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to create the view (profile) for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to create the view (profile) for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles",
// "request": {
// "$ref": "Profile"
// },
// "response": {
// "$ref": "Profile"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.profiles.list":
type ManagementProfilesListCall struct {
s *Service
accountId string
webPropertyId string
opt_ map[string]interface{}
}
// List: Lists views (profiles) to which the user has access.
func (r *ManagementProfilesService) List(accountId string, webPropertyId string) *ManagementProfilesListCall {
c := &ManagementProfilesListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of views (profiles) to include in this response.
func (c *ManagementProfilesListCall) MaxResults(maxResults int64) *ManagementProfilesListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first entity to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementProfilesListCall) StartIndex(startIndex int64) *ManagementProfilesListCall {
c.opt_["start-index"] = startIndex
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 *ManagementProfilesListCall) Fields(s ...googleapi.Field) *ManagementProfilesListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfilesListCall) Do() (*Profiles, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *Profiles
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists views (profiles) to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.profiles.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID for the view (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of views (profiles) to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles",
// "response": {
// "$ref": "Profiles"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.profiles.patch":
type ManagementProfilesPatchCall struct {
s *Service
accountId string
webPropertyId string
profileId string
profile *Profile
opt_ map[string]interface{}
}
// Patch: Updates an existing view (profile). This method supports patch
// semantics.
func (r *ManagementProfilesService) Patch(accountId string, webPropertyId string, profileId string, profile *Profile) *ManagementProfilesPatchCall {
c := &ManagementProfilesPatchCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.profile = profile
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 *ManagementProfilesPatchCall) Fields(s ...googleapi.Field) *ManagementProfilesPatchCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfilesPatchCall) Do() (*Profile, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.profile)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *Profile
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing view (profile). This method supports patch semantics.",
// "httpMethod": "PATCH",
// "id": "analytics.management.profiles.patch",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to which the view (profile) belongs",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "ID of the view (profile) to be updated.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to which the view (profile) belongs",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}",
// "request": {
// "$ref": "Profile"
// },
// "response": {
// "$ref": "Profile"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.profiles.update":
type ManagementProfilesUpdateCall struct {
s *Service
accountId string
webPropertyId string
profileId string
profile *Profile
opt_ map[string]interface{}
}
// Update: Updates an existing view (profile).
func (r *ManagementProfilesService) Update(accountId string, webPropertyId string, profileId string, profile *Profile) *ManagementProfilesUpdateCall {
c := &ManagementProfilesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.profile = profile
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 *ManagementProfilesUpdateCall) Fields(s ...googleapi.Field) *ManagementProfilesUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementProfilesUpdateCall) Do() (*Profile, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.profile)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *Profile
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing view (profile).",
// "httpMethod": "PUT",
// "id": "analytics.management.profiles.update",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to which the view (profile) belongs",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "ID of the view (profile) to be updated.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to which the view (profile) belongs",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}",
// "request": {
// "$ref": "Profile"
// },
// "response": {
// "$ref": "Profile"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.segments.list":
type ManagementSegmentsListCall struct {
s *Service
opt_ map[string]interface{}
}
// List: Lists segments to which the user has access.
func (r *ManagementSegmentsService) List() *ManagementSegmentsListCall {
c := &ManagementSegmentsListCall{s: r.s, opt_: make(map[string]interface{})}
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of segments to include in this response.
func (c *ManagementSegmentsListCall) MaxResults(maxResults int64) *ManagementSegmentsListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first segment to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementSegmentsListCall) StartIndex(startIndex int64) *ManagementSegmentsListCall {
c.opt_["start-index"] = startIndex
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 *ManagementSegmentsListCall) Fields(s ...googleapi.Field) *ManagementSegmentsListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementSegmentsListCall) Do() (*Segments, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/segments")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.SetOpaque(req.URL)
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 *Segments
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists segments to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.segments.list",
// "parameters": {
// "max-results": {
// "description": "The maximum number of segments to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// }
// },
// "path": "management/segments",
// "response": {
// "$ref": "Segments"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.unsampledReports.get":
type ManagementUnsampledReportsGetCall struct {
s *Service
accountId string
webPropertyId string
profileId string
unsampledReportId string
opt_ map[string]interface{}
}
// Get: Returns a single unsampled report.
func (r *ManagementUnsampledReportsService) Get(accountId string, webPropertyId string, profileId string, unsampledReportId string) *ManagementUnsampledReportsGetCall {
c := &ManagementUnsampledReportsGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.unsampledReportId = unsampledReportId
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 *ManagementUnsampledReportsGetCall) Fields(s ...googleapi.Field) *ManagementUnsampledReportsGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementUnsampledReportsGetCall) Do() (*UnsampledReport, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
"unsampledReportId": c.unsampledReportId,
})
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 *UnsampledReport
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns a single unsampled report.",
// "httpMethod": "GET",
// "id": "analytics.management.unsampledReports.get",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId",
// "unsampledReportId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve unsampled report for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to retrieve unsampled report for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "unsampledReportId": {
// "description": "ID of the unsampled report to retrieve.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve unsampled reports for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}",
// "response": {
// "$ref": "UnsampledReport"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.unsampledReports.insert":
type ManagementUnsampledReportsInsertCall struct {
s *Service
accountId string
webPropertyId string
profileId string
unsampledreport *UnsampledReport
opt_ map[string]interface{}
}
// Insert: Create a new unsampled report.
func (r *ManagementUnsampledReportsService) Insert(accountId string, webPropertyId string, profileId string, unsampledreport *UnsampledReport) *ManagementUnsampledReportsInsertCall {
c := &ManagementUnsampledReportsInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
c.unsampledreport = unsampledreport
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 *ManagementUnsampledReportsInsertCall) Fields(s ...googleapi.Field) *ManagementUnsampledReportsInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementUnsampledReportsInsertCall) Do() (*UnsampledReport, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.unsampledreport)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *UnsampledReport
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Create a new unsampled report.",
// "httpMethod": "POST",
// "id": "analytics.management.unsampledReports.insert",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to create the unsampled report for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "profileId": {
// "description": "View (Profile) ID to create the unsampled report for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to create the unsampled report for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports",
// "request": {
// "$ref": "UnsampledReport"
// },
// "response": {
// "$ref": "UnsampledReport"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.unsampledReports.list":
type ManagementUnsampledReportsListCall struct {
s *Service
accountId string
webPropertyId string
profileId string
opt_ map[string]interface{}
}
// List: Lists unsampled reports to which the user has access.
func (r *ManagementUnsampledReportsService) List(accountId string, webPropertyId string, profileId string) *ManagementUnsampledReportsListCall {
c := &ManagementUnsampledReportsListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.profileId = profileId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of unsampled reports to include in this response.
func (c *ManagementUnsampledReportsListCall) MaxResults(maxResults int64) *ManagementUnsampledReportsListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first unsampled report to retrieve. Use this parameter as a
// pagination mechanism along with the max-results parameter.
func (c *ManagementUnsampledReportsListCall) StartIndex(startIndex int64) *ManagementUnsampledReportsListCall {
c.opt_["start-index"] = startIndex
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 *ManagementUnsampledReportsListCall) Fields(s ...googleapi.Field) *ManagementUnsampledReportsListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementUnsampledReportsListCall) Do() (*UnsampledReports, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"profileId": c.profileId,
})
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 *UnsampledReports
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists unsampled reports to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.unsampledReports.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "profileId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve unsampled reports for. Must be a specific account ID, ~all is not supported.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of unsampled reports to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "profileId": {
// "description": "View (Profile) ID to retrieve unsampled reports for. Must be a specific view (profile) ID, ~all is not supported.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "start-index": {
// "description": "An index of the first unsampled report to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve unsampled reports for. Must be a specific web property ID, ~all is not supported.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports",
// "response": {
// "$ref": "UnsampledReports"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.uploads.deleteUploadData":
type ManagementUploadsDeleteUploadDataCall struct {
s *Service
accountId string
webPropertyId string
customDataSourceId string
analyticsdataimportdeleteuploaddatarequest *AnalyticsDataimportDeleteUploadDataRequest
opt_ map[string]interface{}
}
// DeleteUploadData: Delete data associated with a previous upload.
func (r *ManagementUploadsService) DeleteUploadData(accountId string, webPropertyId string, customDataSourceId string, analyticsdataimportdeleteuploaddatarequest *AnalyticsDataimportDeleteUploadDataRequest) *ManagementUploadsDeleteUploadDataCall {
c := &ManagementUploadsDeleteUploadDataCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDataSourceId = customDataSourceId
c.analyticsdataimportdeleteuploaddatarequest = analyticsdataimportdeleteuploaddatarequest
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 *ManagementUploadsDeleteUploadDataCall) Fields(s ...googleapi.Field) *ManagementUploadsDeleteUploadDataCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementUploadsDeleteUploadDataCall) Do() error {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.analyticsdataimportdeleteuploaddatarequest)
if err != nil {
return err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDataSourceId": c.customDataSourceId,
})
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 err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Delete data associated with a previous upload.",
// "httpMethod": "POST",
// "id": "analytics.management.uploads.deleteUploadData",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDataSourceId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account Id for the uploads to be deleted.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "customDataSourceId": {
// "description": "Custom data source Id for the uploads to be deleted.",
// "location": "path",
// "pattern": ".{22}",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property Id for the uploads to be deleted.",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData",
// "request": {
// "$ref": "AnalyticsDataimportDeleteUploadDataRequest"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.uploads.get":
type ManagementUploadsGetCall struct {
s *Service
accountId string
webPropertyId string
customDataSourceId string
uploadId string
opt_ map[string]interface{}
}
// Get: List uploads to which the user has access.
func (r *ManagementUploadsService) Get(accountId string, webPropertyId string, customDataSourceId string, uploadId string) *ManagementUploadsGetCall {
c := &ManagementUploadsGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDataSourceId = customDataSourceId
c.uploadId = uploadId
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 *ManagementUploadsGetCall) Fields(s ...googleapi.Field) *ManagementUploadsGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementUploadsGetCall) Do() (*Upload, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDataSourceId": c.customDataSourceId,
"uploadId": c.uploadId,
})
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 *Upload
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "List uploads to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.uploads.get",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDataSourceId",
// "uploadId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account Id for the upload to retrieve.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "customDataSourceId": {
// "description": "Custom data source Id for upload to retrieve.",
// "location": "path",
// "pattern": ".{22}",
// "required": true,
// "type": "string"
// },
// "uploadId": {
// "description": "Upload Id to retrieve.",
// "location": "path",
// "pattern": ".{22}",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property Id for the upload to retrieve.",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}",
// "response": {
// "$ref": "Upload"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.uploads.list":
type ManagementUploadsListCall struct {
s *Service
accountId string
webPropertyId string
customDataSourceId string
opt_ map[string]interface{}
}
// List: List uploads to which the user has access.
func (r *ManagementUploadsService) List(accountId string, webPropertyId string, customDataSourceId string) *ManagementUploadsListCall {
c := &ManagementUploadsListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDataSourceId = customDataSourceId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of uploads to include in this response.
func (c *ManagementUploadsListCall) MaxResults(maxResults int64) *ManagementUploadsListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": A 1-based index
// of the first upload to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementUploadsListCall) StartIndex(startIndex int64) *ManagementUploadsListCall {
c.opt_["start-index"] = startIndex
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 *ManagementUploadsListCall) Fields(s ...googleapi.Field) *ManagementUploadsListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementUploadsListCall) Do() (*Uploads, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDataSourceId": c.customDataSourceId,
})
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 *Uploads
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "List uploads to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.uploads.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDataSourceId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account Id for the uploads to retrieve.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "customDataSourceId": {
// "description": "Custom data source Id for uploads to retrieve.",
// "location": "path",
// "pattern": ".{22}",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of uploads to include in this response.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "start-index": {
// "description": "A 1-based index of the first upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property Id for the uploads to retrieve.",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads",
// "response": {
// "$ref": "Uploads"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.uploads.migrateDataImport":
type ManagementUploadsMigrateDataImportCall struct {
s *Service
accountId string
webPropertyId string
customDataSourceId string
opt_ map[string]interface{}
}
// MigrateDataImport: Migrate custom data source and data imports to
// latest version.
func (r *ManagementUploadsService) MigrateDataImport(accountId string, webPropertyId string, customDataSourceId string) *ManagementUploadsMigrateDataImportCall {
c := &ManagementUploadsMigrateDataImportCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDataSourceId = customDataSourceId
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 *ManagementUploadsMigrateDataImportCall) Fields(s ...googleapi.Field) *ManagementUploadsMigrateDataImportCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementUploadsMigrateDataImportCall) Do() 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/migrateDataImport")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDataSourceId": c.customDataSourceId,
})
req.Header.Set("User-Agent", "google-api-go-client/0.5")
res, err := c.s.client.Do(req)
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Migrate custom data source and data imports to latest version.",
// "httpMethod": "POST",
// "id": "analytics.management.uploads.migrateDataImport",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDataSourceId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account Id for migration.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "customDataSourceId": {
// "description": "Custom data source Id for migration.",
// "location": "path",
// "pattern": ".{22}",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property Id for migration.",
// "location": "path",
// "pattern": "UA-(\\d+)-(\\d+)",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/migrateDataImport",
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.uploads.uploadData":
type ManagementUploadsUploadDataCall struct {
s *Service
accountId string
webPropertyId string
customDataSourceId string
opt_ map[string]interface{}
media_ io.Reader
resumable_ googleapi.SizeReaderAt
mediaType_ string
ctx_ context.Context
protocol_ string
}
// UploadData: Upload data for a custom data source.
func (r *ManagementUploadsService) UploadData(accountId string, webPropertyId string, customDataSourceId string) *ManagementUploadsUploadDataCall {
c := &ManagementUploadsUploadDataCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.customDataSourceId = customDataSourceId
return c
}
// Media specifies the media to upload in a single chunk.
// At most one of Media and ResumableMedia may be set.
func (c *ManagementUploadsUploadDataCall) Media(r io.Reader) *ManagementUploadsUploadDataCall {
c.media_ = r
c.protocol_ = "multipart"
return c
}
// ResumableMedia specifies the media to upload in chunks and can be cancelled with ctx.
// At most one of Media and ResumableMedia may be set.
// mediaType identifies the MIME media type of the upload, such as "image/png".
// If mediaType is "", it will be auto-detected.
func (c *ManagementUploadsUploadDataCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ManagementUploadsUploadDataCall {
c.ctx_ = ctx
c.resumable_ = io.NewSectionReader(r, 0, size)
c.mediaType_ = mediaType
c.protocol_ = "resumable"
return c
}
// ProgressUpdater provides a callback function that will be called after every chunk.
// It should be a low-latency function in order to not slow down the upload operation.
// This should only be called when using ResumableMedia (as opposed to Media).
func (c *ManagementUploadsUploadDataCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ManagementUploadsUploadDataCall {
c.opt_["progressUpdater"] = pu
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 *ManagementUploadsUploadDataCall) Fields(s ...googleapi.Field) *ManagementUploadsUploadDataCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementUploadsUploadDataCall) Do() (*Upload, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads")
var progressUpdater_ googleapi.ProgressUpdater
if v, ok := c.opt_["progressUpdater"]; ok {
if pu, ok := v.(googleapi.ProgressUpdater); ok {
progressUpdater_ = pu
}
}
if c.media_ != nil || c.resumable_ != nil {
urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1)
params.Set("uploadType", c.protocol_)
}
urls += "?" + params.Encode()
body = new(bytes.Buffer)
ctype := "application/json"
var hasMedia_ bool
if c.protocol_ != "resumable" {
var cancel func()
cancel, hasMedia_ = googleapi.ConditionallyIncludeMedia(c.media_, &body, &ctype)
if cancel != nil {
defer cancel()
}
}
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"customDataSourceId": c.customDataSourceId,
})
if c.protocol_ == "resumable" {
req.ContentLength = 0
if c.mediaType_ == "" {
c.mediaType_ = googleapi.DetectMediaType(c.resumable_)
}
req.Header.Set("X-Upload-Content-Type", c.mediaType_)
req.Body = nil
if params.Get("name") == "" {
return nil, fmt.Errorf("resumable uploads must set the Name parameter.")
}
} else if hasMedia_ {
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
}
if c.protocol_ == "resumable" {
loc := res.Header.Get("Location")
rx := &googleapi.ResumableUpload{
Client: c.s.client,
URI: loc,
Media: c.resumable_,
MediaType: c.mediaType_,
ContentLength: c.resumable_.Size(),
Callback: progressUpdater_,
}
res, err = rx.Upload(c.ctx_)
if err != nil {
return nil, err
}
}
var ret *Upload
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Upload data for a custom data source.",
// "httpMethod": "POST",
// "id": "analytics.management.uploads.uploadData",
// "mediaUpload": {
// "accept": [
// "application/octet-stream"
// ],
// "maxSize": "1GB",
// "protocols": {
// "resumable": {
// "multipart": true,
// "path": "/resumable/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads"
// },
// "simple": {
// "multipart": true,
// "path": "/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads"
// }
// }
// },
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "customDataSourceId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account Id associated with the upload.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "customDataSourceId": {
// "description": "Custom data source Id to which the data being uploaded belongs.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property UA-string associated with the upload.",
// "location": "path",
// "pattern": "UA-\\d+-\\d+",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads",
// "response": {
// "$ref": "Upload"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit"
// ],
// "supportsMediaUpload": true
// }
}
// method id "analytics.management.webPropertyAdWordsLinks.delete":
type ManagementWebPropertyAdWordsLinksDeleteCall struct {
s *Service
accountId string
webPropertyId string
webPropertyAdWordsLinkId string
opt_ map[string]interface{}
}
// Delete: Deletes a web property-AdWords link.
func (r *ManagementWebPropertyAdWordsLinksService) Delete(accountId string, webPropertyId string, webPropertyAdWordsLinkId string) *ManagementWebPropertyAdWordsLinksDeleteCall {
c := &ManagementWebPropertyAdWordsLinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.webPropertyAdWordsLinkId = webPropertyAdWordsLinkId
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 *ManagementWebPropertyAdWordsLinksDeleteCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksDeleteCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebPropertyAdWordsLinksDeleteCall) Do() 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"webPropertyAdWordsLinkId": c.webPropertyAdWordsLinkId,
})
req.Header.Set("User-Agent", "google-api-go-client/0.5")
res, err := c.s.client.Do(req)
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Deletes a web property-AdWords link.",
// "httpMethod": "DELETE",
// "id": "analytics.management.webPropertyAdWordsLinks.delete",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "webPropertyAdWordsLinkId"
// ],
// "parameters": {
// "accountId": {
// "description": "ID of the account which the given web property belongs to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyAdWordsLinkId": {
// "description": "Web property AdWords link ID.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to delete the AdWords link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}",
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.webPropertyAdWordsLinks.get":
type ManagementWebPropertyAdWordsLinksGetCall struct {
s *Service
accountId string
webPropertyId string
webPropertyAdWordsLinkId string
opt_ map[string]interface{}
}
// Get: Returns a web property-AdWords link to which the user has
// access.
func (r *ManagementWebPropertyAdWordsLinksService) Get(accountId string, webPropertyId string, webPropertyAdWordsLinkId string) *ManagementWebPropertyAdWordsLinksGetCall {
c := &ManagementWebPropertyAdWordsLinksGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.webPropertyAdWordsLinkId = webPropertyAdWordsLinkId
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 *ManagementWebPropertyAdWordsLinksGetCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebPropertyAdWordsLinksGetCall) Do() (*EntityAdWordsLink, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"webPropertyAdWordsLinkId": c.webPropertyAdWordsLinkId,
})
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 *EntityAdWordsLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Returns a web property-AdWords link to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.webPropertyAdWordsLinks.get",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "webPropertyAdWordsLinkId"
// ],
// "parameters": {
// "accountId": {
// "description": "ID of the account which the given web property belongs to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyAdWordsLinkId": {
// "description": "Web property-AdWords link ID.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve the AdWords link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}",
// "response": {
// "$ref": "EntityAdWordsLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.webPropertyAdWordsLinks.insert":
type ManagementWebPropertyAdWordsLinksInsertCall struct {
s *Service
accountId string
webPropertyId string
entityadwordslink *EntityAdWordsLink
opt_ map[string]interface{}
}
// Insert: Creates a webProperty-AdWords link.
func (r *ManagementWebPropertyAdWordsLinksService) Insert(accountId string, webPropertyId string, entityadwordslink *EntityAdWordsLink) *ManagementWebPropertyAdWordsLinksInsertCall {
c := &ManagementWebPropertyAdWordsLinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.entityadwordslink = entityadwordslink
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 *ManagementWebPropertyAdWordsLinksInsertCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebPropertyAdWordsLinksInsertCall) Do() (*EntityAdWordsLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.entityadwordslink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *EntityAdWordsLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Creates a webProperty-AdWords link.",
// "httpMethod": "POST",
// "id": "analytics.management.webPropertyAdWordsLinks.insert",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "ID of the Google Analytics account to create the link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to create the link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks",
// "request": {
// "$ref": "EntityAdWordsLink"
// },
// "response": {
// "$ref": "EntityAdWordsLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.webPropertyAdWordsLinks.list":
type ManagementWebPropertyAdWordsLinksListCall struct {
s *Service
accountId string
webPropertyId string
opt_ map[string]interface{}
}
// List: Lists webProperty-AdWords links for a given web property.
func (r *ManagementWebPropertyAdWordsLinksService) List(accountId string, webPropertyId string) *ManagementWebPropertyAdWordsLinksListCall {
c := &ManagementWebPropertyAdWordsLinksListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of webProperty-AdWords links to include in this response.
func (c *ManagementWebPropertyAdWordsLinksListCall) MaxResults(maxResults int64) *ManagementWebPropertyAdWordsLinksListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first webProperty-AdWords link to retrieve. Use this parameter as a
// pagination mechanism along with the max-results parameter.
func (c *ManagementWebPropertyAdWordsLinksListCall) StartIndex(startIndex int64) *ManagementWebPropertyAdWordsLinksListCall {
c.opt_["start-index"] = startIndex
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 *ManagementWebPropertyAdWordsLinksListCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebPropertyAdWordsLinksListCall) Do() (*EntityAdWordsLinks, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *EntityAdWordsLinks
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists webProperty-AdWords links for a given web property.",
// "httpMethod": "GET",
// "id": "analytics.management.webPropertyAdWordsLinks.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "ID of the account which the given web property belongs to.",
// "location": "path",
// "pattern": "\\d+",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of webProperty-AdWords links to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first webProperty-AdWords link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve the AdWords links for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks",
// "response": {
// "$ref": "EntityAdWordsLinks"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.webPropertyAdWordsLinks.patch":
type ManagementWebPropertyAdWordsLinksPatchCall struct {
s *Service
accountId string
webPropertyId string
webPropertyAdWordsLinkId string
entityadwordslink *EntityAdWordsLink
opt_ map[string]interface{}
}
// Patch: Updates an existing webProperty-AdWords link. This method
// supports patch semantics.
func (r *ManagementWebPropertyAdWordsLinksService) Patch(accountId string, webPropertyId string, webPropertyAdWordsLinkId string, entityadwordslink *EntityAdWordsLink) *ManagementWebPropertyAdWordsLinksPatchCall {
c := &ManagementWebPropertyAdWordsLinksPatchCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.webPropertyAdWordsLinkId = webPropertyAdWordsLinkId
c.entityadwordslink = entityadwordslink
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 *ManagementWebPropertyAdWordsLinksPatchCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksPatchCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebPropertyAdWordsLinksPatchCall) Do() (*EntityAdWordsLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.entityadwordslink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"webPropertyAdWordsLinkId": c.webPropertyAdWordsLinkId,
})
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 *EntityAdWordsLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing webProperty-AdWords link. This method supports patch semantics.",
// "httpMethod": "PATCH",
// "id": "analytics.management.webPropertyAdWordsLinks.patch",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "webPropertyAdWordsLinkId"
// ],
// "parameters": {
// "accountId": {
// "description": "ID of the account which the given web property belongs to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyAdWordsLinkId": {
// "description": "Web property-AdWords link ID.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve the AdWords link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}",
// "request": {
// "$ref": "EntityAdWordsLink"
// },
// "response": {
// "$ref": "EntityAdWordsLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.webPropertyAdWordsLinks.update":
type ManagementWebPropertyAdWordsLinksUpdateCall struct {
s *Service
accountId string
webPropertyId string
webPropertyAdWordsLinkId string
entityadwordslink *EntityAdWordsLink
opt_ map[string]interface{}
}
// Update: Updates an existing webProperty-AdWords link.
func (r *ManagementWebPropertyAdWordsLinksService) Update(accountId string, webPropertyId string, webPropertyAdWordsLinkId string, entityadwordslink *EntityAdWordsLink) *ManagementWebPropertyAdWordsLinksUpdateCall {
c := &ManagementWebPropertyAdWordsLinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.webPropertyAdWordsLinkId = webPropertyAdWordsLinkId
c.entityadwordslink = entityadwordslink
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 *ManagementWebPropertyAdWordsLinksUpdateCall) Fields(s ...googleapi.Field) *ManagementWebPropertyAdWordsLinksUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebPropertyAdWordsLinksUpdateCall) Do() (*EntityAdWordsLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.entityadwordslink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"webPropertyAdWordsLinkId": c.webPropertyAdWordsLinkId,
})
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 *EntityAdWordsLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing webProperty-AdWords link.",
// "httpMethod": "PUT",
// "id": "analytics.management.webPropertyAdWordsLinks.update",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "webPropertyAdWordsLinkId"
// ],
// "parameters": {
// "accountId": {
// "description": "ID of the account which the given web property belongs to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyAdWordsLinkId": {
// "description": "Web property-AdWords link ID.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to retrieve the AdWords link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}",
// "request": {
// "$ref": "EntityAdWordsLink"
// },
// "response": {
// "$ref": "EntityAdWordsLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.webproperties.get":
type ManagementWebpropertiesGetCall struct {
s *Service
accountId string
webPropertyId string
opt_ map[string]interface{}
}
// Get: Gets a web property to which the user has access.
func (r *ManagementWebpropertiesService) Get(accountId string, webPropertyId string) *ManagementWebpropertiesGetCall {
c := &ManagementWebpropertiesGetCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
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 *ManagementWebpropertiesGetCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesGetCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebpropertiesGetCall) Do() (*Webproperty, 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, "management/accounts/{accountId}/webproperties/{webPropertyId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *Webproperty
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Gets a web property to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.webproperties.get",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve the web property for.",
// "location": "path",
// "pattern": "[0-9]+",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "ID to retrieve the web property for.",
// "location": "path",
// "pattern": "UA-[0-9]+-[0-9]+",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}",
// "response": {
// "$ref": "Webproperty"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.webproperties.insert":
type ManagementWebpropertiesInsertCall struct {
s *Service
accountId string
webproperty *Webproperty
opt_ map[string]interface{}
}
// Insert: Create a new property if the account has fewer than 20
// properties. Web properties are visible in the Google Analytics
// interface only if they have at least one profile.
func (r *ManagementWebpropertiesService) Insert(accountId string, webproperty *Webproperty) *ManagementWebpropertiesInsertCall {
c := &ManagementWebpropertiesInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webproperty = webproperty
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 *ManagementWebpropertiesInsertCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebpropertiesInsertCall) Do() (*Webproperty, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.webproperty)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
})
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 *Webproperty
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Create a new property if the account has fewer than 20 properties. Web properties are visible in the Google Analytics interface only if they have at least one profile.",
// "httpMethod": "POST",
// "id": "analytics.management.webproperties.insert",
// "parameterOrder": [
// "accountId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to create the web property for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties",
// "request": {
// "$ref": "Webproperty"
// },
// "response": {
// "$ref": "Webproperty"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.webproperties.list":
type ManagementWebpropertiesListCall struct {
s *Service
accountId string
opt_ map[string]interface{}
}
// List: Lists web properties to which the user has access.
func (r *ManagementWebpropertiesService) List(accountId string) *ManagementWebpropertiesListCall {
c := &ManagementWebpropertiesListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of web properties to include in this response.
func (c *ManagementWebpropertiesListCall) MaxResults(maxResults int64) *ManagementWebpropertiesListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first entity to retrieve. Use this parameter as a pagination
// mechanism along with the max-results parameter.
func (c *ManagementWebpropertiesListCall) StartIndex(startIndex int64) *ManagementWebpropertiesListCall {
c.opt_["start-index"] = startIndex
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 *ManagementWebpropertiesListCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebpropertiesListCall) Do() (*Webproperties, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
})
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 *Webproperties
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists web properties to which the user has access.",
// "httpMethod": "GET",
// "id": "analytics.management.webproperties.list",
// "parameterOrder": [
// "accountId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of web properties to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// }
// },
// "path": "management/accounts/{accountId}/webproperties",
// "response": {
// "$ref": "Webproperties"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.management.webproperties.patch":
type ManagementWebpropertiesPatchCall struct {
s *Service
accountId string
webPropertyId string
webproperty *Webproperty
opt_ map[string]interface{}
}
// Patch: Updates an existing web property. This method supports patch
// semantics.
func (r *ManagementWebpropertiesService) Patch(accountId string, webPropertyId string, webproperty *Webproperty) *ManagementWebpropertiesPatchCall {
c := &ManagementWebpropertiesPatchCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.webproperty = webproperty
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 *ManagementWebpropertiesPatchCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesPatchCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebpropertiesPatchCall) Do() (*Webproperty, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.webproperty)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *Webproperty
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing web property. This method supports patch semantics.",
// "httpMethod": "PATCH",
// "id": "analytics.management.webproperties.patch",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to which the web property belongs",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}",
// "request": {
// "$ref": "Webproperty"
// },
// "response": {
// "$ref": "Webproperty"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.webproperties.update":
type ManagementWebpropertiesUpdateCall struct {
s *Service
accountId string
webPropertyId string
webproperty *Webproperty
opt_ map[string]interface{}
}
// Update: Updates an existing web property.
func (r *ManagementWebpropertiesService) Update(accountId string, webPropertyId string, webproperty *Webproperty) *ManagementWebpropertiesUpdateCall {
c := &ManagementWebpropertiesUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.webproperty = webproperty
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 *ManagementWebpropertiesUpdateCall) Fields(s ...googleapi.Field) *ManagementWebpropertiesUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebpropertiesUpdateCall) Do() (*Webproperty, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.webproperty)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *Webproperty
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates an existing web property.",
// "httpMethod": "PUT",
// "id": "analytics.management.webproperties.update",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to which the web property belongs",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}",
// "request": {
// "$ref": "Webproperty"
// },
// "response": {
// "$ref": "Webproperty"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.edit"
// ]
// }
}
// method id "analytics.management.webpropertyUserLinks.delete":
type ManagementWebpropertyUserLinksDeleteCall struct {
s *Service
accountId string
webPropertyId string
linkId string
opt_ map[string]interface{}
}
// Delete: Removes a user from the given web property.
func (r *ManagementWebpropertyUserLinksService) Delete(accountId string, webPropertyId string, linkId string) *ManagementWebpropertyUserLinksDeleteCall {
c := &ManagementWebpropertyUserLinksDeleteCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.linkId = linkId
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 *ManagementWebpropertyUserLinksDeleteCall) Fields(s ...googleapi.Field) *ManagementWebpropertyUserLinksDeleteCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebpropertyUserLinksDeleteCall) Do() 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, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"linkId": c.linkId,
})
req.Header.Set("User-Agent", "google-api-go-client/0.5")
res, err := c.s.client.Do(req)
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Removes a user from the given web property.",
// "httpMethod": "DELETE",
// "id": "analytics.management.webpropertyUserLinks.delete",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "linkId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to delete the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "linkId": {
// "description": "Link ID to delete the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web Property ID to delete the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}",
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users"
// ]
// }
}
// method id "analytics.management.webpropertyUserLinks.insert":
type ManagementWebpropertyUserLinksInsertCall struct {
s *Service
accountId string
webPropertyId string
entityuserlink *EntityUserLink
opt_ map[string]interface{}
}
// Insert: Adds a new user to the given web property.
func (r *ManagementWebpropertyUserLinksService) Insert(accountId string, webPropertyId string, entityuserlink *EntityUserLink) *ManagementWebpropertyUserLinksInsertCall {
c := &ManagementWebpropertyUserLinksInsertCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.entityuserlink = entityuserlink
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 *ManagementWebpropertyUserLinksInsertCall) Fields(s ...googleapi.Field) *ManagementWebpropertyUserLinksInsertCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebpropertyUserLinksInsertCall) Do() (*EntityUserLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.entityuserlink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *EntityUserLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Adds a new user to the given web property.",
// "httpMethod": "POST",
// "id": "analytics.management.webpropertyUserLinks.insert",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to create the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web Property ID to create the user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks",
// "request": {
// "$ref": "EntityUserLink"
// },
// "response": {
// "$ref": "EntityUserLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users"
// ]
// }
}
// method id "analytics.management.webpropertyUserLinks.list":
type ManagementWebpropertyUserLinksListCall struct {
s *Service
accountId string
webPropertyId string
opt_ map[string]interface{}
}
// List: Lists webProperty-user links for a given web property.
func (r *ManagementWebpropertyUserLinksService) List(accountId string, webPropertyId string) *ManagementWebpropertyUserLinksListCall {
c := &ManagementWebpropertyUserLinksListCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
return c
}
// MaxResults sets the optional parameter "max-results": The maximum
// number of webProperty-user Links to include in this response.
func (c *ManagementWebpropertyUserLinksListCall) MaxResults(maxResults int64) *ManagementWebpropertyUserLinksListCall {
c.opt_["max-results"] = maxResults
return c
}
// StartIndex sets the optional parameter "start-index": An index of the
// first webProperty-user link to retrieve. Use this parameter as a
// pagination mechanism along with the max-results parameter.
func (c *ManagementWebpropertyUserLinksListCall) StartIndex(startIndex int64) *ManagementWebpropertyUserLinksListCall {
c.opt_["start-index"] = startIndex
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 *ManagementWebpropertyUserLinksListCall) Fields(s ...googleapi.Field) *ManagementWebpropertyUserLinksListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebpropertyUserLinksListCall) Do() (*EntityUserLinks, error) {
var body io.Reader = nil
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["max-results"]; ok {
params.Set("max-results", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["start-index"]; ok {
params.Set("start-index", fmt.Sprintf("%v", v))
}
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
})
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 *EntityUserLinks
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists webProperty-user links for a given web property.",
// "httpMethod": "GET",
// "id": "analytics.management.webpropertyUserLinks.list",
// "parameterOrder": [
// "accountId",
// "webPropertyId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID which the given web property belongs to.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "max-results": {
// "description": "The maximum number of webProperty-user Links to include in this response.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "start-index": {
// "description": "An index of the first webProperty-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
// "format": "int32",
// "location": "query",
// "minimum": "1",
// "type": "integer"
// },
// "webPropertyId": {
// "description": "Web Property ID for the webProperty-user links to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks",
// "response": {
// "$ref": "EntityUserLinks"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users",
// "https://www.googleapis.com/auth/analytics.manage.users.readonly"
// ]
// }
}
// method id "analytics.management.webpropertyUserLinks.update":
type ManagementWebpropertyUserLinksUpdateCall struct {
s *Service
accountId string
webPropertyId string
linkId string
entityuserlink *EntityUserLink
opt_ map[string]interface{}
}
// Update: Updates permissions for an existing user on the given web
// property.
func (r *ManagementWebpropertyUserLinksService) Update(accountId string, webPropertyId string, linkId string, entityuserlink *EntityUserLink) *ManagementWebpropertyUserLinksUpdateCall {
c := &ManagementWebpropertyUserLinksUpdateCall{s: r.s, opt_: make(map[string]interface{})}
c.accountId = accountId
c.webPropertyId = webPropertyId
c.linkId = linkId
c.entityuserlink = entityuserlink
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 *ManagementWebpropertyUserLinksUpdateCall) Fields(s ...googleapi.Field) *ManagementWebpropertyUserLinksUpdateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ManagementWebpropertyUserLinksUpdateCall) Do() (*EntityUserLink, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.entityuserlink)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}")
urls += "?" + params.Encode()
req, _ := http.NewRequest("PUT", urls, body)
googleapi.Expand(req.URL, map[string]string{
"accountId": c.accountId,
"webPropertyId": c.webPropertyId,
"linkId": c.linkId,
})
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 *EntityUserLink
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Updates permissions for an existing user on the given web property.",
// "httpMethod": "PUT",
// "id": "analytics.management.webpropertyUserLinks.update",
// "parameterOrder": [
// "accountId",
// "webPropertyId",
// "linkId"
// ],
// "parameters": {
// "accountId": {
// "description": "Account ID to update the account-user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "linkId": {
// "description": "Link ID to update the account-user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "webPropertyId": {
// "description": "Web property ID to update the account-user link for.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}",
// "request": {
// "$ref": "EntityUserLink"
// },
// "response": {
// "$ref": "EntityUserLink"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.manage.users"
// ]
// }
}
// method id "analytics.metadata.columns.list":
type MetadataColumnsListCall struct {
s *Service
reportType string
opt_ map[string]interface{}
}
// List: Lists all columns for a report type
func (r *MetadataColumnsService) List(reportType string) *MetadataColumnsListCall {
c := &MetadataColumnsListCall{s: r.s, opt_: make(map[string]interface{})}
c.reportType = reportType
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 *MetadataColumnsListCall) Fields(s ...googleapi.Field) *MetadataColumnsListCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *MetadataColumnsListCall) Do() (*Columns, 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, "metadata/{reportType}/columns")
urls += "?" + params.Encode()
req, _ := http.NewRequest("GET", urls, body)
googleapi.Expand(req.URL, map[string]string{
"reportType": c.reportType,
})
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 *Columns
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists all columns for a report type",
// "httpMethod": "GET",
// "id": "analytics.metadata.columns.list",
// "parameterOrder": [
// "reportType"
// ],
// "parameters": {
// "reportType": {
// "description": "Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core Reporting API",
// "location": "path",
// "pattern": "ga",
// "required": true,
// "type": "string"
// }
// },
// "path": "metadata/{reportType}/columns",
// "response": {
// "$ref": "Columns"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics",
// "https://www.googleapis.com/auth/analytics.edit",
// "https://www.googleapis.com/auth/analytics.readonly"
// ]
// }
}
// method id "analytics.provisioning.createAccountTicket":
type ProvisioningCreateAccountTicketCall struct {
s *Service
accountticket *AccountTicket
opt_ map[string]interface{}
}
// CreateAccountTicket: Creates an account ticket.
func (r *ProvisioningService) CreateAccountTicket(accountticket *AccountTicket) *ProvisioningCreateAccountTicketCall {
c := &ProvisioningCreateAccountTicketCall{s: r.s, opt_: make(map[string]interface{})}
c.accountticket = accountticket
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 *ProvisioningCreateAccountTicketCall) Fields(s ...googleapi.Field) *ProvisioningCreateAccountTicketCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ProvisioningCreateAccountTicketCall) Do() (*AccountTicket, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountticket)
if err != nil {
return nil, err
}
ctype := "application/json"
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, "provisioning/createAccountTicket")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.SetOpaque(req.URL)
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 *AccountTicket
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Creates an account ticket.",
// "httpMethod": "POST",
// "id": "analytics.provisioning.createAccountTicket",
// "path": "provisioning/createAccountTicket",
// "request": {
// "$ref": "AccountTicket"
// },
// "response": {
// "$ref": "AccountTicket"
// },
// "scopes": [
// "https://www.googleapis.com/auth/analytics.provision"
// ]
// }
}