我正在寻找连接到Microsoft Graph API并与我的OneDrive上的小型Excel工作簿进行交互 .
我能够通过Graph API成功授权和连接到OneDrive,查询我的个人OneDrive内容,我甚至可以找到.xlsx工作簿并获取其ID . 对此 endpoints 的 GET
请求成功:
https://graph.microsoft.com/v1.0/me/drive/recent
对上述 GET
请求的响应包括(省略了一些数据):
{createdDateTime: "2017-12-13T04:24:57Z", lastModifiedDateTime: "2017-12-13T04:26:09Z"}
id:"{id}"
name:"transactions.xlsx"
但是,通过图形API调用连接到此"transactions.xlsx"工作簿似乎在我的Web应用程序中很难 . 例如, GET
请求:
https://graph.microsoft.com/v1.0/me/drive/items/{id}/workbook/worksheets('Sheet1')/usedRange
通过Graph Explorer成功返回工作簿数据 . 但只是将API调用粘贴到我的应用程序然后失败:
{
"error": {
"code": "itemNotFound",
"message": "The resource could not be found.",
"innerError": {
"request-id": "7716493f-cc32-413e-b4fa-5855df7ad181",
"date": "2017-12-13T14:54:43"
}
}
}
关于允许我的OneDrive查询通过但是Excel查询声明 item not found
的Graph API调用,我缺少什么?
这是一个商业Microsoft Graph / O365帐户
2 回答
您可以尝试使用Excel REST的一个入门项目来查看是否可以获得所需的结果吗?
https://github.com/microsoftgraph?utf8=%E2%9C%93&q=excelstarter
.您为
GET /me/drive/recent
显示的响应非常有限 . 您的结果是否有remoteItem条目?如果是这种情况,您需要使用不同的URL来获取transaction.xlsx文件 .
来自:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/drive_recent#remarks
如果不是这种情况,您还可以使用以下请求来查找文件夹结构:
使用上述查询的结果,您可以使用它来检索文件夹的内容:
知道确切位置后,可以使用以下方法检索工作簿:
显然,如果你已经知道了可以直接进入最后一步的路径:-)