1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service\Reports\Resource;
19
20use Google\Service\Reports\UsageReports;
21
22/**
23 * The "userUsageReport" collection of methods.
24 * Typical usage is:
25 *  <code>
26 *   $adminService = new Google\Service\Reports(...);
27 *   $userUsageReport = $adminService->userUsageReport;
28 *  </code>
29 */
30class UserUsageReport extends \Google\Service\Resource
31{
32  /**
33   * Retrieves a report which is a collection of properties and statistics for a
34   * set of users with the account. For more information, see the User Usage
35   * Report guide. For more information about the user report's parameters, see
36   * the Users Usage parameters reference guides. (userUsageReport.get)
37   *
38   * @param string $userKey Represents the profile ID or the user email for which
39   * the data should be filtered. Can be `all` for all information, or `userKey`
40   * for a user's unique Google Workspace profile ID or their primary email
41   * address. Must not be a deleted user. For a deleted user, call `users.list` in
42   * Directory API with `showDeleted=true`, then use the returned `ID` as the
43   * `userKey`.
44   * @param string $date Represents the date the usage occurred. The timestamp is
45   * in the ISO 8601 format, yyyy-mm-dd. We recommend you use your account's time
46   * zone for this.
47   * @param array $optParams Optional parameters.
48   *
49   * @opt_param string customerId The unique ID of the customer to retrieve data
50   * for.
51   * @opt_param string filters The `filters` query string is a comma-separated
52   * list of an application's event parameters where the parameter's value is
53   * manipulated by a relational operator. The `filters` query string includes the
54   * name of the application whose usage is returned in the report. The
55   * application values for the Users Usage Report include `accounts`, `docs`, and
56   * `gmail`. Filters are in the form `[application name]:parameter name[parameter
57   * value],...`. In this example, the `<>` 'not equal to' operator is URL-encoded
58   * in the request's query string (%3C%3E): GET
59   * https://www.googleapis.com/admin/reports/v1/usage/users/all/dates/2013-03-03
60   * ?parameters=accounts:last_login_time
61   * =accounts:last_login_time%3C%3E2010-10-28T10:26:35.000Z The relational
62   * operators include: - `==` - 'equal to'. - `<>` - 'not equal to'. It is URL-
63   * encoded (%3C%3E). - `<` - 'less than'. It is URL-encoded (%3C). - `<=` -
64   * 'less than or equal to'. It is URL-encoded (%3C=). - `>` - 'greater than'. It
65   * is URL-encoded (%3E). - `>=` - 'greater than or equal to'. It is URL-encoded
66   * (%3E=).
67   * @opt_param string groupIdFilter Comma separated group ids (obfuscated) on
68   * which user activities are filtered, i.e. the response will contain activities
69   * for only those users that are a part of at least one of the group ids
70   * mentioned here. Format: "id:abc123,id:xyz456"
71   * @opt_param string maxResults Determines how many activity records are shown
72   * on each response page. For example, if the request sets `maxResults=1` and
73   * the report has two activities, the report has two pages. The response's
74   * `nextPageToken` property has the token to the second page. The `maxResults`
75   * query string is optional.
76   * @opt_param string orgUnitID ID of the organizational unit to report on. User
77   * activity will be shown only for users who belong to the specified
78   * organizational unit. Data before Dec 17, 2018 doesn't appear in the filtered
79   * results.
80   * @opt_param string pageToken Token to specify next page. A report with
81   * multiple pages has a `nextPageToken` property in the response. In your
82   * follow-on request getting the next page of the report, enter the
83   * `nextPageToken` value in the `pageToken` query string.
84   * @opt_param string parameters The `parameters` query string is a comma-
85   * separated list of event parameters that refine a report's results. The
86   * parameter is associated with a specific application. The application values
87   * for the Customers Usage report include `accounts`, `app_maker`,
88   * `apps_scripts`, `calendar`, `classroom`, `cros`, `docs`, `gmail`, `gplus`,
89   * `device_management`, `meet`, and `sites`. A `parameters` query string is in
90   * the CSV form of `app_name1:param_name1, app_name2:param_name2`. *Note:* The
91   * API doesn't accept multiple values of a parameter. If a particular parameter
92   * is supplied more than once in the API request, the API only accepts the last
93   * value of that request parameter. In addition, if an invalid request parameter
94   * is supplied in the API request, the API ignores that request parameter and
95   * returns the response corresponding to the remaining valid request parameters.
96   * An example of an invalid request parameter is one that does not belong to the
97   * application. If no parameters are requested, all parameters are returned.
98   * @return UsageReports
99   */
100  public function get($userKey, $date, $optParams = [])
101  {
102    $params = ['userKey' => $userKey, 'date' => $date];
103    $params = array_merge($params, $optParams);
104    return $this->call('get', [$params], UsageReports::class);
105  }
106}
107
108// Adding a class alias for backwards compatibility with the previous class name.
109class_alias(UserUsageReport::class, 'Google_Service_Reports_Resource_UserUsageReport');
110