我们正在使用下面的 Graph 端点创建一个 OneNote 页面。此页面的 HTML 内容中存在几个 id 属性。
POST .. groups/{group-id}/onenote/sections/{section-id}/pages
为了再次获取 OneNote 页面内容,我们使用了下图端点。
GET ..groups/{group-id}/onenote/pages/{page-id}/content?includeIds=true
对于我们的一位客户,当我们获取页面内容时,我们看不到我们在创建页面时添加的那些 id 属性。其他客户不会遇到此问题。
在它开始返回没有 id 属性的页面内容之前,我们检查了我们没有在该页面上修补任何内容。
在调试中,我们注意到如果我们创建一个 OneNote 页面并立即获取页面内容,我们会获取 ID,但如果我们稍后再做,则不会。
以下是该页面内容的最新获取请求的详细信息。
curl $'https://graph.microsoft.com/v1.0/groups/e07ccbcc-3464-4777-aa3a-466cc0db328c/onenote/pages/1-1ea50c06f867479a84ffa6a1f3710e0d\u002157-7b03c43d-87ff-4692-8664-d3a42822b7ed/content?includeIds=true' \
-H 'Connection: keep-alive' \
-H 'Cache-Control: no-cache' \
-H 'sec-ch-ua: "Chromium";v="92", " Not A;Brand";v="99", "Microsoft Edge";v="92"' \
-H 'Pragma: no-cache' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'Authorization: Bearer
-H 'client-request-id: 95a44839-0407-4fe7-b497-294c9375ea1f' \
-H 'Accept: application/json, text/plain, */*' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 Edg/92.0.902.84' \
-H 'If-Modified-Since: Mon: 26 Jul 1997 05:00:00 GMT' \
-H 'Origin: https://app.boarddecisions.com' \
-H 'Sec-Fetch-Site: cross-site' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H 'Referer: https://app.boarddecisions.com/' \
-H 'Accept-Language: en-GB,en;q=0.9,en-US;q=0.8' \
--compressed
有关 id 的其他详细信息 -
在 OneNote 页面内容中,对于不同的表格元素,我们都有 id 属性。例子 -
<table border="1" data-type="tasks" id="meetingDecisionsTable" style="width:1080px">
......
</table>
我们通常在 data-id 属性中获取这些 ID,如下所示。
对于一个特定的客户,我们没有在页面内容中获得任何 data-id 属性。我们无法在客户环境之外重现此问题。因此,应该使用上面提供的请求 id 对其进行跟踪。