gettyimages / gettyimages-api
Getty Images API SDK - PHP
Requires
- php: >=7.0
- php-di/php-di: ^6.0
Requires (Dev)
- phine/phar: ~1.0
- phpunit/phpunit: ^6
README
介绍
此 SDK 使得使用 Getty Images API 变得简单。它处理凭证管理、执行 HTTP 请求,并以流畅的风格编写。有关 API 的更多信息,请参阅 文档。
- 搜索来自我们丰富的创意和编辑目录中的图片和视频。
- 获取图片和视频元数据。
- 使用您的 Getty Images 产品(例如,编辑订阅、Easy Access、Thinkstock 订阅和图片包)下载文件。
- 自定义请求功能允许用户调用任何端点。
帮助 & 支持
入门
获取 API 密钥
如果您还没有 API 密钥,请填写并提交 联系表单 以连接到我们的销售团队。
安装包
SDK 可在 Packagist 上获取。
示例
请参阅 example.md 以获取示例。
从源代码构建
如果您想为项目做出贡献,则需要源代码。否则,请使用 包
初始设置
假设
- 您已设置 PHP >=7.2
PHP.ini 设置以构建代码
[Phar]
; https://php.ac.cn/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
通过 Composer 安装
快速构建
如果您的机器上已设置好所有内容,以便运行 PHP,则可以运行 BuildSDK.bat 或 Build.sh 以自动构建 phar。如果出现问题,请阅读错误信息,如果之前从未尝试过使用 PHP 构建包,则 PHP 可能会有一些棘手的设置。
Windows
build.bat
Linux / OSX
先决条件
在 Ubuntu 上,您可能需要安装一些额外的包
sudo apt update sudo apt install php-xml php-mbstring
构建
./build.sh
这将在构建文件夹中将 GettyImagesApi.phar。然后您可以使用该包就像使用其他任何 phar 一样。
构建会为您自动执行一些操作
- 确定您是否具有 composer.phar,如果没有,则将其检索
- 运行
composer install
以获取 composer.json 文件中概述的依赖项 - 然后在 ./build/GettyImagesApi.phar 中生成 phar 文件
手动安装 PHP 库
BuildSDK 应该为您获取所有依赖项,但如果您想在不构建的情况下更新,请从存储库的根目录运行
php composer.phar install
如果您需要测试依赖项
php composer.phar install --require-dev
此命令应安装 PHPUnit 和任何其他 PHP 依赖库
感兴趣的环境变量
SDK 支持直接使用代理以及忽略 ssl 验证错误。这可以通过环境变量的存在来配置
GettyImagesApi_IgnoreSSLValidation
GettyImagesApi_UseProxy
Unix Shell 示例
export GettyImagesApi_IgnoreSSLValidation=TRUE
export GettyImagesApi_UseProxy=127.0.0.0:8888
Windows CMD 示例
set GettyImagesApi_IgnoreSSLValidation=TRUE
set GettyImagesApi_UseProxy=127.0.0.0:8888
Powershell 示例
$env:GettyImagesApi_IgnoreSSLValidation=TRUE
$env:GettyImagesApi_UseProxy="127.0.0.0:8888"
测试
运行单元测试
测试项目包含使用 PHPUnit 框架 编写的单元测试。
执行单元测试
假设
- 您已安装 PHPUnit
执行所有单元测试:./vendor/bin/phpunit --bootstrap vendor/autoload.php unitTests/。
执行单个测试类:./vendor/bin/phpunit --bootstrap vendor/autoload.php unitTests/EXAMPLETEST
维护者
要将新版本发布到Packagist,创建一个带有更新标签的新版本。一个webhook将通知Packagist获取最新版本。