私は REST プログラミングが初めてで、Microsoft Graph API を使用して Office 365 グループを作成および更新しようとしていますが、両方の操作で 500 - 内部サーバー エラーの応答が返され、何が問題なのかを理解することはあまりありません。
新しいグループを作成するためのコードを簡略化したものを次に示します。
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\": \"somemail@tenantname.com\"," +
"\"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
}
}
}
}
}
リクエストとレスポンスメッセージは次のとおりです。
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
}
}
ここで、人々が統一されたグループを作成することに成功した 2 つの投稿を見たので、コード内で見つけられないものであると推測しています。他の誰かが同じエラーを経験しましたか?