MS Graph API возвращает 400 неверных запросов - PullRequest
0 голосов
/ 07 апреля 2020

Я использую HttpClient для вызова Microsoft Graph и создания новой команды. Я использую бета-версию.

string TeamsName = objTeam.TeamsName.ToString();
string TeamsDescription = objTeam.TeamsDescription.ToString();

var objJson = new CreateTeamsJson
{
    templateodatabind = "https://graph.microsoft.com/beta/teamsTemplates(\'educationClass\')",
    displayName = TeamsName,
    description = TeamsDescription

};

var json = JsonConvert.SerializeObject(objJson, jsonSettings);
var modifiedjson = json.Replace("templateodatabind", "template@odata.bind");
StringContent postContent = new StringContent(modifiedjson, UnicodeEncoding.UTF8, "application/json");
if (!string.IsNullOrEmpty(TeamsName))
{

    TokenHelper tokenHelper = new TokenHelper();

    TokenResponse tokenResponse = tokenHelper.GetTokenAsync().Result;

    using(HttpClient httpClient = new HttpClient())
    {
        var request = new HttpRequestMessage(HttpMethod.Post, "https://graph.microsoft.com/beta/teams");
        request.Headers.Authorization = new AuthenticationHeaderValue("bearer", tokenResponse.access_token);
        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        request.Content = postContent;

        var response = httpClient.SendAsync(request).Result;
        var createdTeamDetails = response.Headers.Location;
        if (response.IsSuccessStatusCode)
        {
            responseMessage = string.Format("Successfully created team - details: '{0}'", createdTeamDetails);
        }
        else
        {
            responseMessage = "ERROR: Failed to create Team.";
        }
    }

}
else
{
    log.Info("Please provide Teams Name");
    responseMessage = "Please provide Teams Name";
    IsError = true;
}

Когда я запускаю код, я получаю 400 - Bad Rrequest в следующей строке:

var response = httpClient.SendAsync(request).Result;

Я пробовал ту же конечную точку и ту же JSON тело запроса в Graph Explorer, и я мог успешно создавать команды. Кто-нибудь может мне помочь?

...