This SDK makes using the Getty Images API easy. It handles credential management, makes HTTP requests and is written with a fluent style in mind. For more info about the API, see the Documentation.
- Search for images and videos from our extensive creative and editorial catalogs.
- Get image and video metadata.
- Download files using your Getty Images products (e.g., Editorial subscriptions, Easy Access, Thinkstock Subscriptions, and Image Packs).
- Custom Request functionality that allows user to call any endpoint.
The SDK is available on Packagist.
See example.md for examples.
Source code is only needed if you would like to contribute to the project. Otherwise, use the package
- You have PHP >=7.2 setup
[Phar]
; http://php.net/phar.readonly
phar.readonly = Off
//Extensions needed for Windows OSs
extension=php_curl.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_sockets.dll
extension=php_openssl.dll
Please refer to README_ComposerInstall.md
If everything is setup on your machine where PHP will run, you can most likely run BuildSDK.bat or Build.sh to automatically build the phar. If something fails please read the error messages, PHP can have a finicky setup if you've never tried to use it to build a package before.
build.bat
On Ubuntu, you may need to install a few additional packages
sudo apt update
sudo apt install php-xml php-mbstring
./build.sh
This will put GettyImagesApi.phar in a build folder. Then you can use the package as you would any other phar.
The build does a few things for you automatically
- Determines if you have composer.phar and will retrieve it if you don't have it
- Runs
composer install
to get dependencies that are outlined in the composer.json file - Then produces the phar file in ./build/GettyImagesApi.phar
BuildSDK should get all the dependencies for you but if you want to do the update without a build From the root of the repository
php composer.phar install
php composer.phar install --require-dev
This command should install PHPUnit and any other php dependency libraries
The sdk does support using a proxy directly as well as ignoring ssl validation errors. This can be configured through the existense environment variables
GettyImagesApi_IgnoreSSLValidation
GettyImagesApi_UseProxy
export GettyImagesApi_IgnoreSSLValidation=TRUE
export GettyImagesApi_UseProxy=127.0.0.0:8888
set GettyImagesApi_IgnoreSSLValidation=TRUE
set GettyImagesApi_UseProxy=127.0.0.0:8888
$env:GettyImagesApi_IgnoreSSLValidation=TRUE
$env:GettyImagesApi_UseProxy="127.0.0.0:8888"
The test project contains unit tests written using the PHPUnit Framwork.
- You have PHPUnit installed
To execute all of the unit tests: ./vendor/bin/phpunit --bootstrap vendor/autoload.php unitTests/.
To execute one test class: ./vendor/bin/phpunit --bootstrap vendor/autoload.php unitTests/EXAMPLETEST