Невозможно обновить профиль пользователя с помощью API администратора DocuSign [docusignapi] - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу обновить профиль пользователя (Federated_status) пользователя, я использую API-интерфейс DocuSign и сгенерировал временный токен из учетной записи администратора организации - но когда я вызываю API-интерфейс администратора Docusing ниже, он не обновляет его и выдает ошибку " неавторизованным ".

'''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.!

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Вы можете сделать это:

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

, но обновление:

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

Другая конечная точка, я знаю, что это сбивает с толку.

Убедитесь, что вы делаете POST, а не GET

https://developers.docusign.com/orgadmin-api/reference/Users/Users/updateUser

0 голосов
/ 22 апреля 2020

Я подозреваю, что вы не указали нужные области при получении токена доступа. Для запросов к API-интерфейсу DocuSign необходимо включить специальные области. Я включил несколько примеров кода для каждого типа аутентификации.

Если вы используете 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 . Дайте мне знать, если это поможет.

...