首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >v5 EchoSign示例

v5 EchoSign示例
EN

Stack Overflow用户
提问于 2016-05-02 15:54:42
回答 4查看 2.7K关注 0票数 0

如何使用EchoSign API v5发送文件以供签署?对于API版本5,我只能找到一个使用Java的示例。但我需要用PHP编写。如果我使用任何早期版本,它需要一个"API密钥“,但在当前版本的API中,我找不到我的API密钥。我甚至找不到PHP中的任何示例代码。

EN

回答 4

Stack Overflow用户

发布于 2016-05-27 09:24:11

当前版本中不再有API密钥,因为它现在使用“访问令牌”。这就是我在PHP应用程序上所做的。

  1. 存储应用程序ID和客户端密钥,并将其用于请求访问令牌。
  2. 如果请求成功,则同时存储访问令牌和刷新令牌,并且database.
  3. Access令牌中的时间戳将在1小时后过期,因此您必须检查它是否已过期。
  4. 如果访问令牌已过期。请求刷新令牌,它应该返回一个新的访问令牌。
  5. 将您存储的访问令牌替换为您收到的新令牌,并重新获得对该接口的访问权限。
票数 2
EN

Stack Overflow用户

发布于 2016-05-05 16:35:47

Adobe Sign改变了其身份验证流程,现在使用更安全的"Access-Token“,而不是使用"API密钥”。

您可以将任何基于PHP的第三方rest API客户端库用于Adobe Sign API调用,直到Adobe Sign本身为PHP提供SDK为止。

票数 1
EN

Stack Overflow用户

发布于 2019-04-13 02:37:38

我花了一段时间,但我得到了它的工作,我希望它能帮助其他人,安装后与composer (https://github.com/kevinem/adobe-sign-php/)您需要创建您的沙箱页面,对我来说是一个供应商在/ index.php /kevinem/adobe-sign-php/然后你需要包括2个类AdobeSign和Psr7在我的情况下,因为我需要上传2个文档。

代码语言:javascript
复制
require "../../../vendor/autoload.php"; 
use KevinEm\AdobeSign\AdobeSign;
use GuzzleHttp\Psr7;

这就是我如何配置我的$provider,回调call必须与adobe后台中的相同,并且我在AdobeSign.php中手动更改了数据中心

代码语言:javascript
复制
$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打电话。

代码语言:javascript
复制
$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'
    ]
    ]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36977596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档