Docusignapi 关于帐户中用户管理的REST API的说明

Docusignapi 关于帐户中用户管理的REST API的说明,docusignapi,Docusignapi,我最近创建了一个docusign开发人员帐户和集成器密钥,当时正在使用docusignrestapi,有一些问题 我可以使用下面的REST调用检索我帐户下的完整用户列表。 https://demo.docusign.net/restapi/v2/accounts/ 现在我得到一个不同的错误(用户\而不是\帐户\管理员),如下所示 GET /restapi/v2/accounts/{accountid}/users/0fe29a55-5564-42a9-b09d-cbe699db13dd HTTP

我最近创建了一个docusign开发人员帐户和集成器密钥,当时正在使用docusignrestapi,有一些问题

  • 我可以使用下面的REST调用检索我帐户下的完整用户列表。
    https://demo.docusign.net/restapi/v2/accounts/ 现在我得到一个不同的错误(用户\而不是\帐户\管理员),如下所示

    GET /restapi/v2/accounts/{accountid}/users/0fe29a55-5564-42a9-b09d-cbe699db13dd HTTP/1.1
    Authorization: bearer {token for authenticating user}
    X-DocuSign-Act-As-User: {operating user's email}
    Accept: application/json
    Host: demo.docusign.net
    Connection: Keep-Alive
    
    HTTP/1.1 401 Unauthorized
    Cache-Control: no-cache
    Content-Length: 100
    Content-Type: application/json; charset=utf-8
    Date: Thu, 17 Oct 2013 21:18:32 GMT
    Strict-Transport-Security: max-age=7776000; includeSubDomains
    
    {
      "errorCode": "USER_NOT_ACCOUNT_ADMIN",
      "message": "User is not an account administrator."
    }
    
    我还尝试了第二种SOBO方法,为操作用户获取oauth令牌,但返回了http 400错误,并显示以下消息

    {
      "error": "invalid_request",
      "error_description": "An OAuth2 error occurred."
    }
    
    因此,虽然我可以为身份验证用户获取oauth令牌,但我无法为操作用户获取oauth令牌或代表他们行事

    我已确保身份验证用户是“帐户管理员”,并且“apiAccountWideAccess”和“•AllowSendenbehalof”都设置为true。唯一设置为“false”的是“canSendAPIRequests”。我在沙箱环境中的帐户id是“601565a7-e9c7-463b-9d7c-622aed905ea8”,有什么想法吗

    更新#2

    我没有代表身份验证用户和操作用户生成oauth令牌,而是尝试传递下面的标题,最终可以获得另一个用户的配置文件并更新另一个用户的配置文件

    X-DocuSign-Authentication: <DocuSignCredentials><SendOnBehalfOf>{operating userid}</SendOnBehalfOf><Username>{authenticating userid}</Username><Password>{authenticating user's password}</Password><IntegratorKey>{developer's integrator key}</IntegratorKey></DocuSignCredentials>
    
    *与X-DocuSign-Authentication标头中的SOBO配合使用

    无论是否使用SOBO,仍然不起作用**

    GET /restapi/v2/accounts/357938/users/74a021e1-3090-4843-b9ab-cceb7cd119f4/settings 
    GET /restapi/v2/accounts/357938/users/74a021e1-3090-4843-b9ab-cceb7cd119f4
    
    在这两种不工作的情况下,我得到以下错误

    • 如果没有SOBO,我会得到一个错误,即userid与身份验证用户不匹配
    • 使用SOBO时,我得到的错误是用户不是帐户管理员
    我将非常感谢任何帮助解决这些不起作用的案件。我可以根据需要提供更多细节

  • 其次,我想实现一个场景,在这个场景中,我可以停用帐户中的用户,这样他们就不能再登录到docusign。随后,我想再次启用该用户,使其具有禁用前的相同权限

    我看到该用户有一个“userStatus”字段,我想知道是否可以使用该字段取消激活该用户,然后在需要时重新激活。如果支持这一点,那么停用用户对应的值是多少

    我注意到的另一点是,在删除用户时,该用户仅被软删除,因为我仍然可以查询状态为“CLOSED”的用户。这将解决我的“停用”问题。但是,我不确定是否有办法在用户“关闭”后重新激活它们


  • 我相信这可能是一个帐户管理问题。我不知道为什么,但我从DocuSign的角度查看了您的帐户设置,发现您的帐户上没有选中“代表发送”-这很奇怪,因为您似乎可以访问控制台->首选项设置中的设置

    但无论是哪种情况,我都想知道我刚才在你的帐户上启用的设置是否解决了你的问题,因为它可能已经解决了


    我也不确定你问题中的用户信息部分,让我看看我是否能想出什么办法,一旦我想好了,我会编辑我的答案。

    在回复Erign的上述帖子时


    任何帐户管理员都应该能够修改/添加/删除帐户中的用户。我不确定你的SOBO步骤是否正确,你能确认你完全遵循了这些步骤吗?如果是这样,您在哪一步遇到问题或出现错误?——大约5分钟前

    是的,我正在遵循这些步骤。我能够为身份验证用户生成oauth令牌,但在为操作用户生成oauth令牌时会出错。以下是我的请求和回复

    1。请求验证用户身份的身份验证令牌

    响应

    2。请求操作用户的身份验证令牌

    响应


    谢谢回复@Ergin。我再试了一次,结果还是一样的错误。1.)使用{accountid}/users/0fe29a55-5564-42a9-b09d-cbe699db13dd以及“X-DocuSign-Authentication”标头返回“。经过身份验证的用户与uri中的userid不同..”。2) SOBO通过身份验证用户的oauth令牌和“X-DocuSign-Act-As-user:”标头失败,并显示相同的错误消息“user\u NOT\u ACCOUNT\u ADMIN”3)尝试获取“操作用户”的oauth令牌失败,并显示消息“发生OAuth2错误”。我很好奇上面哪一项应该通过?更一般地说,我想了解,为了代表帐户管理员在帐户中创建/更新/删除用户,我们是否需要SOBO,或者是否需要帐户管理员的用户名/密码并使用我们(开发人员)提供的集成器密钥创建足够?任何帐户管理员都应该能够修改/添加/删除帐户中的用户。我不确定你的SOBO步骤是否正确,但你能确认你是完全遵循吗?如果是这样的话,您在哪一步遇到问题或出现错误?我在下面的回答中添加了更多细节。另外,为了澄清我们(开发人员)使用管理员凭据添加/删除/修改帐户中的其他用户,是否必须遵循SOBO流程?我们不能只使用X-DocuSign-Authentication头:{admins't username}{admins's password}{developer's integrator key}进行测试,但我相信您应该能够在headerOk中使用admin's info,我想我知道您的OAuth2错误是怎么回事。每个帐户有10个代币的限制,我相信当你达到这个限制时,你会得到这个错误。尝试通过转到“首选项->连接的应用程序”删除至少一个令牌,然后再次尝试请求一个新令牌,它应该可以工作…我检查了,我的帐户中只有一个连接的应用程序。我记得看到这个错误是由于10个应用程序的限制,但我可以确认,在这种情况下,它肯定不是错误的原因。也许还有其他一些限制,我可能会达到?还有其他想法吗?我创建了一个新的演示帐户和相同的问题。也许这是演示帐户的一个限制?我还尝试使用docusignapi浏览器查看示例
    PUT /restapi/v2/accounts/357938/users/74a021e1-3090-4843-b9ab-cceb7cd119f4/profile // Update user's profile
    GET /restapi/v2/accounts/357938/users/74a021e1-3090-4843-b9ab-cceb7cd119f4/profile // Read user's profile
    
    GET /restapi/v2/accounts/357938/users/74a021e1-3090-4843-b9ab-cceb7cd119f4/settings 
    GET /restapi/v2/accounts/357938/users/74a021e1-3090-4843-b9ab-cceb7cd119f4
    
    POST /restapi/v2/oauth2/token HTTP/1.1
    Accept: application/json
    Content-Type: application/x-www-form-urlencoded
    Host: demo.docusign.net
    Content-Length: 139
    Expect: 100-continue
    Connection: Keep-Alive
    
    grant_type=password&client_id={integratorykey}&username={authenticating user's email}&password={authenticating user's password}&scope=api
    
    HTTP/1.1 200 OK
    Cache-Control: no-cache
    Content-Length: 100
    Content-Type: application/json; charset=utf-8
    Date: Thu, 17 Oct 2013 22:57:26 GMT
    Strict-Transport-Security: max-age=7776000; includeSubDomains
    
    {
      "access_token": "{authenticating user's token}",
      "token_type": "bearer",
      "scope": "api"
    }
    
    POST /restapi/v2/oauth2/token HTTP/1.1
    Authorization: bearer {authenticating user's token}
    Accept: application/json
    Content-Type: application/x-www-form-urlencoded
    Host: demo.docusign.net
    Content-Length: 137
    Expect: 100-continue
    
    grant_type=password&client_id={integratorykey}&username={operating user's id}&password={empty}&scope=api
    
    HTTP/1.1 400 Bad Request
    Cache-Control: no-cache
    Content-Length: 87
    Content-Type: application/json; charset=utf-8
    Date: Thu, 17 Oct 2013 22:57:29 GMT
    Strict-Transport-Security: max-age=7776000; includeSubDomains
    
    {
      "error": "invalid_request",
      "error_description": "An OAuth2 error occurred."
    }