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
18/**
19 * Service definition for StreetViewPublish (v1).
20 *
21 * <p>
22 * Publishes 360 photos to Google Maps, along with position, orientation, and
23 * connectivity metadata. Apps can offer an interface for positioning,
24 * connecting, and uploading user-generated Street View images.</p>
25 *
26 * <p>
27 * For more information about this service, see the API
28 * <a href="https://developers.google.com/streetview/publish/" target="_blank">Documentation</a>
29 * </p>
30 *
31 * @author Google, Inc.
32 */
33class Google_Service_StreetViewPublish extends Google_Service
34{
35  /** Publish and manage your 360 photos on Google Street View. */
36  const STREETVIEWPUBLISH =
37      "https://www.googleapis.com/auth/streetviewpublish";
38
39  public $photo;
40  public $photos;
41
42  /**
43   * Constructs the internal representation of the StreetViewPublish service.
44   *
45   * @param Google_Client $client The client used to deliver requests.
46   * @param string $rootUrl The root URL used for requests to the service.
47   */
48  public function __construct(Google_Client $client, $rootUrl = null)
49  {
50    parent::__construct($client);
51    $this->rootUrl = $rootUrl ?: 'https://streetviewpublish.googleapis.com/';
52    $this->servicePath = '';
53    $this->batchPath = 'batch';
54    $this->version = 'v1';
55    $this->serviceName = 'streetviewpublish';
56
57    $this->photo = new Google_Service_StreetViewPublish_Resource_Photo(
58        $this,
59        $this->serviceName,
60        'photo',
61        array(
62          'methods' => array(
63            'create' => array(
64              'path' => 'v1/photo',
65              'httpMethod' => 'POST',
66              'parameters' => array(),
67            ),'delete' => array(
68              'path' => 'v1/photo/{photoId}',
69              'httpMethod' => 'DELETE',
70              'parameters' => array(
71                'photoId' => array(
72                  'location' => 'path',
73                  'type' => 'string',
74                  'required' => true,
75                ),
76              ),
77            ),'get' => array(
78              'path' => 'v1/photo/{photoId}',
79              'httpMethod' => 'GET',
80              'parameters' => array(
81                'photoId' => array(
82                  'location' => 'path',
83                  'type' => 'string',
84                  'required' => true,
85                ),
86                'languageCode' => array(
87                  'location' => 'query',
88                  'type' => 'string',
89                ),
90                'view' => array(
91                  'location' => 'query',
92                  'type' => 'string',
93                ),
94              ),
95            ),'startUpload' => array(
96              'path' => 'v1/photo:startUpload',
97              'httpMethod' => 'POST',
98              'parameters' => array(),
99            ),'update' => array(
100              'path' => 'v1/photo/{id}',
101              'httpMethod' => 'PUT',
102              'parameters' => array(
103                'id' => array(
104                  'location' => 'path',
105                  'type' => 'string',
106                  'required' => true,
107                ),
108                'updateMask' => array(
109                  'location' => 'query',
110                  'type' => 'string',
111                ),
112              ),
113            ),
114          )
115        )
116    );
117    $this->photos = new Google_Service_StreetViewPublish_Resource_Photos(
118        $this,
119        $this->serviceName,
120        'photos',
121        array(
122          'methods' => array(
123            'batchDelete' => array(
124              'path' => 'v1/photos:batchDelete',
125              'httpMethod' => 'POST',
126              'parameters' => array(),
127            ),'batchGet' => array(
128              'path' => 'v1/photos:batchGet',
129              'httpMethod' => 'GET',
130              'parameters' => array(
131                'languageCode' => array(
132                  'location' => 'query',
133                  'type' => 'string',
134                ),
135                'photoIds' => array(
136                  'location' => 'query',
137                  'type' => 'string',
138                  'repeated' => true,
139                ),
140                'view' => array(
141                  'location' => 'query',
142                  'type' => 'string',
143                ),
144              ),
145            ),'batchUpdate' => array(
146              'path' => 'v1/photos:batchUpdate',
147              'httpMethod' => 'POST',
148              'parameters' => array(),
149            ),'list' => array(
150              'path' => 'v1/photos',
151              'httpMethod' => 'GET',
152              'parameters' => array(
153                'filter' => array(
154                  'location' => 'query',
155                  'type' => 'string',
156                ),
157                'languageCode' => array(
158                  'location' => 'query',
159                  'type' => 'string',
160                ),
161                'pageSize' => array(
162                  'location' => 'query',
163                  'type' => 'integer',
164                ),
165                'pageToken' => array(
166                  'location' => 'query',
167                  'type' => 'string',
168                ),
169                'view' => array(
170                  'location' => 'query',
171                  'type' => 'string',
172                ),
173              ),
174            ),
175          )
176        )
177    );
178  }
179}
180