Я пытаюсь создать пакетный запрос для добавления пользователя в качестве члена нескольких групп O365.Я пытаюсь создать JSON с помощью powershell.И отправьте запрос с помощью модуля PSMSGraph.
foreach($AGM in $GraphUser.AddGuestMember){
$myRequest = [pscustomobject][ordered]@{
id = $requestID
method = "POST"
url = "/groups/$AGM/members/`$ref"
body = "@odata.idhttps://graph.microsoft.com/v1.0/users/$($GraphUser.GId)"
}
$myBatchRequests += $myRequest
$IDs += $requestID
$requestID ++
}
Я использую следующий цикл для добавления запросов в массив.После заполнения массива я конвертирую его в JSON.
{
"requests": [
{
"id": 0,
"method": "POST",
"url": "/groups/be03ed64-639a-4620-b8a4-a025df70d131/members/$ref",
"body": "@odata.id:https://graph.microsoft.com/v1.0/users/c9fc90c3-8eaf-43f2-a27f-d8176e893635"
},
{
"id": 1,
"method": "POST",
"url": "/groups/58389709-0176-4da9-93c9-05eb797fc32a/members/$ref",
"body": "@odata.id:https://graph.microsoft.com/v1.0/users/c9fc90c3-8eaf-43f2-a27f-d8176e893635"
}
]
}
При отправке запроса у меня возникает следующая ошибка:
Invoke-GraphRequest: Невозможно запросить Uri 'https://graph.microsoft.com/v1.0/$batch': Удаленный сервер возвратил ошибку: (400) Неверный запрос .: {"error": {"code": "BadRequest", "message": "Идентификатор запроса на запись: 0 не содержит Content-Typeheader или body. "," innerError ": {" request-id ":" fdd0362b-c850-4f9f-b1a8-0020f60a1801 "," date ":" 2019-02-21T14: 51: 06 "}}}
Скорее всего, тело деформировано.Любые идеи, как я могу создать тело в правильном формате для запроса BATCH?
Спасибо!