graphlr / prepr-api
v5.0.1
2024-01-22 13:32 UTC
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.7.0
README
此软件包是REST API的SDK。
基本功能
最低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获取原始响应。