Невозможно создать ListItems с «Объектами», используя Microsoft Graph Api - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь создать элемент списка SharePoint с помощью Microsoft Graph .

Методы, которые я использую для POST / PATCH ListItems, работают, если я не применю эти методы к списку, который содержит объекты (например, группы, пользователей или даже изображения).

В моих примерах я буду публиковать, исправлять или получать от /beta/sites/root/lists/1231231231234/items/4/fields.

SharePoint ListItem

{
  "@odata.context":
    "https://graph.microsoft.com/beta/$metadata#sites('root')/lists('1234123412341234')/items('4')/fields/$entity",
  "@odata.etag": "\"123412341234,18\"",
  "Title": "Test Title",
  "description": "Some random description",
  "assignedGroups": [
    {
      "LookupId": 7818,
      "LookupValue": "7818",
      "Email": "DemoGroep@12341234.onmicrosoft.com"
    },
    {
      "LookupId": 7822,
      "LookupValue": "7822",
      "Email": "TestDemo@12341234.onmicrosoft.com"
    }
  ],
  "startDate": "2018-05-15T07:00:00Z",
  "endDate": "2018-08-18T07:00:00Z",
  "alwaysAvailable": false,
  "id": "4",
  "ContentType": "Item",
  "Modified": "2018-05-17T13:27:21Z",
  "Created": "2018-04-03T09:34:49Z",
  "AuthorLookupId": "7688",
  "EditorLookupId": "5222",
  "_UIVersionString": "1.0",
  "Attachments": false,
  "Edit": "",
  "LinkTitleNoMenu": "Test123123",
  "LinkTitle": "Test123123",
  "ItemChildCount": "0",
  "FolderChildCount": "0",
  "_ComplianceFlags": "",
  "_ComplianceTag": "",
  "_ComplianceTagWrittenTime": "",
  "_ComplianceTagUserId": "",
  "AppEditorLookupId": "25"
}

Рабочий пример (Примечание. Это работает, потому что я обновляю простое поле, например «Заголовок» типа String)

{
   Title: "SomeNewTitle"
}

Не работает Пример (возвращает 400 'The request is malformed or incorrect.')

{
  assignedGroups: [{"Email": "Test1003@12341234o.onmicrosoft.com"}]
}

Я пробовал несколько типов объектов здесь, но это никогда не работает .. даже пустые массивы (для очистки членства в группах) возвращают 400 статус.

У меня такое ощущение, что это ограничение / ошибка в Graph API

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

К сожалению, это известная проблема с Microsoft Graph SharePoint API.Существует UserVoice запрос, чтобы исправить это , он может абсолютно использовать больше голосов.

0 голосов
/ 17 мая 2018

Попробуйте тело патча следующим образом:

//PATCH
{
  assignedGroups: {"Email": "Test1003@StichtingNuovo.onmicrosoft.com"}
}

Потому что в listItem он возвращает массив assignedGroups, а вы обновляете только один. Если вам нужно обновить несколько, я считаю, что вызов будет:

//PATCH
{
  assignedGroups: [{"Email": "Test1003@StichtingNuovo.onmicrosoft.com"},
                   {"Email": "AnotherEmail@microsoft.com"}
                  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...