Создание страниц на сайте sharepoint с графикой Microsoft - PullRequest
0 голосов
/ 04 января 2019

В настоящее время я пытаюсь создать страницу на недавно созданном сайте с некоторыми фиктивными данными. Согласно https://docs.microsoft.com/en-us/graph/api/sitepage-create?view=graph-rest-beta должно быть возможно создать страницу с использованием json, например:

POST https://graph.microsoft.com/beta/sites/tenant.sharepoint.com%2Cee2667f8-2bae-460e-944b-613773baaa03%2C8c0054a6-6e0e-49cd-be6d-4c4c0aaf644e/pages HTTP/1.1
Authorization: Bearer <token>
User-Agent: Java-Client
Accept-Encoding: gzip,deflate
Accept: application/json, text/json
Content-Type: application/json; charset=UTF-8
Host: graph.microsoft.com
Connection: keep-alive
Content-Length: 167

{"name":"Testpage21.aspx","publishingState":{"level":"published","versionId":"0.1"},"title":"Testpage21","webParts":[{"type":"rte","innerHTML":"<h1>Hello!</h1>"}]}

как видите, ничего особенного. К сожалению, при выдаче этого запроса я получаю следующее сообщение об ошибке:

HTTP/1.1 500 Internal Server Error
Cache-Control: private
Content-Type: application/json
request-id: 1dba7669-1318-488a-a416-63fddbdfcda1
client-request-id: 1dba7669-1318-488a-a416-63fddbdfcda1
Duration: 833.8091
Strict-Transport-Security: max-age=31536000
Date: Fri, 04 Jan 2019 15:13:15 GMT
Content-Length: 236

{
  "error": {
    "code": "generalException",
    "message": "General exception while processing",
    "innerError": {
      "request-id": "1dba7669-1318-488a-a416-63fddbdfcda1",
      "date": "2019-01-04T15:13:16"
    }
  }
}

Когда я удаляю свойство webparts из моих начальных запросов, POST завершается успешно, я получаю такой ответ:

{"@odata.context":"https://graph.microsoft.com/beta/$metadata#sites('tenant.com%2Cee2667f8-2bae-460e-944b-613773baaa03%2C8c0054a6-6e0e-49cd-be6d-4c4c0aaf644e')/pages/$entity","eTag":"\"{DA2C2C0C-2222-4F11-917E-7B4BBFE8AC99},3\"","id":"da2c2c0c-2222-4f11-917e-7b4bbfe8ac99","lastModifiedDateTime":"2019-01-04T15:08:12Z","name":"Testpagina2.aspx","webUrl":"SitePages/Testpagina2.aspx","title":"Testpagina2","pageLayout":"Article","parentReference":{"siteId":"ee2667f8-2bae-460e-944b-613773baaa03"},"contentType":{"id":"0x0101009D1CB255DA76424F860D91F20E6C411800A19AB965C0D2B54C82DFCC03DBE6A732","name":"Sitepagina"},"publishingState":{"level":"checkout","versionId":"0.1"}}

Но, конечно же, я хотел бы добавить хотя бы некоторое содержимое (html) на страницу, прежде чем опубликовать его.

Может кто-нибудь сказать мне, если создание страниц с использованием Graph еще не полностью функционально? Или что я что-то упустил.

p.s. какие веб-части доступны?

1 Ответ

0 голосов
/ 08 января 2019

К сожалению, в наших документах есть ошибка (назначенная для исправления), свойство «innerHTML» должно быть заключено в свойство «data», как и свойства других веб-частей. Вот как должна выглядеть ваша полезная нагрузка:

{
  "name":"Testpage21.aspx",
  "publishingState":{"level":"published","versionId":"0.1"},
  "title":"Testpage21",
  "webParts": [{
      "type":"rte",
      "data": {
        "innerHTML":"<h1>Hello!</h1>"
      }
  }]
}

С точки зрения того, какие веб-части доступны, любая часть должна работать, но мы не задокументировали структуры данных, связанные с ними, для текущей бета-версии. Как правило, это делает API наиболее полезным с вашими собственными веб-частями, где вы уже знаете, какие свойства вам нужно иметь в блоке данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...