无法使用DocuSign管理API更新用户资料 [docusignapi] 。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用DocuSign管理API更新用户资料 [docusignapi] 。相关的知识,希望对你有一定的参考价值。

我想更新用户的用户配置文件(Federated_status),我正在使用DocuSign管理APi,并从组织管理账户中生成了临时令牌,但当我使用下面的方法调用Docusing管理api时,它没有更新它,并抛出 "未授权 "的错误。

'''try
            {
                HttpContent PostContent = new StringContent(JsonConvert.SerializeObject(ObjUser), Encoding.UTF8, "application/json");
                string reponsebody = string.Empty;
                string Url = "https://api-d.docusign.net/managment/v2/organisation/" + OrgID + "users/profiles";
                using (var client = new HttpClient())
                {

                    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application / json"));
                    client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token));
                    HttpResponseMessage rep = client.PostAsync(new System.Uri(Url), PostContent).Result;
                    reponsebody = rep.Content.ReadAsStringAsync().Result;
                }
                var userProfileResponse = JsonConvert.DeserializeObject<UserProfile>(reponsebody);
                return userProfileResponse;
            }



'''

I am not sure how to call this admin api to update user profile - "federated status" .
Please help.!
答案

你可以这样做。

GET /v2/organizations/{organizationId}/users/profile

但更新是:

POST /v2/organizations/{organizationId}/users/profiles

不同的端点,我知道这很混乱。

确保你做的是POST,而不是GET。

https:/developers.docusign.comorgadmin-apireferenceUsersUsersupdateUser。

另一答案

我怀疑您在获取访问令牌时没有包含正确的作用域。对于DocuSign Admin API的请求,您必须包含特殊的作用域。我已经为每种类型的验证包含了一些代码示例。

如果您使用的是 JWT,您的令牌主体将看起来像这样......

{
  "iss": "5c2b8d7e-xxxx-xxxx-xxxx-cda8a50dd73f",
  "sub": "464f7988-xxxx-xxxx-xxxx-781ee556ab7a",
  "iat": 1523900289,
  "exp": 1523903289,
  "aud": "account-d.docusign.com",
  "scope": "signature organization_read group_read user_read user_write"
}

对于授权代码,您的请求必须包含本示例中包含的 DocuSign Admin 作用域。

https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature%20organization_read%20group_read%20user_read%20user_write&client_id=7c2b8d7e-xxxx-xxxx-xxxx-cda8a50dd73f&state=a39fh23hnf23&redirect_uri=http://example.com/callback/http://example.com/callback/

对于隐式授权,您的请求将是类似的,只是响应类型不同。

https://account-d.docusign.com/oauth/auth?response_type=token&scope=signature%20organization_read%20group_read%20user_read%20user_write&client_id=7c2b8d7e-xxxx-xxxx-xxxx-cda8a50dd73f&state=a39fh23hnf23&redirect_uri=http://example.com/callback/

有关各种类型范围的更多信息,请参见我们的指南。DocuSign Admin API Auth. 让我知道,如果有帮助。

以上是关于无法使用DocuSign管理API更新用户资料 [docusignapi] 。的主要内容,如果未能解决你的问题,请参考以下文章

从 Oauth2 DocuSign API 隐式授权获取用户信息

阅读 docusign 审核日志

通过 DocuSign Rest API 创建 DocuSign 信封时出错(包含多个文档和多个收件人)

当我们进行API调用时,Docusign会保留发送文档的副本吗 - eSignRestAPI?

在 Python 中的 DocuSign 中获取令牌

从docusign REST API收集与安全相关的事件吗?