Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.3.x will end 7 October 2024 (12 months).
  • Bug fixes for security issues in 4.3.x will end 21 April 2025 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.2.x is supported too.

Differences Between: [Versions 310 and 403] [Versions 311 and 403] [Versions 39 and 403] [Versions 400 and 403] [Versions 401 and 403]

   1  <?php
   2  /*
   3   * Copyright 2010 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  
  18  /**
  19   * Service definition for YouTubeAnalytics (v1).
  20   *
  21   * <p>
  22   * Retrieve your YouTube Analytics reports.</p>
  23   *
  24   * <p>
  25   * For more information about this service, see the API
  26   * <a href="http://developers.google.com/youtube/analytics/" target="_blank">Documentation</a>
  27   * </p>
  28   *
  29   * @author Google, Inc.
  30   */
  31  #[AllowDynamicProperties]
  32  class Google_Service_YouTubeAnalytics extends Google_Service
  33  {
  34    /** Manage your YouTube account. */
  35    const YOUTUBE =
  36        "https://www.googleapis.com/auth/youtube";
  37    /** View your YouTube account. */
  38    const YOUTUBE_READONLY =
  39        "https://www.googleapis.com/auth/youtube.readonly";
  40    /** View and manage your assets and associated content on YouTube. */
  41    const YOUTUBEPARTNER =
  42        "https://www.googleapis.com/auth/youtubepartner";
  43    /** View monetary and non-monetary YouTube Analytics reports for your YouTube content. */
  44    const YT_ANALYTICS_MONETARY_READONLY =
  45        "https://www.googleapis.com/auth/yt-analytics-monetary.readonly";
  46    /** View YouTube Analytics reports for your YouTube content. */
  47    const YT_ANALYTICS_READONLY =
  48        "https://www.googleapis.com/auth/yt-analytics.readonly";
  49  
  50    public $batchReportDefinitions;
  51    public $batchReports;
  52    public $groupItems;
  53    public $groups;
  54    public $reports;
  55    
  56  
  57    /**
  58     * Constructs the internal representation of the YouTubeAnalytics service.
  59     *
  60     * @param Google_Client $client
  61     */
  62    public function __construct(Google_Client $client)
  63    {
  64      parent::__construct($client);
  65      $this->rootUrl = 'https://www.googleapis.com/';
  66      $this->servicePath = 'youtube/analytics/v1/';
  67      $this->version = 'v1';
  68      $this->serviceName = 'youtubeAnalytics';
  69  
  70      $this->batchReportDefinitions = new Google_Service_YouTubeAnalytics_BatchReportDefinitions_Resource(
  71          $this,
  72          $this->serviceName,
  73          'batchReportDefinitions',
  74          array(
  75            'methods' => array(
  76              'list' => array(
  77                'path' => 'batchReportDefinitions',
  78                'httpMethod' => 'GET',
  79                'parameters' => array(
  80                  'onBehalfOfContentOwner' => array(
  81                    'location' => 'query',
  82                    'type' => 'string',
  83                    'required' => true,
  84                  ),
  85                ),
  86              ),
  87            )
  88          )
  89      );
  90      $this->batchReports = new Google_Service_YouTubeAnalytics_BatchReports_Resource(
  91          $this,
  92          $this->serviceName,
  93          'batchReports',
  94          array(
  95            'methods' => array(
  96              'list' => array(
  97                'path' => 'batchReports',
  98                'httpMethod' => 'GET',
  99                'parameters' => array(
 100                  'batchReportDefinitionId' => array(
 101                    'location' => 'query',
 102                    'type' => 'string',
 103                    'required' => true,
 104                  ),
 105                  'onBehalfOfContentOwner' => array(
 106                    'location' => 'query',
 107                    'type' => 'string',
 108                    'required' => true,
 109                  ),
 110                ),
 111              ),
 112            )
 113          )
 114      );
 115      $this->groupItems = new Google_Service_YouTubeAnalytics_GroupItems_Resource(
 116          $this,
 117          $this->serviceName,
 118          'groupItems',
 119          array(
 120            'methods' => array(
 121              'delete' => array(
 122                'path' => 'groupItems',
 123                'httpMethod' => 'DELETE',
 124                'parameters' => array(
 125                  'id' => array(
 126                    'location' => 'query',
 127                    'type' => 'string',
 128                    'required' => true,
 129                  ),
 130                  'onBehalfOfContentOwner' => array(
 131                    'location' => 'query',
 132                    'type' => 'string',
 133                  ),
 134                ),
 135              ),'insert' => array(
 136                'path' => 'groupItems',
 137                'httpMethod' => 'POST',
 138                'parameters' => array(
 139                  'onBehalfOfContentOwner' => array(
 140                    'location' => 'query',
 141                    'type' => 'string',
 142                  ),
 143                ),
 144              ),'list' => array(
 145                'path' => 'groupItems',
 146                'httpMethod' => 'GET',
 147                'parameters' => array(
 148                  'groupId' => array(
 149                    'location' => 'query',
 150                    'type' => 'string',
 151                    'required' => true,
 152                  ),
 153                  'onBehalfOfContentOwner' => array(
 154                    'location' => 'query',
 155                    'type' => 'string',
 156                  ),
 157                ),
 158              ),
 159            )
 160          )
 161      );
 162      $this->groups = new Google_Service_YouTubeAnalytics_Groups_Resource(
 163          $this,
 164          $this->serviceName,
 165          'groups',
 166          array(
 167            'methods' => array(
 168              'delete' => array(
 169                'path' => 'groups',
 170                'httpMethod' => 'DELETE',
 171                'parameters' => array(
 172                  'id' => array(
 173                    'location' => 'query',
 174                    'type' => 'string',
 175                    'required' => true,
 176                  ),
 177                  'onBehalfOfContentOwner' => array(
 178                    'location' => 'query',
 179                    'type' => 'string',
 180                  ),
 181                ),
 182              ),'insert' => array(
 183                'path' => 'groups',
 184                'httpMethod' => 'POST',
 185                'parameters' => array(
 186                  'onBehalfOfContentOwner' => array(
 187                    'location' => 'query',
 188                    'type' => 'string',
 189                  ),
 190                ),
 191              ),'list' => array(
 192                'path' => 'groups',
 193                'httpMethod' => 'GET',
 194                'parameters' => array(
 195                  'onBehalfOfContentOwner' => array(
 196                    'location' => 'query',
 197                    'type' => 'string',
 198                  ),
 199                  'id' => array(
 200                    'location' => 'query',
 201                    'type' => 'string',
 202                  ),
 203                  'mine' => array(
 204                    'location' => 'query',
 205                    'type' => 'boolean',
 206                  ),
 207                ),
 208              ),'update' => array(
 209                'path' => 'groups',
 210                'httpMethod' => 'PUT',
 211                'parameters' => array(
 212                  'onBehalfOfContentOwner' => array(
 213                    'location' => 'query',
 214                    'type' => 'string',
 215                  ),
 216                ),
 217              ),
 218            )
 219          )
 220      );
 221      $this->reports = new Google_Service_YouTubeAnalytics_Reports_Resource(
 222          $this,
 223          $this->serviceName,
 224          'reports',
 225          array(
 226            'methods' => array(
 227              'query' => array(
 228                'path' => 'reports',
 229                'httpMethod' => 'GET',
 230                'parameters' => array(
 231                  'ids' => array(
 232                    'location' => 'query',
 233                    'type' => 'string',
 234                    'required' => true,
 235                  ),
 236                  'start-date' => array(
 237                    'location' => 'query',
 238                    'type' => 'string',
 239                    'required' => true,
 240                  ),
 241                  'end-date' => array(
 242                    'location' => 'query',
 243                    'type' => 'string',
 244                    'required' => true,
 245                  ),
 246                  'metrics' => array(
 247                    'location' => 'query',
 248                    'type' => 'string',
 249                    'required' => true,
 250                  ),
 251                  'max-results' => array(
 252                    'location' => 'query',
 253                    'type' => 'integer',
 254                  ),
 255                  'sort' => array(
 256                    'location' => 'query',
 257                    'type' => 'string',
 258                  ),
 259                  'dimensions' => array(
 260                    'location' => 'query',
 261                    'type' => 'string',
 262                  ),
 263                  'start-index' => array(
 264                    'location' => 'query',
 265                    'type' => 'integer',
 266                  ),
 267                  'currency' => array(
 268                    'location' => 'query',
 269                    'type' => 'string',
 270                  ),
 271                  'filters' => array(
 272                    'location' => 'query',
 273                    'type' => 'string',
 274                  ),
 275                ),
 276              ),
 277            )
 278          )
 279      );
 280    }
 281  }
 282  
 283  
 284  /**
 285   * The "batchReportDefinitions" collection of methods.
 286   * Typical usage is:
 287   *  <code>
 288   *   $youtubeAnalyticsService = new Google_Service_YouTubeAnalytics(...);
 289   *   $batchReportDefinitions = $youtubeAnalyticsService->batchReportDefinitions;
 290   *  </code>
 291   */
 292  #[AllowDynamicProperties]
 293  class Google_Service_YouTubeAnalytics_BatchReportDefinitions_Resource extends Google_Service_Resource
 294  {
 295  
 296    /**
 297     * Retrieves a list of available batch report definitions.
 298     * (batchReportDefinitions.listBatchReportDefinitions)
 299     *
 300     * @param string $onBehalfOfContentOwner The onBehalfOfContentOwner parameter
 301     * identifies the content owner that the user is acting on behalf of.
 302     * @param array $optParams Optional parameters.
 303     * @return Google_Service_YouTubeAnalytics_BatchReportDefinitionList
 304     */
 305    public function listBatchReportDefinitions($onBehalfOfContentOwner, $optParams = array())
 306    {
 307      $params = array('onBehalfOfContentOwner' => $onBehalfOfContentOwner);
 308      $params = array_merge($params, $optParams);
 309      return $this->call('list', array($params), "Google_Service_YouTubeAnalytics_BatchReportDefinitionList");
 310    }
 311  }
 312  
 313  /**
 314   * The "batchReports" collection of methods.
 315   * Typical usage is:
 316   *  <code>
 317   *   $youtubeAnalyticsService = new Google_Service_YouTubeAnalytics(...);
 318   *   $batchReports = $youtubeAnalyticsService->batchReports;
 319   *  </code>
 320   */
 321  #[AllowDynamicProperties]
 322  class Google_Service_YouTubeAnalytics_BatchReports_Resource extends Google_Service_Resource
 323  {
 324  
 325    /**
 326     * Retrieves a list of processed batch reports. (batchReports.listBatchReports)
 327     *
 328     * @param string $batchReportDefinitionId The batchReportDefinitionId parameter
 329     * specifies the ID of the batch reportort definition for which you are
 330     * retrieving reports.
 331     * @param string $onBehalfOfContentOwner The onBehalfOfContentOwner parameter
 332     * identifies the content owner that the user is acting on behalf of.
 333     * @param array $optParams Optional parameters.
 334     * @return Google_Service_YouTubeAnalytics_BatchReportList
 335     */
 336    public function listBatchReports($batchReportDefinitionId, $onBehalfOfContentOwner, $optParams = array())
 337    {
 338      $params = array('batchReportDefinitionId' => $batchReportDefinitionId, 'onBehalfOfContentOwner' => $onBehalfOfContentOwner);
 339      $params = array_merge($params, $optParams);
 340      return $this->call('list', array($params), "Google_Service_YouTubeAnalytics_BatchReportList");
 341    }
 342  }
 343  
 344  /**
 345   * The "groupItems" collection of methods.
 346   * Typical usage is:
 347   *  <code>
 348   *   $youtubeAnalyticsService = new Google_Service_YouTubeAnalytics(...);
 349   *   $groupItems = $youtubeAnalyticsService->groupItems;
 350   *  </code>
 351   */
 352  #[AllowDynamicProperties]
 353  class Google_Service_YouTubeAnalytics_GroupItems_Resource extends Google_Service_Resource
 354  {
 355  
 356    /**
 357     * Removes an item from a group. (groupItems.delete)
 358     *
 359     * @param string $id The id parameter specifies the YouTube group item ID for
 360     * the group that is being deleted.
 361     * @param array $optParams Optional parameters.
 362     *
 363     * @opt_param string onBehalfOfContentOwner Note: This parameter is intended
 364     * exclusively for YouTube content partners.
 365     *
 366     * The onBehalfOfContentOwner parameter indicates that the request's
 367     * authorization credentials identify a YouTube CMS user who is acting on behalf
 368     * of the content owner specified in the parameter value. This parameter is
 369     * intended for YouTube content partners that own and manage many different
 370     * YouTube channels. It allows content owners to authenticate once and get
 371     * access to all their video and channel data, without having to provide
 372     * authentication credentials for each individual channel. The CMS account that
 373     * the user authenticates with must be linked to the specified YouTube content
 374     * owner.
 375     */
 376    public function delete($id, $optParams = array())
 377    {
 378      $params = array('id' => $id);
 379      $params = array_merge($params, $optParams);
 380      return $this->call('delete', array($params));
 381    }
 382  
 383    /**
 384     * Creates a group item. (groupItems.insert)
 385     *
 386     * @param Google_GroupItem $postBody
 387     * @param array $optParams Optional parameters.
 388     *
 389     * @opt_param string onBehalfOfContentOwner Note: This parameter is intended
 390     * exclusively for YouTube content partners.
 391     *
 392     * The onBehalfOfContentOwner parameter indicates that the request's
 393     * authorization credentials identify a YouTube CMS user who is acting on behalf
 394     * of the content owner specified in the parameter value. This parameter is
 395     * intended for YouTube content partners that own and manage many different
 396     * YouTube channels. It allows content owners to authenticate once and get
 397     * access to all their video and channel data, without having to provide
 398     * authentication credentials for each individual channel. The CMS account that
 399     * the user authenticates with must be linked to the specified YouTube content
 400     * owner.
 401     * @return Google_Service_YouTubeAnalytics_GroupItem
 402     */
 403    public function insert(Google_Service_YouTubeAnalytics_GroupItem $postBody, $optParams = array())
 404    {
 405      $params = array('postBody' => $postBody);
 406      $params = array_merge($params, $optParams);
 407      return $this->call('insert', array($params), "Google_Service_YouTubeAnalytics_GroupItem");
 408    }
 409  
 410    /**
 411     * Returns a collection of group items that match the API request parameters.
 412     * (groupItems.listGroupItems)
 413     *
 414     * @param string $groupId The id parameter specifies the unique ID of the group
 415     * for which you want to retrieve group items.
 416     * @param array $optParams Optional parameters.
 417     *
 418     * @opt_param string onBehalfOfContentOwner Note: This parameter is intended
 419     * exclusively for YouTube content partners.
 420     *
 421     * The onBehalfOfContentOwner parameter indicates that the request's
 422     * authorization credentials identify a YouTube CMS user who is acting on behalf
 423     * of the content owner specified in the parameter value. This parameter is
 424     * intended for YouTube content partners that own and manage many different
 425     * YouTube channels. It allows content owners to authenticate once and get
 426     * access to all their video and channel data, without having to provide
 427     * authentication credentials for each individual channel. The CMS account that
 428     * the user authenticates with must be linked to the specified YouTube content
 429     * owner.
 430     * @return Google_Service_YouTubeAnalytics_GroupItemListResponse
 431     */
 432    public function listGroupItems($groupId, $optParams = array())
 433    {
 434      $params = array('groupId' => $groupId);
 435      $params = array_merge($params, $optParams);
 436      return $this->call('list', array($params), "Google_Service_YouTubeAnalytics_GroupItemListResponse");
 437    }
 438  }
 439  
 440  /**
 441   * The "groups" collection of methods.
 442   * Typical usage is:
 443   *  <code>
 444   *   $youtubeAnalyticsService = new Google_Service_YouTubeAnalytics(...);
 445   *   $groups = $youtubeAnalyticsService->groups;
 446   *  </code>
 447   */
 448  #[AllowDynamicProperties]
 449  class Google_Service_YouTubeAnalytics_Groups_Resource extends Google_Service_Resource
 450  {
 451  
 452    /**
 453     * Deletes a group. (groups.delete)
 454     *
 455     * @param string $id The id parameter specifies the YouTube group ID for the
 456     * group that is being deleted.
 457     * @param array $optParams Optional parameters.
 458     *
 459     * @opt_param string onBehalfOfContentOwner Note: This parameter is intended
 460     * exclusively for YouTube content partners.
 461     *
 462     * The onBehalfOfContentOwner parameter indicates that the request's
 463     * authorization credentials identify a YouTube CMS user who is acting on behalf
 464     * of the content owner specified in the parameter value. This parameter is
 465     * intended for YouTube content partners that own and manage many different
 466     * YouTube channels. It allows content owners to authenticate once and get
 467     * access to all their video and channel data, without having to provide
 468     * authentication credentials for each individual channel. The CMS account that
 469     * the user authenticates with must be linked to the specified YouTube content
 470     * owner.
 471     */
 472    public function delete($id, $optParams = array())
 473    {
 474      $params = array('id' => $id);
 475      $params = array_merge($params, $optParams);
 476      return $this->call('delete', array($params));
 477    }
 478  
 479    /**
 480     * Creates a group. (groups.insert)
 481     *
 482     * @param Google_Group $postBody
 483     * @param array $optParams Optional parameters.
 484     *
 485     * @opt_param string onBehalfOfContentOwner Note: This parameter is intended
 486     * exclusively for YouTube content partners.
 487     *
 488     * The onBehalfOfContentOwner parameter indicates that the request's
 489     * authorization credentials identify a YouTube CMS user who is acting on behalf
 490     * of the content owner specified in the parameter value. This parameter is
 491     * intended for YouTube content partners that own and manage many different
 492     * YouTube channels. It allows content owners to authenticate once and get
 493     * access to all their video and channel data, without having to provide
 494     * authentication credentials for each individual channel. The CMS account that
 495     * the user authenticates with must be linked to the specified YouTube content
 496     * owner.
 497     * @return Google_Service_YouTubeAnalytics_Group
 498     */
 499    public function insert(Google_Service_YouTubeAnalytics_Group $postBody, $optParams = array())
 500    {
 501      $params = array('postBody' => $postBody);
 502      $params = array_merge($params, $optParams);
 503      return $this->call('insert', array($params), "Google_Service_YouTubeAnalytics_Group");
 504    }
 505  
 506    /**
 507     * Returns a collection of groups that match the API request parameters. For
 508     * example, you can retrieve all groups that the authenticated user owns, or you
 509     * can retrieve one or more groups by their unique IDs. (groups.listGroups)
 510     *
 511     * @param array $optParams Optional parameters.
 512     *
 513     * @opt_param string onBehalfOfContentOwner Note: This parameter is intended
 514     * exclusively for YouTube content partners.
 515     *
 516     * The onBehalfOfContentOwner parameter indicates that the request's
 517     * authorization credentials identify a YouTube CMS user who is acting on behalf
 518     * of the content owner specified in the parameter value. This parameter is
 519     * intended for YouTube content partners that own and manage many different
 520     * YouTube channels. It allows content owners to authenticate once and get
 521     * access to all their video and channel data, without having to provide
 522     * authentication credentials for each individual channel. The CMS account that
 523     * the user authenticates with must be linked to the specified YouTube content
 524     * owner.
 525     * @opt_param string id The id parameter specifies a comma-separated list of the
 526     * YouTube group ID(s) for the resource(s) that are being retrieved. In a group
 527     * resource, the id property specifies the group's YouTube group ID.
 528     * @opt_param bool mine Set this parameter's value to true to instruct the API
 529     * to only return groups owned by the authenticated user.
 530     * @return Google_Service_YouTubeAnalytics_GroupListResponse
 531     */
 532    public function listGroups($optParams = array())
 533    {
 534      $params = array();
 535      $params = array_merge($params, $optParams);
 536      return $this->call('list', array($params), "Google_Service_YouTubeAnalytics_GroupListResponse");
 537    }
 538  
 539    /**
 540     * Modifies a group. For example, you could change a group's title.
 541     * (groups.update)
 542     *
 543     * @param Google_Group $postBody
 544     * @param array $optParams Optional parameters.
 545     *
 546     * @opt_param string onBehalfOfContentOwner Note: This parameter is intended
 547     * exclusively for YouTube content partners.
 548     *
 549     * The onBehalfOfContentOwner parameter indicates that the request's
 550     * authorization credentials identify a YouTube CMS user who is acting on behalf
 551     * of the content owner specified in the parameter value. This parameter is
 552     * intended for YouTube content partners that own and manage many different
 553     * YouTube channels. It allows content owners to authenticate once and get
 554     * access to all their video and channel data, without having to provide
 555     * authentication credentials for each individual channel. The CMS account that
 556     * the user authenticates with must be linked to the specified YouTube content
 557     * owner.
 558     * @return Google_Service_YouTubeAnalytics_Group
 559     */
 560    public function update(Google_Service_YouTubeAnalytics_Group $postBody, $optParams = array())
 561    {
 562      $params = array('postBody' => $postBody);
 563      $params = array_merge($params, $optParams);
 564      return $this->call('update', array($params), "Google_Service_YouTubeAnalytics_Group");
 565    }
 566  }
 567  
 568  /**
 569   * The "reports" collection of methods.
 570   * Typical usage is:
 571   *  <code>
 572   *   $youtubeAnalyticsService = new Google_Service_YouTubeAnalytics(...);
 573   *   $reports = $youtubeAnalyticsService->reports;
 574   *  </code>
 575   */
 576  #[AllowDynamicProperties]
 577  class Google_Service_YouTubeAnalytics_Reports_Resource extends Google_Service_Resource
 578  {
 579  
 580    /**
 581     * Retrieve your YouTube Analytics reports. (reports.query)
 582     *
 583     * @param string $ids Identifies the YouTube channel or content owner for which
 584     * you are retrieving YouTube Analytics data. - To request data for a YouTube
 585     * user, set the ids parameter value to channel==CHANNEL_ID, where CHANNEL_ID
 586     * specifies the unique YouTube channel ID. - To request data for a YouTube CMS
 587     * content owner, set the ids parameter value to contentOwner==OWNER_NAME, where
 588     * OWNER_NAME is the CMS name of the content owner.
 589     * @param string $startDate The start date for fetching YouTube Analytics data.
 590     * The value should be in YYYY-MM-DD format.
 591     * @param string $endDate The end date for fetching YouTube Analytics data. The
 592     * value should be in YYYY-MM-DD format.
 593     * @param string $metrics A comma-separated list of YouTube Analytics metrics,
 594     * such as views or likes,dislikes. See the Available Reports document for a
 595     * list of the reports that you can retrieve and the metrics available in each
 596     * report, and see the Metrics document for definitions of those metrics.
 597     * @param array $optParams Optional parameters.
 598     *
 599     * @opt_param int max-results The maximum number of rows to include in the
 600     * response.
 601     * @opt_param string sort A comma-separated list of dimensions or metrics that
 602     * determine the sort order for YouTube Analytics data. By default the sort
 603     * order is ascending. The '-' prefix causes descending sort order.
 604     * @opt_param string dimensions A comma-separated list of YouTube Analytics
 605     * dimensions, such as views or ageGroup,gender. See the Available Reports
 606     * document for a list of the reports that you can retrieve and the dimensions
 607     * used for those reports. Also see the Dimensions document for definitions of
 608     * those dimensions.
 609     * @opt_param int start-index An index of the first entity to retrieve. Use this
 610     * parameter as a pagination mechanism along with the max-results parameter
 611     * (one-based, inclusive).
 612     * @opt_param string currency The currency to which financial metrics should be
 613     * converted. The default is US Dollar (USD). If the result contains no
 614     * financial metrics, this flag will be ignored. Responds with an error if the
 615     * specified currency is not recognized.
 616     * @opt_param string filters A list of filters that should be applied when
 617     * retrieving YouTube Analytics data. The Available Reports document identifies
 618     * the dimensions that can be used to filter each report, and the Dimensions
 619     * document defines those dimensions. If a request uses multiple filters, join
 620     * them together with a semicolon (;), and the returned result table will
 621     * satisfy both filters. For example, a filters parameter value of
 622     * video==dMH0bHeiRNg;country==IT restricts the result set to include data for
 623     * the given video in Italy.
 624     * @return Google_Service_YouTubeAnalytics_ResultTable
 625     */
 626    public function query($ids, $startDate, $endDate, $metrics, $optParams = array())
 627    {
 628      $params = array('ids' => $ids, 'start-date' => $startDate, 'end-date' => $endDate, 'metrics' => $metrics);
 629      $params = array_merge($params, $optParams);
 630      return $this->call('query', array($params), "Google_Service_YouTubeAnalytics_ResultTable");
 631    }
 632  }
 633  
 634  
 635  
 636  
 637  #[AllowDynamicProperties]
 638  class Google_Service_YouTubeAnalytics_BatchReport extends Google_Collection
 639  {
 640    protected $collection_key = 'outputs';
 641    protected $internal_gapi_mappings = array(
 642    );
 643    public $id;
 644    public $kind;
 645    protected $outputsType = 'Google_Service_YouTubeAnalytics_BatchReportOutputs';
 646    protected $outputsDataType = 'array';
 647    public $reportId;
 648    protected $timeSpanType = 'Google_Service_YouTubeAnalytics_BatchReportTimeSpan';
 649    protected $timeSpanDataType = '';
 650    public $timeUpdated;
 651  
 652  
 653    public function setId($id)
 654    {
 655      $this->id = $id;
 656    }
 657    public function getId()
 658    {
 659      return $this->id;
 660    }
 661    public function setKind($kind)
 662    {
 663      $this->kind = $kind;
 664    }
 665    public function getKind()
 666    {
 667      return $this->kind;
 668    }
 669    public function setOutputs($outputs)
 670    {
 671      $this->outputs = $outputs;
 672    }
 673    public function getOutputs()
 674    {
 675      return $this->outputs;
 676    }
 677    public function setReportId($reportId)
 678    {
 679      $this->reportId = $reportId;
 680    }
 681    public function getReportId()
 682    {
 683      return $this->reportId;
 684    }
 685    public function setTimeSpan(Google_Service_YouTubeAnalytics_BatchReportTimeSpan $timeSpan)
 686    {
 687      $this->timeSpan = $timeSpan;
 688    }
 689    public function getTimeSpan()
 690    {
 691      return $this->timeSpan;
 692    }
 693    public function setTimeUpdated($timeUpdated)
 694    {
 695      $this->timeUpdated = $timeUpdated;
 696    }
 697    public function getTimeUpdated()
 698    {
 699      return $this->timeUpdated;
 700    }
 701  }
 702  
 703  #[AllowDynamicProperties]
 704  class Google_Service_YouTubeAnalytics_BatchReportDefinition extends Google_Model
 705  {
 706    protected $internal_gapi_mappings = array(
 707    );
 708    public $id;
 709    public $kind;
 710    public $name;
 711    public $status;
 712    public $type;
 713  
 714  
 715    public function setId($id)
 716    {
 717      $this->id = $id;
 718    }
 719    public function getId()
 720    {
 721      return $this->id;
 722    }
 723    public function setKind($kind)
 724    {
 725      $this->kind = $kind;
 726    }
 727    public function getKind()
 728    {
 729      return $this->kind;
 730    }
 731    public function setName($name)
 732    {
 733      $this->name = $name;
 734    }
 735    public function getName()
 736    {
 737      return $this->name;
 738    }
 739    public function setStatus($status)
 740    {
 741      $this->status = $status;
 742    }
 743    public function getStatus()
 744    {
 745      return $this->status;
 746    }
 747    public function setType($type)
 748    {
 749      $this->type = $type;
 750    }
 751    public function getType()
 752    {
 753      return $this->type;
 754    }
 755  }
 756  
 757  #[AllowDynamicProperties]
 758  class Google_Service_YouTubeAnalytics_BatchReportDefinitionList extends Google_Collection
 759  {
 760    protected $collection_key = 'items';
 761    protected $internal_gapi_mappings = array(
 762    );
 763    protected $itemsType = 'Google_Service_YouTubeAnalytics_BatchReportDefinition';
 764    protected $itemsDataType = 'array';
 765    public $kind;
 766  
 767  
 768    public function setItems($items)
 769    {
 770      $this->items = $items;
 771    }
 772    public function getItems()
 773    {
 774      return $this->items;
 775    }
 776    public function setKind($kind)
 777    {
 778      $this->kind = $kind;
 779    }
 780    public function getKind()
 781    {
 782      return $this->kind;
 783    }
 784  }
 785  
 786  #[AllowDynamicProperties]
 787  class Google_Service_YouTubeAnalytics_BatchReportList extends Google_Collection
 788  {
 789    protected $collection_key = 'items';
 790    protected $internal_gapi_mappings = array(
 791    );
 792    protected $itemsType = 'Google_Service_YouTubeAnalytics_BatchReport';
 793    protected $itemsDataType = 'array';
 794    public $kind;
 795  
 796  
 797    public function setItems($items)
 798    {
 799      $this->items = $items;
 800    }
 801    public function getItems()
 802    {
 803      return $this->items;
 804    }
 805    public function setKind($kind)
 806    {
 807      $this->kind = $kind;
 808    }
 809    public function getKind()
 810    {
 811      return $this->kind;
 812    }
 813  }
 814  
 815  #[AllowDynamicProperties]
 816  class Google_Service_YouTubeAnalytics_BatchReportOutputs extends Google_Model
 817  {
 818    protected $internal_gapi_mappings = array(
 819    );
 820    public $downloadUrl;
 821    public $format;
 822    public $type;
 823  
 824  
 825    public function setDownloadUrl($downloadUrl)
 826    {
 827      $this->downloadUrl = $downloadUrl;
 828    }
 829    public function getDownloadUrl()
 830    {
 831      return $this->downloadUrl;
 832    }
 833    public function setFormat($format)
 834    {
 835      $this->format = $format;
 836    }
 837    public function getFormat()
 838    {
 839      return $this->format;
 840    }
 841    public function setType($type)
 842    {
 843      $this->type = $type;
 844    }
 845    public function getType()
 846    {
 847      return $this->type;
 848    }
 849  }
 850  
 851  #[AllowDynamicProperties]
 852  class Google_Service_YouTubeAnalytics_BatchReportTimeSpan extends Google_Model
 853  {
 854    protected $internal_gapi_mappings = array(
 855    );
 856    public $endTime;
 857    public $startTime;
 858  
 859  
 860    public function setEndTime($endTime)
 861    {
 862      $this->endTime = $endTime;
 863    }
 864    public function getEndTime()
 865    {
 866      return $this->endTime;
 867    }
 868    public function setStartTime($startTime)
 869    {
 870      $this->startTime = $startTime;
 871    }
 872    public function getStartTime()
 873    {
 874      return $this->startTime;
 875    }
 876  }
 877  
 878  #[AllowDynamicProperties]
 879  class Google_Service_YouTubeAnalytics_Group extends Google_Model
 880  {
 881    protected $internal_gapi_mappings = array(
 882    );
 883    protected $contentDetailsType = 'Google_Service_YouTubeAnalytics_GroupContentDetails';
 884    protected $contentDetailsDataType = '';
 885    public $etag;
 886    public $id;
 887    public $kind;
 888    protected $snippetType = 'Google_Service_YouTubeAnalytics_GroupSnippet';
 889    protected $snippetDataType = '';
 890  
 891  
 892    public function setContentDetails(Google_Service_YouTubeAnalytics_GroupContentDetails $contentDetails)
 893    {
 894      $this->contentDetails = $contentDetails;
 895    }
 896    public function getContentDetails()
 897    {
 898      return $this->contentDetails;
 899    }
 900    public function setEtag($etag)
 901    {
 902      $this->etag = $etag;
 903    }
 904    public function getEtag()
 905    {
 906      return $this->etag;
 907    }
 908    public function setId($id)
 909    {
 910      $this->id = $id;
 911    }
 912    public function getId()
 913    {
 914      return $this->id;
 915    }
 916    public function setKind($kind)
 917    {
 918      $this->kind = $kind;
 919    }
 920    public function getKind()
 921    {
 922      return $this->kind;
 923    }
 924    public function setSnippet(Google_Service_YouTubeAnalytics_GroupSnippet $snippet)
 925    {
 926      $this->snippet = $snippet;
 927    }
 928    public function getSnippet()
 929    {
 930      return $this->snippet;
 931    }
 932  }
 933  
 934  #[AllowDynamicProperties]
 935  class Google_Service_YouTubeAnalytics_GroupContentDetails extends Google_Model
 936  {
 937    protected $internal_gapi_mappings = array(
 938    );
 939    public $itemCount;
 940    public $itemType;
 941  
 942  
 943    public function setItemCount($itemCount)
 944    {
 945      $this->itemCount = $itemCount;
 946    }
 947    public function getItemCount()
 948    {
 949      return $this->itemCount;
 950    }
 951    public function setItemType($itemType)
 952    {
 953      $this->itemType = $itemType;
 954    }
 955    public function getItemType()
 956    {
 957      return $this->itemType;
 958    }
 959  }
 960  
 961  #[AllowDynamicProperties]
 962  class Google_Service_YouTubeAnalytics_GroupItem extends Google_Model
 963  {
 964    protected $internal_gapi_mappings = array(
 965    );
 966    public $etag;
 967    public $groupId;
 968    public $id;
 969    public $kind;
 970    protected $resourceType = 'Google_Service_YouTubeAnalytics_GroupItemResource';
 971    protected $resourceDataType = '';
 972  
 973  
 974    public function setEtag($etag)
 975    {
 976      $this->etag = $etag;
 977    }
 978    public function getEtag()
 979    {
 980      return $this->etag;
 981    }
 982    public function setGroupId($groupId)
 983    {
 984      $this->groupId = $groupId;
 985    }
 986    public function getGroupId()
 987    {
 988      return $this->groupId;
 989    }
 990    public function setId($id)
 991    {
 992      $this->id = $id;
 993    }
 994    public function getId()
 995    {
 996      return $this->id;
 997    }
 998    public function setKind($kind)
 999    {
1000      $this->kind = $kind;
1001    }
1002    public function getKind()
1003    {
1004      return $this->kind;
1005    }
1006    public function setResource(Google_Service_YouTubeAnalytics_GroupItemResource $resource)
1007    {
1008      $this->resource = $resource;
1009    }
1010    public function getResource()
1011    {
1012      return $this->resource;
1013    }
1014  }
1015  
1016  #[AllowDynamicProperties]
1017  class Google_Service_YouTubeAnalytics_GroupItemListResponse extends Google_Collection
1018  {
1019    protected $collection_key = 'items';
1020    protected $internal_gapi_mappings = array(
1021    );
1022    public $etag;
1023    protected $itemsType = 'Google_Service_YouTubeAnalytics_GroupItem';
1024    protected $itemsDataType = 'array';
1025    public $kind;
1026  
1027  
1028    public function setEtag($etag)
1029    {
1030      $this->etag = $etag;
1031    }
1032    public function getEtag()
1033    {
1034      return $this->etag;
1035    }
1036    public function setItems($items)
1037    {
1038      $this->items = $items;
1039    }
1040    public function getItems()
1041    {
1042      return $this->items;
1043    }
1044    public function setKind($kind)
1045    {
1046      $this->kind = $kind;
1047    }
1048    public function getKind()
1049    {
1050      return $this->kind;
1051    }
1052  }
1053  
1054  #[AllowDynamicProperties]
1055  class Google_Service_YouTubeAnalytics_GroupItemResource extends Google_Model
1056  {
1057    protected $internal_gapi_mappings = array(
1058    );
1059    public $id;
1060    public $kind;
1061  
1062  
1063    public function setId($id)
1064    {
1065      $this->id = $id;
1066    }
1067    public function getId()
1068    {
1069      return $this->id;
1070    }
1071    public function setKind($kind)
1072    {
1073      $this->kind = $kind;
1074    }
1075    public function getKind()
1076    {
1077      return $this->kind;
1078    }
1079  }
1080  
1081  #[AllowDynamicProperties]
1082  class Google_Service_YouTubeAnalytics_GroupListResponse extends Google_Collection
1083  {
1084    protected $collection_key = 'items';
1085    protected $internal_gapi_mappings = array(
1086    );
1087    public $etag;
1088    protected $itemsType = 'Google_Service_YouTubeAnalytics_Group';
1089    protected $itemsDataType = 'array';
1090    public $kind;
1091  
1092  
1093    public function setEtag($etag)
1094    {
1095      $this->etag = $etag;
1096    }
1097    public function getEtag()
1098    {
1099      return $this->etag;
1100    }
1101    public function setItems($items)
1102    {
1103      $this->items = $items;
1104    }
1105    public function getItems()
1106    {
1107      return $this->items;
1108    }
1109    public function setKind($kind)
1110    {
1111      $this->kind = $kind;
1112    }
1113    public function getKind()
1114    {
1115      return $this->kind;
1116    }
1117  }
1118  
1119  #[AllowDynamicProperties]
1120  class Google_Service_YouTubeAnalytics_GroupSnippet extends Google_Model
1121  {
1122    protected $internal_gapi_mappings = array(
1123    );
1124    public $publishedAt;
1125    public $title;
1126  
1127  
1128    public function setPublishedAt($publishedAt)
1129    {
1130      $this->publishedAt = $publishedAt;
1131    }
1132    public function getPublishedAt()
1133    {
1134      return $this->publishedAt;
1135    }
1136    public function setTitle($title)
1137    {
1138      $this->title = $title;
1139    }
1140    public function getTitle()
1141    {
1142      return $this->title;
1143    }
1144  }
1145  
1146  #[AllowDynamicProperties]
1147  class Google_Service_YouTubeAnalytics_ResultTable extends Google_Collection
1148  {
1149    protected $collection_key = 'rows';
1150    protected $internal_gapi_mappings = array(
1151    );
1152    protected $columnHeadersType = 'Google_Service_YouTubeAnalytics_ResultTableColumnHeaders';
1153    protected $columnHeadersDataType = 'array';
1154    public $kind;
1155    public $rows;
1156  
1157  
1158    public function setColumnHeaders($columnHeaders)
1159    {
1160      $this->columnHeaders = $columnHeaders;
1161    }
1162    public function getColumnHeaders()
1163    {
1164      return $this->columnHeaders;
1165    }
1166    public function setKind($kind)
1167    {
1168      $this->kind = $kind;
1169    }
1170    public function getKind()
1171    {
1172      return $this->kind;
1173    }
1174    public function setRows($rows)
1175    {
1176      $this->rows = $rows;
1177    }
1178    public function getRows()
1179    {
1180      return $this->rows;
1181    }
1182  }
1183  
1184  #[AllowDynamicProperties]
1185  class Google_Service_YouTubeAnalytics_ResultTableColumnHeaders extends Google_Model
1186  {
1187    protected $internal_gapi_mappings = array(
1188    );
1189    public $columnType;
1190    public $dataType;
1191    public $name;
1192  
1193  
1194    public function setColumnType($columnType)
1195    {
1196      $this->columnType = $columnType;
1197    }
1198    public function getColumnType()
1199    {
1200      return $this->columnType;
1201    }
1202    public function setDataType($dataType)
1203    {
1204      $this->dataType = $dataType;
1205    }
1206    public function getDataType()
1207    {
1208      return $this->dataType;
1209    }
1210    public function setName($name)
1211    {
1212      $this->name = $name;
1213    }
1214    public function getName()
1215    {
1216      return $this->name;
1217    }
1218  }