Получение 400 неверных запросов при попытке добавить пользователя в группу AD с помощью Microsoft Graph - PullRequest
0 голосов
/ 29 октября 2019

Я имею дело с чрезвычайно странной проблемой. Код, который я создал, год назад работал просто отлично, но сейчас этого не происходит.

Я пытаюсь добавить пользователя в группу AD, но получаю 400 неверных запросов. Что я могу сделать, чтобы это исправить? Стоит ли переходить на определенную версию пакета ActiveDirectory?

Заранее спасибо. Вот моя функция

public static async Task<string> AddGroupMember(string accessToken, string groupId, string memberId)
{
    var status = string.Empty;
    try
    {
        string endpoint = "https://graph.microsoft.com/v1.0/groups/" + groupId + "/members/$ref";
        string queryParameter = "";

        // pass body data 
        var keyOdataId = "@odata.id";
        var valueODataId = "https://graph.microsoft.com/v1.0/directoryObjects/" + memberId;

        var values = new List<KeyValuePair<string, string>>
        {
            new KeyValuePair<string, string>(keyOdataId, valueODataId)
        };
        var jsonData = $@"{{ ""{keyOdataId}"": ""{valueODataId}"" }}";
        var body = new StringContent(jsonData, Encoding.UTF8, "application/json");


        using (var client = new HttpClient())
        {
            using (var request = new HttpRequestMessage(HttpMethod.Post, endpoint + queryParameter))
            {
                request.Content = body;
                request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

                using (var response = await client.SendAsync(request))
                {
                    if (response.StatusCode == HttpStatusCode.NoContent)
                        status = "Member added to Group";
                    else
                        status = $"Unable to add Member to Group: {response.StatusCode}";
                }
            }
        }
    }
    catch (Exception ex)
    {
        status = $"Error adding Member to Group: {ex.Message}";
    }

    return status;
}

1 Ответ

1 голос
/ 30 октября 2019

Я нашел решение. Я пытался добавить пользователей, которые уже существовали в группе. Проблема дублирующих пользователей вызвала ошибку 400 Bad Request

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...