DriveItem ID在项ID中有感叹号,无法使用microsoft graph api从onedrive中存储的工作簿中检索工作表

时间:2017-05-31 06:46:26

标签: office365 microsoft-graph office365api onedrive

无法通过microsoft graph API从onedrive中存储的工作簿中检索工作表列表。

以下API提供了我的ondrive帐户上的工作簿列表 https://graph.microsoft.com/v1.0/me/drive/root/search(q='.xlsx')?select=name,id,webUrl

返回

{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(driveItem)",
"value": [
    {
        "@odata.type": "#microsoft.graph.driveItem",
        "name": "OnlineArticle.xlsx",
        "id": "7CFB16EE6D5730EF!53780",
        "webUrl": "https://1drv.ms/x/s!AO8wV23uFvt8g6QU"
    }]}

但是当我们尝试使用以下API从此工作簿中获取工作表时 即 https://graph.microsoft.com/v1.0/me/drive/items/7CFB16EE6D5730EF!53780/workbook/worksheets

我们收到以下错误

{
"error": {
    "code": "ResourceNotFound",
    "message": "Resource not found.",
    "innerError": {
        "request-id": "123139d9-bf93-46ab-8e2a-c139f7b4996f",
        "date": "2017-05-31T06:42:05"
    }
}}

我们有消费者帐户和驱动器项的ID有'!'分隔器。如果有任何可以帮助我们使用微软图表从我们的工作簿中检索我们的消费者服务帐户即office 365家庭订阅,我们将不胜感激。

1 个答案:

答案 0 :(得分:2)

目前Graph的Excel APIs仅支持Office 365帐户(OneDrive for Business,群组驱动器等)。

根据此处的ID,这看起来像消费者OneDrive(消费者驱动器在ID中包含!),这就是API失败的原因。消费者OneDrive支持应该很快就会进入 beta 端点。但是目前不支持此方案。