<?php

namespace Google\Site_Kit_Dependencies;

/*
 * Copyright 2014 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
/**
 * Service definition for AdSense (v1.4).
 *
 * <p>
 * Accesses AdSense publishers' inventory and generates performance reports.</p>
 *
 * <p>
 * For more information about this service, see the API
 * <a href="https://developers.google.com/adsense/management/" target="_blank">Documentation</a>
 * </p>
 *
 * @author Google, Inc.
 */
class Google_Service_AdSense extends \Google\Site_Kit_Dependencies\Google_Service
{
    /** View and manage your AdSense data. */
    const ADSENSE = "https://www.googleapis.com/auth/adsense";
    /** View your AdSense data. */
    const ADSENSE_READONLY = "https://www.googleapis.com/auth/adsense.readonly";
    public $accounts;
    public $accounts_adclients;
    public $accounts_adunits;
    public $accounts_adunits_customchannels;
    public $accounts_alerts;
    public $accounts_customchannels;
    public $accounts_customchannels_adunits;
    public $accounts_payments;
    public $accounts_reports;
    public $accounts_reports_saved;
    public $accounts_savedadstyles;
    public $accounts_urlchannels;
    public $adclients;
    public $adunits;
    public $adunits_customchannels;
    public $alerts;
    public $customchannels;
    public $customchannels_adunits;
    public $metadata_dimensions;
    public $metadata_metrics;
    public $payments;
    public $reports;
    public $reports_saved;
    public $savedadstyles;
    public $urlchannels;
    /**
     * Constructs the internal representation of the AdSense service.
     *
     * @param Google_Client $client The client used to deliver requests.
     * @param string $rootUrl The root URL used for requests to the service.
     */
    public function __construct(\Google\Site_Kit_Dependencies\Google_Client $client, $rootUrl = null)
    {
        parent::__construct($client);
        $this->rootUrl = $rootUrl ?: 'https://www.googleapis.com/';
        $this->servicePath = 'adsense/v1.4/';
        $this->batchPath = 'batch/adsense/v1.4';
        $this->version = 'v1.4';
        $this->serviceName = 'adsense';
        $this->accounts = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_Accounts($this, $this->serviceName, 'accounts', array('methods' => array('get' => array('path' => 'accounts/{accountId}', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'tree' => array('location' => 'query', 'type' => 'boolean'))), 'list' => array('path' => 'accounts', 'httpMethod' => 'GET', 'parameters' => array('maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->accounts_adclients = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsAdclients($this, $this->serviceName, 'adclients', array('methods' => array('getAdCode' => array('path' => 'accounts/{accountId}/adclients/{adClientId}/adcode', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'list' => array('path' => 'accounts/{accountId}/adclients', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->accounts_adunits = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsAdunits($this, $this->serviceName, 'adunits', array('methods' => array('get' => array('path' => 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adUnitId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'getAdCode' => array('path' => 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adUnitId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'list' => array('path' => 'accounts/{accountId}/adclients/{adClientId}/adunits', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'includeInactive' => array('location' => 'query', 'type' => 'boolean'), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->accounts_adunits_customchannels = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsAdunitsCustomchannels($this, $this->serviceName, 'customchannels', array('methods' => array('list' => array('path' => 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/customchannels', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adUnitId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->accounts_alerts = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsAlerts($this, $this->serviceName, 'alerts', array('methods' => array('delete' => array('path' => 'accounts/{accountId}/alerts/{alertId}', 'httpMethod' => 'DELETE', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'alertId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'list' => array('path' => 'accounts/{accountId}/alerts', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'locale' => array('location' => 'query', 'type' => 'string'))))));
        $this->accounts_customchannels = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsCustomchannels($this, $this->serviceName, 'customchannels', array('methods' => array('get' => array('path' => 'accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'customChannelId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'list' => array('path' => 'accounts/{accountId}/adclients/{adClientId}/customchannels', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->accounts_customchannels_adunits = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsCustomchannelsAdunits($this, $this->serviceName, 'adunits', array('methods' => array('list' => array('path' => 'accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}/adunits', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'customChannelId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'includeInactive' => array('location' => 'query', 'type' => 'boolean'), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->accounts_payments = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsPayments($this, $this->serviceName, 'payments', array('methods' => array('list' => array('path' => 'accounts/{accountId}/payments', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true))))));
        $this->accounts_reports = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsReports($this, $this->serviceName, 'reports', array('methods' => array('generate' => array('path' => 'accounts/{accountId}/reports', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'startDate' => array('location' => 'query', 'type' => 'string', 'required' => \true), 'endDate' => array('location' => 'query', 'type' => 'string', 'required' => \true), 'currency' => array('location' => 'query', 'type' => 'string'), 'dimension' => array('location' => 'query', 'type' => 'string', 'repeated' => \true), 'filter' => array('location' => 'query', 'type' => 'string', 'repeated' => \true), 'locale' => array('location' => 'query', 'type' => 'string'), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'metric' => array('location' => 'query', 'type' => 'string', 'repeated' => \true), 'sort' => array('location' => 'query', 'type' => 'string', 'repeated' => \true), 'startIndex' => array('location' => 'query', 'type' => 'integer'), 'useTimezoneReporting' => array('location' => 'query', 'type' => 'boolean'))))));
        $this->accounts_reports_saved = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsReportsSaved($this, $this->serviceName, 'saved', array('methods' => array('generate' => array('path' => 'accounts/{accountId}/reports/{savedReportId}', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'savedReportId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'locale' => array('location' => 'query', 'type' => 'string'), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'startIndex' => array('location' => 'query', 'type' => 'integer'))), 'list' => array('path' => 'accounts/{accountId}/reports/saved', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->accounts_savedadstyles = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsSavedadstyles($this, $this->serviceName, 'savedadstyles', array('methods' => array('get' => array('path' => 'accounts/{accountId}/savedadstyles/{savedAdStyleId}', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'savedAdStyleId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'list' => array('path' => 'accounts/{accountId}/savedadstyles', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->accounts_urlchannels = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AccountsUrlchannels($this, $this->serviceName, 'urlchannels', array('methods' => array('list' => array('path' => 'accounts/{accountId}/adclients/{adClientId}/urlchannels', 'httpMethod' => 'GET', 'parameters' => array('accountId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->adclients = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_Adclients($this, $this->serviceName, 'adclients', array('methods' => array('list' => array('path' => 'adclients', 'httpMethod' => 'GET', 'parameters' => array('maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->adunits = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_Adunits($this, $this->serviceName, 'adunits', array('methods' => array('get' => array('path' => 'adclients/{adClientId}/adunits/{adUnitId}', 'httpMethod' => 'GET', 'parameters' => array('adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adUnitId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'getAdCode' => array('path' => 'adclients/{adClientId}/adunits/{adUnitId}/adcode', 'httpMethod' => 'GET', 'parameters' => array('adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adUnitId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'list' => array('path' => 'adclients/{adClientId}/adunits', 'httpMethod' => 'GET', 'parameters' => array('adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'includeInactive' => array('location' => 'query', 'type' => 'boolean'), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->adunits_customchannels = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_AdunitsCustomchannels($this, $this->serviceName, 'customchannels', array('methods' => array('list' => array('path' => 'adclients/{adClientId}/adunits/{adUnitId}/customchannels', 'httpMethod' => 'GET', 'parameters' => array('adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'adUnitId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->alerts = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_Alerts($this, $this->serviceName, 'alerts', array('methods' => array('delete' => array('path' => 'alerts/{alertId}', 'httpMethod' => 'DELETE', 'parameters' => array('alertId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'list' => array('path' => 'alerts', 'httpMethod' => 'GET', 'parameters' => array('locale' => array('location' => 'query', 'type' => 'string'))))));
        $this->customchannels = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_Customchannels($this, $this->serviceName, 'customchannels', array('methods' => array('get' => array('path' => 'adclients/{adClientId}/customchannels/{customChannelId}', 'httpMethod' => 'GET', 'parameters' => array('adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'customChannelId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'list' => array('path' => 'adclients/{adClientId}/customchannels', 'httpMethod' => 'GET', 'parameters' => array('adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->customchannels_adunits = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_CustomchannelsAdunits($this, $this->serviceName, 'adunits', array('methods' => array('list' => array('path' => 'adclients/{adClientId}/customchannels/{customChannelId}/adunits', 'httpMethod' => 'GET', 'parameters' => array('adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'customChannelId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'includeInactive' => array('location' => 'query', 'type' => 'boolean'), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->metadata_dimensions = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_MetadataDimensions($this, $this->serviceName, 'dimensions', array('methods' => array('list' => array('path' => 'metadata/dimensions', 'httpMethod' => 'GET', 'parameters' => array()))));
        $this->metadata_metrics = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_MetadataMetrics($this, $this->serviceName, 'metrics', array('methods' => array('list' => array('path' => 'metadata/metrics', 'httpMethod' => 'GET', 'parameters' => array()))));
        $this->payments = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_Payments($this, $this->serviceName, 'payments', array('methods' => array('list' => array('path' => 'payments', 'httpMethod' => 'GET', 'parameters' => array()))));
        $this->reports = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_Reports($this, $this->serviceName, 'reports', array('methods' => array('generate' => array('path' => 'reports', 'httpMethod' => 'GET', 'parameters' => array('startDate' => array('location' => 'query', 'type' => 'string', 'required' => \true), 'endDate' => array('location' => 'query', 'type' => 'string', 'required' => \true), 'accountId' => array('location' => 'query', 'type' => 'string', 'repeated' => \true), 'currency' => array('location' => 'query', 'type' => 'string'), 'dimension' => array('location' => 'query', 'type' => 'string', 'repeated' => \true), 'filter' => array('location' => 'query', 'type' => 'string', 'repeated' => \true), 'locale' => array('location' => 'query', 'type' => 'string'), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'metric' => array('location' => 'query', 'type' => 'string', 'repeated' => \true), 'sort' => array('location' => 'query', 'type' => 'string', 'repeated' => \true), 'startIndex' => array('location' => 'query', 'type' => 'integer'), 'useTimezoneReporting' => array('location' => 'query', 'type' => 'boolean'))))));
        $this->reports_saved = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_ReportsSaved($this, $this->serviceName, 'saved', array('methods' => array('generate' => array('path' => 'reports/{savedReportId}', 'httpMethod' => 'GET', 'parameters' => array('savedReportId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'locale' => array('location' => 'query', 'type' => 'string'), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'startIndex' => array('location' => 'query', 'type' => 'integer'))), 'list' => array('path' => 'reports/saved', 'httpMethod' => 'GET', 'parameters' => array('maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->savedadstyles = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_Savedadstyles($this, $this->serviceName, 'savedadstyles', array('methods' => array('get' => array('path' => 'savedadstyles/{savedAdStyleId}', 'httpMethod' => 'GET', 'parameters' => array('savedAdStyleId' => array('location' => 'path', 'type' => 'string', 'required' => \true))), 'list' => array('path' => 'savedadstyles', 'httpMethod' => 'GET', 'parameters' => array('maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
        $this->urlchannels = new \Google\Site_Kit_Dependencies\Google_Service_AdSense_Resource_Urlchannels($this, $this->serviceName, 'urlchannels', array('methods' => array('list' => array('path' => 'adclients/{adClientId}/urlchannels', 'httpMethod' => 'GET', 'parameters' => array('adClientId' => array('location' => 'path', 'type' => 'string', 'required' => \true), 'maxResults' => array('location' => 'query', 'type' => 'integer'), 'pageToken' => array('location' => 'query', 'type' => 'string'))))));
    }
}
