| // Package audit provides access to the Enterprise Audit API. |
| // |
| // See https://developers.google.com/google-apps/admin-audit/get_started |
| // |
| // Usage example: |
| // |
| // import "google.golang.org/api/audit/v1" |
| // ... |
| // auditService, err := audit.New(oauthHttpClient) |
| package audit |
| |
| 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 = "audit:v1" |
| const apiName = "audit" |
| const apiVersion = "v1" |
| const basePath = "https://www.googleapis.com/apps/reporting/audit/v1/" |
| |
| func New(client *http.Client) (*Service, error) { |
| if client == nil { |
| return nil, errors.New("client is nil") |
| } |
| s := &Service{client: client, BasePath: basePath} |
| s.Activities = NewActivitiesService(s) |
| return s, nil |
| } |
| |
| type Service struct { |
| client *http.Client |
| BasePath string // API endpoint base URL |
| UserAgent string // optional additional User-Agent fragment |
| |
| Activities *ActivitiesService |
| } |
| |
| func (s *Service) userAgent() string { |
| if s.UserAgent == "" { |
| return googleapi.UserAgent |
| } |
| return googleapi.UserAgent + " " + s.UserAgent |
| } |
| |
| func NewActivitiesService(s *Service) *ActivitiesService { |
| rs := &ActivitiesService{s: s} |
| return rs |
| } |
| |
| type ActivitiesService struct { |
| s *Service |
| } |
| |
| type Activities struct { |
| // Items: Each record in read response. |
| Items []*Activity `json:"items,omitempty"` |
| |
| // Kind: Kind of list response this is. |
| Kind string `json:"kind,omitempty"` |
| |
| // Next: Next page URL. |
| Next string `json:"next,omitempty"` |
| } |
| |
| type Activity struct { |
| // Actor: User doing the action. |
| Actor *ActivityActor `json:"actor,omitempty"` |
| |
| // Events: Activity events. |
| Events []*ActivityEvents `json:"events,omitempty"` |
| |
| // Id: Unique identifier for each activity record. |
| Id *ActivityId `json:"id,omitempty"` |
| |
| // IpAddress: IP Address of the user doing the action. |
| IpAddress string `json:"ipAddress,omitempty"` |
| |
| // Kind: Kind of resource this is. |
| Kind string `json:"kind,omitempty"` |
| |
| // OwnerDomain: Domain of source customer. |
| OwnerDomain string `json:"ownerDomain,omitempty"` |
| } |
| |
| type ActivityActor struct { |
| // ApplicationId: ID of application which interacted on behalf of the |
| // user. |
| ApplicationId int64 `json:"applicationId,omitempty,string"` |
| |
| // CallerType: User or OAuth 2LO request. |
| CallerType string `json:"callerType,omitempty"` |
| |
| // Email: Email address of the user. |
| Email string `json:"email,omitempty"` |
| |
| // Key: For OAuth 2LO API requests, consumer_key of the requestor. |
| Key string `json:"key,omitempty"` |
| } |
| |
| type ActivityEvents struct { |
| // EventType: Type of event. |
| EventType string `json:"eventType,omitempty"` |
| |
| // Name: Name of event. |
| Name string `json:"name,omitempty"` |
| |
| // Parameters: Event parameters. |
| Parameters []*ActivityEventsParameters `json:"parameters,omitempty"` |
| } |
| |
| type ActivityEventsParameters struct { |
| // Name: Name of the parameter. |
| Name string `json:"name,omitempty"` |
| |
| // Value: Value of the parameter. |
| Value string `json:"value,omitempty"` |
| } |
| |
| type ActivityId struct { |
| // ApplicationId: Application ID of the source application. |
| ApplicationId int64 `json:"applicationId,omitempty,string"` |
| |
| // CustomerId: Obfuscated customer ID of the source customer. |
| CustomerId string `json:"customerId,omitempty"` |
| |
| // Time: Time of occurrence of the activity. |
| Time string `json:"time,omitempty"` |
| |
| // UniqQualifier: Unique qualifier if multiple events have the same |
| // time. |
| UniqQualifier int64 `json:"uniqQualifier,omitempty,string"` |
| } |
| |
| // method id "audit.activities.list": |
| |
| type ActivitiesListCall struct { |
| s *Service |
| customerId string |
| applicationId int64 |
| opt_ map[string]interface{} |
| } |
| |
| // List: Retrieves a list of activities for a specific customer and |
| // application. |
| func (r *ActivitiesService) List(customerId string, applicationId int64) *ActivitiesListCall { |
| c := &ActivitiesListCall{s: r.s, opt_: make(map[string]interface{})} |
| c.customerId = customerId |
| c.applicationId = applicationId |
| return c |
| } |
| |
| // ActorApplicationId sets the optional parameter "actorApplicationId": |
| // Application ID of the application which interacted on behalf of the |
| // user while performing the event. |
| func (c *ActivitiesListCall) ActorApplicationId(actorApplicationId int64) *ActivitiesListCall { |
| c.opt_["actorApplicationId"] = actorApplicationId |
| return c |
| } |
| |
| // ActorEmail sets the optional parameter "actorEmail": Email address of |
| // the user who performed the action. |
| func (c *ActivitiesListCall) ActorEmail(actorEmail string) *ActivitiesListCall { |
| c.opt_["actorEmail"] = actorEmail |
| return c |
| } |
| |
| // ActorIpAddress sets the optional parameter "actorIpAddress": IP |
| // Address of host where the event was performed. Supports both IPv4 and |
| // IPv6 addresses. |
| func (c *ActivitiesListCall) ActorIpAddress(actorIpAddress string) *ActivitiesListCall { |
| c.opt_["actorIpAddress"] = actorIpAddress |
| return c |
| } |
| |
| // Caller sets the optional parameter "caller": Type of the caller. |
| func (c *ActivitiesListCall) Caller(caller string) *ActivitiesListCall { |
| c.opt_["caller"] = caller |
| return c |
| } |
| |
| // ContinuationToken sets the optional parameter "continuationToken": |
| // Next page URL. |
| func (c *ActivitiesListCall) ContinuationToken(continuationToken string) *ActivitiesListCall { |
| c.opt_["continuationToken"] = continuationToken |
| return c |
| } |
| |
| // EndTime sets the optional parameter "endTime": Return events which |
| // occured at or before this time. |
| func (c *ActivitiesListCall) EndTime(endTime string) *ActivitiesListCall { |
| c.opt_["endTime"] = endTime |
| return c |
| } |
| |
| // EventName sets the optional parameter "eventName": Name of the event |
| // being queried. |
| func (c *ActivitiesListCall) EventName(eventName string) *ActivitiesListCall { |
| c.opt_["eventName"] = eventName |
| return c |
| } |
| |
| // MaxResults sets the optional parameter "maxResults": Number of |
| // activity records to be shown in each page. |
| func (c *ActivitiesListCall) MaxResults(maxResults int64) *ActivitiesListCall { |
| c.opt_["maxResults"] = maxResults |
| return c |
| } |
| |
| // StartTime sets the optional parameter "startTime": Return events |
| // which occured at or after this time. |
| func (c *ActivitiesListCall) StartTime(startTime string) *ActivitiesListCall { |
| c.opt_["startTime"] = startTime |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. |
| // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *ActivitiesListCall) Fields(s ...googleapi.Field) *ActivitiesListCall { |
| c.opt_["fields"] = googleapi.CombineFields(s) |
| return c |
| } |
| |
| func (c *ActivitiesListCall) Do() (*Activities, error) { |
| var body io.Reader = nil |
| params := make(url.Values) |
| params.Set("alt", "json") |
| if v, ok := c.opt_["actorApplicationId"]; ok { |
| params.Set("actorApplicationId", fmt.Sprintf("%v", v)) |
| } |
| if v, ok := c.opt_["actorEmail"]; ok { |
| params.Set("actorEmail", fmt.Sprintf("%v", v)) |
| } |
| if v, ok := c.opt_["actorIpAddress"]; ok { |
| params.Set("actorIpAddress", fmt.Sprintf("%v", v)) |
| } |
| if v, ok := c.opt_["caller"]; ok { |
| params.Set("caller", fmt.Sprintf("%v", v)) |
| } |
| if v, ok := c.opt_["continuationToken"]; ok { |
| params.Set("continuationToken", fmt.Sprintf("%v", v)) |
| } |
| if v, ok := c.opt_["endTime"]; ok { |
| params.Set("endTime", fmt.Sprintf("%v", v)) |
| } |
| if v, ok := c.opt_["eventName"]; ok { |
| params.Set("eventName", fmt.Sprintf("%v", v)) |
| } |
| if v, ok := c.opt_["maxResults"]; ok { |
| params.Set("maxResults", fmt.Sprintf("%v", v)) |
| } |
| if v, ok := c.opt_["startTime"]; ok { |
| params.Set("startTime", fmt.Sprintf("%v", v)) |
| } |
| if v, ok := c.opt_["fields"]; ok { |
| params.Set("fields", fmt.Sprintf("%v", v)) |
| } |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{customerId}/{applicationId}") |
| urls += "?" + params.Encode() |
| req, _ := http.NewRequest("GET", urls, body) |
| googleapi.Expand(req.URL, map[string]string{ |
| "customerId": c.customerId, |
| "applicationId": strconv.FormatInt(c.applicationId, 10), |
| }) |
| req.Header.Set("User-Agent", c.s.userAgent()) |
| 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 *Activities |
| if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Retrieves a list of activities for a specific customer and application.", |
| // "httpMethod": "GET", |
| // "id": "audit.activities.list", |
| // "parameterOrder": [ |
| // "customerId", |
| // "applicationId" |
| // ], |
| // "parameters": { |
| // "actorApplicationId": { |
| // "description": "Application ID of the application which interacted on behalf of the user while performing the event.", |
| // "format": "int64", |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "actorEmail": { |
| // "description": "Email address of the user who performed the action.", |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "actorIpAddress": { |
| // "description": "IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.", |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "applicationId": { |
| // "description": "Application ID of the application on which the event was performed.", |
| // "format": "int64", |
| // "location": "path", |
| // "required": true, |
| // "type": "string" |
| // }, |
| // "caller": { |
| // "description": "Type of the caller.", |
| // "enum": [ |
| // "application_owner", |
| // "customer" |
| // ], |
| // "enumDescriptions": [ |
| // "Caller is an application owner.", |
| // "Caller is a customer." |
| // ], |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "continuationToken": { |
| // "description": "Next page URL.", |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "customerId": { |
| // "description": "Represents the customer who is the owner of target object on which action was performed.", |
| // "location": "path", |
| // "pattern": "C.+", |
| // "required": true, |
| // "type": "string" |
| // }, |
| // "endTime": { |
| // "description": "Return events which occured at or before this time.", |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "eventName": { |
| // "description": "Name of the event being queried.", |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "maxResults": { |
| // "description": "Number of activity records to be shown in each page.", |
| // "format": "int32", |
| // "location": "query", |
| // "maximum": "1000", |
| // "minimum": "1", |
| // "type": "integer" |
| // }, |
| // "startTime": { |
| // "description": "Return events which occured at or after this time.", |
| // "location": "query", |
| // "type": "string" |
| // } |
| // }, |
| // "path": "{customerId}/{applicationId}", |
| // "response": { |
| // "$ref": "Activities" |
| // } |
| // } |
| |
| } |