Microsoft graph api 未找到与请求匹配的HTTP资源

Microsoft graph api 未找到与请求匹配的HTTP资源,microsoft-graph-api,onenote-api,Microsoft Graph Api,Onenote Api,我尝试使用Microsoft Graph替换页面内容,如下所示: MultipartFormDataContent form=new MultipartFormDataContent(); 添加(一些流内容); var formdatastream=form.ReadAsStreamAsync(); graphClient.Users[userPrincipalName] .Onenote .Pages[onenotepage.Id] .内容 .Request() .PutAsync(formd

我尝试使用Microsoft Graph替换
页面
内容,如下所示:

MultipartFormDataContent form=new MultipartFormDataContent();
添加(一些流内容);
var formdatastream=form.ReadAsStreamAsync();
graphClient.Users[userPrincipalName]
.Onenote
.Pages[onenotepage.Id]
.内容
.Request()
.PutAsync(formdatastream);
它返回
未找到与请求匹配的HTTP资源,这意味着它不接受
HTTP PUT
请求


显然,因此可能需要更改.Net库?

这是一个已知的问题,是服务定义和服务行为不匹配的结果


如果在中搜索“onenoteupdatepage”,则可以看到一种可能的解决方法,用于替换现有页面

要更新OneNote API,您需要触发如下修补程序请求:

PATCH https://graph.microsoft.com/v1.0/me/onenote/pages/{id}/content
{JSON PAYLOAD}

也许SDK不是这么做的?

(修改了评论)谢谢Dmitry,我做到了。甚至用多部分数据替换整个身体及其对象和图像都有效!幸运的是,即使更换主体本身也能起作用,尽管文档称它不受支持。请记住,API(在本例中,OneNote API与Microsoft Graph)之间有时存在细微差异。在某些情况下,它们可能会有显著的不同(即Azure AD Graph与Microsoft Graph),但通常它们是更细微的差异(一个是
POST
,另一个是
PUT
,不同的查询参数选项可用,等等)。