preprio / php-rest-sdk
Prepr PHP SDK
v5.0.1
2024-01-22 13:32 UTC
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.7.0
README
此包是REST API的SDK。
基础知识
GitHub上的SDK (GitHub)
最低PHP版本: ^8.2
需要 GuzzleHttp ^7.7.0
对于Laravel项目,我们建议使用REST或GraphQL的Laravel提供者。
安装
您可以将SDK作为composer包安装。
composer require preprio/php-rest-sdk
进行第一次请求
让我们从获取Prepr环境中的内容项开始。
<?php use Preprio\PhpRestSdk\Prepr; $apiRequest = new Prepr('{ACCESS_TOKEN}'); $apiRequest ->path('content_items') ->query([ 'fields' => 'items' ]) ->get(); if($apiRequest->getStatusCode() == 200) { print_r($apiRequest->getResponse()); }
要获取单个内容项,请将ID传递给请求。
<?php use Preprio\PhpRestSdk\Prepr; $apiRequest = new Prepr('{ACCESS_TOKEN}'); $apiRequest ->path('content_items/{id}', [ 'id' => '1236f0b1-b26d-4dde-b835-9e4e441a6d09' ]) ->query([ 'fields' => 'items' ]) ->get(); if($apiRequest->getStatusCode() == 200) { print_r($apiRequest->getResponse()); }
自动分页结果
要获取端点的所有资源,您可以使用自动分页功能。
$apiRequest ->path('content_items') ->query([ 'limit' => 200 // optional ]) ->autoPaging(); if($apiRequest->getStatusCode() == 200) { print_r($apiRequest->getResponse()); }
在请求中覆盖AccessToken
授权也可以针对单个请求进行设置 ->url('url')->authorization('token')
。
POST
$apiRequest ->path('content_items') ->params([ 'body' => 'Example' ]) ->post(); if($apiRequest->getStatusCode() == 201) { print_r($apiRequest->getResponse()); }
PUT
$apiRequest ->path('content_items') ->params([ 'body' => 'Example' ]) ->put(); if($apiRequest->getStatusCode() == 200) { print_r($apiRequest->getResponse()); }
DELETE
$apiRequest ->path('content_items/{id}',[ 'id' => "398402d-dd-asd-ads3343dad" ]) ->delete(); if($apiRequest->getStatusCode() == 204) { // Deleted. }
Multipart/Chunk资产上传
$apiRequest ->path('assets') ->params([ 'body' => 'Example', ]) ->file('/path/to/file.txt') ->post(); if($apiRequest->getStatusCode() == 200) { print_r($apiRequest->getResponse()); }
调试错误
使用 $apiRequest->getRawResponse()
您可以获取Prepr API的原始响应。