OneNote 使用 Microsoft Graph 在 Laravel 中创建页面时出错

OneNote error creating a page in Laravel using Microsoft Graph

我在 Laravel 应用程序中使用 Microsoft Graph。
它完美地添加事件到用户的日历、获取事件、创建 OneNote 的笔记本。

当我尝试添加页面时出现问题,出现下一个错误:
我使用的代码是:

public function createNewNote()
    {
        $graph = $this->getGraph();

        // Build the event
            $newEvent = [
                'body' => [
                    'content' => 'New page in default notebook',
                    'contentType' => 'text/html'
                ]
            ];
            // POST /me/onenote/notebooks DEFAULT NOTEBOOK
            $response = $graph->createRequest('POST', '/me/onenote/pages')
                ->attachBody($newEvent)
                ->setReturnType(Model\Notebook::class)
                ->execute();
            dd("Success");
//            return redirect('/calendar');
    }

下一个代码可以正常工作:

public function createNewNotebook()
    {
        $graph = $this->getGraph();
        
            $newEvent = [
                'displayName' => 'Creating new notebook'
            ];
            // POST /me/onenote/notebooks DEFAULT NOTEBOOK
            $response = $graph->createRequest('POST', '/me/onenote/notebooks')
                ->attachBody($newEvent)
                ->setReturnType(Model\Notebook::class)
                ->execute();
            dd("Notebook Created");
//            return redirect('/calendar');
    }

我找不到正文的确切数组或 json 结构。我究竟做错了什么?我也试过直接设置文本:
public function createNewNote()
    {
        $graph = $this->getGraph();
            // POST /me/onenote/notebooks DEFAULT NOTEBOOK
            $response = $graph->createRequest('POST', '/me/onenote/pages')
                ->attachBody('<div>Content</div>')
                ->setReturnType(Model\Notebook::class)
                ->execute();
            dd("Success");
//            return redirect('/calendar');
    }

并收到此错误:
[![在此处输入图片描述][1]][2]
正如我所说,我可以创建事件(日历)和笔记本(onenote),但我不能添加带有简单 html 或文本的页面。

非常感谢您的帮助!

document 中所指定,因为您直接将 HTML 数据放入 attachBody 中,而没有指定内容类型。

这就是其他 API 调用正常工作的原因,因为它们正确指定了 JSON 数据。

正如此处在 example 中指定的那样,他们指定了内容类型。

我已经用 POSTMAN 进行了相同的测试,如下所示,您可以看到我提到的内容类型 text/html,因为我们提供的内容是 div 标签并且它有效。