mettle / adobe-sign-php
Adobe Sign PHP 客户端
v0.5.0
2022-02-08 14:32 UTC
Requires
- php: ^7.3 || ^8.0 || ^8.1
- ext-json: *
- mettle/oauth2-adobe-sign: ^0.2
Requires (Dev)
- phpunit/phpunit: ^9.0
README
Adobe Sign REST API V5 方法的不官方 PHP SDK
https://acrobat.adobe.com/us/en/sign.html
要求
以下版本的 PHP 受支持
- PHP 8.1
- PHP 8.0
- PHP 7.4
- PHP 7.3
安装
要安装,请使用 composer
composer require mettle/adobe-sign-php
文档
https://secure.na1.adobesign.com/public/docs/restapi/v5
示例用法
session_start(); $provider = new Mettle\OAuth2\Client\AdobeSign([ 'clientId' => 'your_client_id', 'clientSecret' => 'your_client_secret', 'redirectUri' => 'your_callback', 'scope' => [ 'scope1:type', 'scope2:type' ] ]); $adobeSign = new AdobeSign($provider); if (!isset($_GET['code'])) { $authorizationUrl = $adobeSign->getAuthorizationUrl(); $_SESSION['oauth2state'] = $provider->getState(); header('Location: ' . $authorizationUrl); } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) { unset($_SESSION['oauth2state']); exit('Invalid state'); } else { $accessToken = $adobeSign->getAccessToken($_GET['code']); $adobeSign->setAccessToken($accessToken->getToken()); $adobeSign->createAgreement([ 'documentCreationInfo' => [ 'fileInfos' => [ 'libraryDocumentId' => 'your_library_document_id' ], 'name' => 'My Document', 'signatureType' => 'ESIGN', 'recipientSetInfos' => [ 'recipientSetMemberInfos' => [ 'email' => 'test@gmail.com' ], 'recipientSetRole' => [ 'SIGNER' ] ], 'mergeFieldInfo' => [ [ 'fieldName' => 'Name', 'defaultValue' => 'John Doe' ] ], 'signatureFlow' => 'SENDER_SIGNATURE_NOT_REQUIRED' ] ]); }
生成用于瞬态文档上传的多部分流
感谢 @trip-somers 提供的 解决方案。
$file_path = '/path/to/local/document'; $file_stream = Psr7\FnStream::decorate(Psr7\stream_for(file_get_contents($file_path)), [ 'getMetadata' => function() use ($file_path) { return $file_path; } ]); $multipart_stream = new Psr7\MultipartStream([ [ 'name' => 'File', 'contents' => $file_stream ] ]); $transient_document = $adobeSign->uploadTransientDocument($multipart_stream);
许可
MIT 许可证 (MIT)。更多信息请参阅 LICENSE。