* Integrates Google Vision features, including image labeling, face, logo, and * landmark detection, optical character recognition (OCR), and detection of * explicit content, into applications.

* *

* For more information about this service, see the API * Documentation *

* * @author Google, Inc. */ class Vision extends \Google\Service { /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */ const CLOUD_PLATFORM = "https://www.googleapis.com/auth/cloud-platform"; /** Apply machine learning models to understand and label images. */ const CLOUD_VISION = "https://www.googleapis.com/auth/cloud-vision"; public $files; public $images; public $locations_operations; public $operations; public $projects_files; public $projects_images; public $projects_locations_files; public $projects_locations_images; public $projects_locations_operations; public $projects_locations_productSets; public $projects_locations_productSets_products; public $projects_locations_products; public $projects_locations_products_referenceImages; public $projects_operations; /** * Constructs the internal representation of the Vision service. * * @param Client|array $clientOrConfig The client used to deliver requests, or a * config array to pass to a new Client instance. * @param string $rootUrl The root URL used for requests to the service. */ public function __construct($clientOrConfig = [], $rootUrl = null) { parent::__construct($clientOrConfig); $this->rootUrl = $rootUrl ?: 'https://vision.googleapis.com/'; $this->servicePath = ''; $this->batchPath = 'batch'; $this->version = 'v1'; $this->serviceName = 'vision'; $this->files = new Vision\Resource\Files( $this, $this->serviceName, 'files', [ 'methods' => [ 'annotate' => [ 'path' => 'v1/files:annotate', 'httpMethod' => 'POST', 'parameters' => [], ],'asyncBatchAnnotate' => [ 'path' => 'v1/files:asyncBatchAnnotate', 'httpMethod' => 'POST', 'parameters' => [], ], ] ] ); $this->images = new Vision\Resource\Images( $this, $this->serviceName, 'images', [ 'methods' => [ 'annotate' => [ 'path' => 'v1/images:annotate', 'httpMethod' => 'POST', 'parameters' => [], ],'asyncBatchAnnotate' => [ 'path' => 'v1/images:asyncBatchAnnotate', 'httpMethod' => 'POST', 'parameters' => [], ], ] ] ); $this->locations_operations = new Vision\Resource\LocationsOperations( $this, $this->serviceName, 'operations', [ 'methods' => [ 'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->operations = new Vision\Resource\Operations( $this, $this->serviceName, 'operations', [ 'methods' => [ 'cancel' => [ 'path' => 'v1/{+name}:cancel', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->projects_files = new Vision\Resource\ProjectsFiles( $this, $this->serviceName, 'files', [ 'methods' => [ 'annotate' => [ 'path' => 'v1/{+parent}/files:annotate', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'asyncBatchAnnotate' => [ 'path' => 'v1/{+parent}/files:asyncBatchAnnotate', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_images = new Vision\Resource\ProjectsImages( $this, $this->serviceName, 'images', [ 'methods' => [ 'annotate' => [ 'path' => 'v1/{+parent}/images:annotate', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'asyncBatchAnnotate' => [ 'path' => 'v1/{+parent}/images:asyncBatchAnnotate', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_locations_files = new Vision\Resource\ProjectsLocationsFiles( $this, $this->serviceName, 'files', [ 'methods' => [ 'annotate' => [ 'path' => 'v1/{+parent}/files:annotate', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'asyncBatchAnnotate' => [ 'path' => 'v1/{+parent}/files:asyncBatchAnnotate', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_locations_images = new Vision\Resource\ProjectsLocationsImages( $this, $this->serviceName, 'images', [ 'methods' => [ 'annotate' => [ 'path' => 'v1/{+parent}/images:annotate', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'asyncBatchAnnotate' => [ 'path' => 'v1/{+parent}/images:asyncBatchAnnotate', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_locations_operations = new Vision\Resource\ProjectsLocationsOperations( $this, $this->serviceName, 'operations', [ 'methods' => [ 'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_locations_productSets = new Vision\Resource\ProjectsLocationsProductSets( $this, $this->serviceName, 'productSets', [ 'methods' => [ 'addProduct' => [ 'path' => 'v1/{+name}:addProduct', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'create' => [ 'path' => 'v1/{+parent}/productSets', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'productSetId' => [ 'location' => 'query', 'type' => 'string', ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'import' => [ 'path' => 'v1/{+parent}/productSets:import', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+parent}/productSets', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ],'patch' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'PATCH', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'updateMask' => [ 'location' => 'query', 'type' => 'string', ], ], ],'removeProduct' => [ 'path' => 'v1/{+name}:removeProduct', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_locations_productSets_products = new Vision\Resource\ProjectsLocationsProductSetsProducts( $this, $this->serviceName, 'products', [ 'methods' => [ 'list' => [ 'path' => 'v1/{+name}/products', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->projects_locations_products = new Vision\Resource\ProjectsLocationsProducts( $this, $this->serviceName, 'products', [ 'methods' => [ 'create' => [ 'path' => 'v1/{+parent}/products', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'productId' => [ 'location' => 'query', 'type' => 'string', ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+parent}/products', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ],'patch' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'PATCH', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'updateMask' => [ 'location' => 'query', 'type' => 'string', ], ], ],'purge' => [ 'path' => 'v1/{+parent}/products:purge', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_locations_products_referenceImages = new Vision\Resource\ProjectsLocationsProductsReferenceImages( $this, $this->serviceName, 'referenceImages', [ 'methods' => [ 'create' => [ 'path' => 'v1/{+parent}/referenceImages', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'referenceImageId' => [ 'location' => 'query', 'type' => 'string', ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+parent}/referenceImages', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->projects_operations = new Vision\Resource\ProjectsOperations( $this, $this->serviceName, 'operations', [ 'methods' => [ 'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(Vision::class, 'Google_Service_Vision');