如何使用Adobe EchoSign API v5向某人发送文档进行签名?对于API版本5,我只能找到使用Java的示例。但我需要在PHP中使用它。如果我使用任何早期版本,它需要一个" API密钥",但在当前版本的API中,我无法找到我的API密钥。我甚至无法在PHP中找到任何示例代码。
答案 0 :(得分:2)
当前版本不再使用API密钥,因为它现在使用"访问令牌"。这就是我在PHP应用程序中所做的。
答案 1 :(得分:1)
Adobe Sign已更改其身份验证过程,而不是使用" API密钥",它现在使用" Access-Token"哪个更安全。
您可以使用任何基于PHP的第三方休息API客户端库进行Adobe Sign API调用,直到Adobe Sign本身为PHP提供SDK。
答案 2 :(得分:0)
Adobe eSign现在使用oAuth进行身份验证,并且针对不同的语言有很多不同的库
答案 3 :(得分:0)
我花了一段时间,但是我能正常工作,希望它能对其他人有所帮助,在使用作曲家(https://github.com/kevinem/adobe-sign-php/)安装后,您需要创建您的sanbox页面,因为我是/ vendor /中的index.php kevinem / adobe-sign-php /,那么我需要包含2个AdobeSign和Psr7类,因为我需要上传2个文档。
require "../../../vendor/autoload.php";
use KevinEm\AdobeSign\AdobeSign;
use GuzzleHttp\Psr7;
这就是我配置$ provider的方式,调用backurl必须与adobe后端的调用相同,并且我在AdobeSign.php中手动更改了数据中心
$provider = new KevinEm\OAuth2\Client\AdobeSign([
'clientId' => 'YOUR_APP_ID',
'clientSecret' => 'YOUR_APP_SECRET',
'redirectUri' => 'YOUR_BACK_URL',
'dataCenter' => 'secure.na2',
'scope' => ['user_login:self',
'agreement_write:self',
'widget_write:self',
'library_write:self',
'agreement_send:self'
]
]);
然后,您需要使用所有.pdf文档的URL创建一个数组。我叫$ archivos。
$accessToken = $adobeSign->getAccessToken($_GET['code']);
$adobeSign->setAccessToken($accessToken->getToken());
$todosDoc = array();
foreach ($archivos as $doc) {
$file_path = __DIR__.$doc;
$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);
array_push($todosDoc, $transient_document);
}
$adobeSign->createAgreement([
'documentCreationInfo' => [
'fileInfos' => $todosDoc,
'name' => 'My Document Test',
'signatureType' => 'ESIGN',
'recipientSetInfos' => [
'recipientSetMemberInfos' => [
'email' => 'orlando@yoursigner.com'
],
'recipientSetRole' => [
'SIGNER'
]
],
'mergeFieldInfo' => [
[
'fieldName' => 'Name',
'defaultValue' => 'John Doe'
]
],
'signatureFlow' => 'SENDER_SIGNATURE_NOT_REQUIRED'
]
]);