2015-12-06 6 views
-2

Je suis nouveau à la programmation REST et j'essaie d'utiliser l'API Microsoft Graph pour créer et mettre à jour les groupes Office 365, mais pour les deux opérations, je reçois un 500 - Internal Réponse d'erreur du serveur ne dit pas beaucoup de comprendre ce qui ne va pas.Créer et mettre à jour le groupe avec Microsoft Graph renvoie 500 - Erreur serveur interne

Voici une simplification du code pour créer un nouveau groupe:

public async Task<Group> CreateGroup() 
{ 
    string accessToken = GetAccessToken(); // method for getting the Graph token 

    string newGroup = "{" + 
          "\"group\": " + 
          "{" + 
           "\"description\": \"description-value\"," + 
           "\"displayName\": \"displayName-value\"," + 
           "\"groupTypes\": [" + 
            "\"Unified\"" + 
           "]," + 
           "\"mail\": \"[email protected]\"," + 
           "\"mailEnabled\": true," + 
           "\"mailNickname\": \"mailNickname-value\"," + 
           "\"securityEnabled\": \"false\"" + 
          "}" + 
         "}"; 

    using (var client = new HttpClient()) 
    { 
     using (var request = new HttpRequestMessage(HttpMethod.Post, https://graph.microsoft.com/v1.0/groups)) 
     { 
      request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); 

      request.Content = new StringContent(JsonConvert.SerializeObject(newGroup), Encoding.UTF8, "application/json"); 

      using (HttpResponseMessage response = await client.SendAsync(request)) 
      { 
       if (response.IsSuccessStatusCode) 
       { 
        // parse and return content 
       } 
       else 
       { 
        // handle error 
       } 
      } 
     } 
    } 
} 

et voici la demande et le message de réponse:

RequestMessage {Method: POST, RequestUri: 'https://graph.microsoft.com/v1.0/groups', Version: 1.1, Content: System.Net.Http.StringContent, Headers: 
{ 
    Authorization: Bearer XXX... 
    Content-Type: application/json; charset=utf-8 
    Content-Length: 243 
}} 


ResponseMessage {StatusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, Content: System.Net.Http.StreamContent, 
    Headers: 
    { 
     Transfer-Encoding: chunked 
     request-id: xxxx-... 
     client-request-id: xxxx-... 
     x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"SliceA","ScaleUnit":"001","Host":"AGSFE_IN_1","ADSiteName":"AMS"}} 
     Cache-Control: private 
     Date: Sun, 06 Dec 2015 12:51:26 GMT 
     Server: Microsoft-IIS/8.5 
     X-Powered-By: ASP.NET 
     Content-Type: application/json; charset=utf-8 
    } 
} 

Je l'ai vu deux postes ici où les gens ont réussi à créer des groupes unifiés, donc je devine qu'il quelque chose dans le code que je ne peux pas trouver. Est-ce que quelqu'un d'autre a connu la même erreur?

Répondre

1

La requête ne doit pas avoir toutes les propriétés de groupe enveloppées dans un élément "groupe". Un échantillon de charge utile de demande correcte serait:

{ 
    "description": "description-value", 
    "displayName": "displayName-value", 
    "groupTypes": [ 
     "Unified" 
    ], 
    "mailEnabled": true, 
    "mailNickname": "mailNickname-value", 
    "securityEnabled": false 
} 

J'ai créé https://github.com/OfficeDev/microsoft-graph-docs/issues/65 pour corriger l'échantillon utilisé dans la documentation.