Sharepoint microsoft grap API:如何在不同站点上访问excel文件并执行编辑

Sharepoint microsoft grap API:如何在不同站点上访问excel文件并执行编辑,sharepoint,microsoft-graph-api,Sharepoint,Microsoft Graph Api,我正在尝试使用MicrosoftGraphAPI编辑excel文件,但我不完全确定如何使用MicrosoftGraph 我知道我想获取该文件的ID,但我不确定如何获取其他站点的文件 我要做的是列出所有站点,获取目标站点的ID,列出目标站点的文件,然后获取excel文件的ID。抱歉,我现在太不知所措了,无法确定需要使用哪些端点 我首先尝试在python中使用O365和其他一些ms graph包装包来执行此操作,但它们要么不完整,要么文档不太好 如果您能为我指出我需要使用的正确端点,这将对我有很大帮

我正在尝试使用MicrosoftGraphAPI编辑excel文件,但我不完全确定如何使用MicrosoftGraph

我知道我想获取该文件的ID,但我不确定如何获取其他站点的文件

我要做的是列出所有站点,获取目标站点的ID,列出目标站点的文件,然后获取excel文件的ID。抱歉,我现在太不知所措了,无法确定需要使用哪些端点

我首先尝试在python中使用O365和其他一些ms graph包装包来执行此操作,但它们要么不完整,要么文档不太好


如果您能为我指出我需要使用的正确端点,这将对我有很大帮助。

您可以尝试使用下面的调用获取租户中的所有站点

https://graph.microsoft.com/v1.0/sites?search=* 
你可以选择一个站点的id,如果你在文档库中有这个文件,你可以使用它

https://graph.microsoft.com/v1.0/sites/{site id}/drives/{Document library id}/root/children
通过提供正确的路径,您不仅可以在onedrive上创建工作簿会话,还可以在sharepoint上创建工作簿会话

由于您有文件id,可以使用下面的调用创建会话

{Path where the file is stored}/Items/{file id}/workbook/createSession
请求机构:

{
  "persistChanges": true
}

您可以尝试使用call
https://graph.microsoft.com/v1.0/sites?search=*
您可以为站点选择id,如果文档库中有该文件,则可以使用
https://graph.microsoft.com/v1.0/sites/{site id}/drives/{Document library id}/root/children
。请尝试一下,让我知道它是否有用。要获取文档库id或驱动器,请使用
https://graph.microsoft.com/v1.0/sites/{site id}/drives
感谢您的帮助@Shiva MSFTIdentity。我会试试看。嗨@Shiva MSFTIdentity我有一个后续问题。我现在可以获取要修改的excel文件的文件ID。现在我想我需要和它进行一次对话,对吗?我可以找到的端点是{drive item id}/workbook/createSession。但这似乎仅适用于文件位于我的驱动器上但文件位于其他驱动器上的情况。您也可以在sharepoint文件上使用它:)-请参阅下面的我的答案Hanks Shiva。是否有此端点的引用链接?{文件存储的路径}/Items/{file id}/workbook/createSession。我正在尝试使用它,但我不确定提交此请求时的确切语法以及负载应包含的内容。我目前正在postman中尝试,但我收到一个错误:CompactToken解析失败,错误代码为80049217。即使我发送了正确的访问令牌。我已经有了站点ID和文件ID,还有文档库ID,但我不确定API语法这里是http调用
https://graph.microsoft.com/v1.0/sites/soaadteam.sharepoint.com,c1178396-d845-46fa-bc0c-453D2951AD5,19ee9a1e-001d-48f1-9ee8-b0adfde54e45/驱动器/b!loMXwUXY-ka8DEU9KVHa1R6a7hkdAPFInuiwrf3lTkWmzNPKD2ILQLNdmX03mXTy/Items/01lpj34yruwmrb2nwncjm2ryoamgkug/workbook/createSession
并通过在POSTMAN中选择body中的JSON,给出我上面提到的请求体
{“persistChanges”:true}
。CompactToken错误是一个不正确的令牌问题。请使用图形资源管理器并尝试更正令牌问题。感谢您的帮助,Shiva我现在可以获取excel文件,并且我还尝试添加了新的工作表。但是,当我在ms graphs中测试它时,它说它找不到我正在处理的文件,但当我在Postman上尝试时,它确实按预期执行了它。