Onenote API создать страницу - PullRequest
       7

Onenote API создать страницу

0 голосов
/ 28 февраля 2019

Я пытаюсь создать новые страницы с помощью API OneNote.Я следую учебник Microsoft и документация .

Кажется, что header () не работает.

graph-tutorial \graph.js:

createPage: async function(sectionID, content, accessToken) {
  const client = getAuthenticatedClient(accessToken);

  console.log('DEBUG:', '[Creating Pages]', sectionID);
  const res = await client
    .api(`/me/onenote/sections/${sectionID}/pages`)
    .header({
      'Content-type': 'application/xhtml+xml'
    })
    .post(content);

  return res;
}

route \ onenote.js:

let content = 
        `<!DOCTYPE html>
        <html>
          <head>
            <title>${subject}</title>
            <meta name="created" content="${creationDate}" />
          </head>
          <body>
            ${description}
          </body>
        </html>`

        let page = await graph.createPage(section.id, content, accessToken);

Ошибка:

{ statusCode: 400,
  code: 'BadRequest',
  message: 'Unable to read JSON request payload. Please ensure Content-Type header is set and payload is of valid JSON format.'
  .... }

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Метод header принимает два строковых параметра («Ключ» и «Значение»).Из образца SDK :

client
    .api('/me')
    .header("content-type", "application/json")
    .update({
        "birthday": "1908-12-22T00:00:00Z"
    })
    .then((res) => {
        console.log("Updated my birthday");
    })
    .catch((err) => {
        console.log(err);
    });

В вашем случае вы хотите:

const res = await client
  .api(`/me/onenote/sections/${sectionID}/pages`)
  .header('Content-type', 'application/xhtml+xml')
  .post(content);
0 голосов
/ 28 февраля 2019

Тип содержимого должен быть Тип содержимого с большой буквы «T» в типе.

...