MS Graph API从driveItem访问工作簿

时间:2019-07-12 00:55:25

标签: node.js excel microsoft-graph

我编写了一些代码,可以成功访问共享站点上的excel电子表格。我是通过在图资源管理器中找到driveid来实现的,然后浏览找到工作簿项和工作表。

现在我需要做同样的事情,但是我无法使用Graph Explorer查找驱动器ID,因此我知道我可以使用https://www.techmikael.com/2018/07/using-microsoft-graph-to-get-pdf.html

中显示的方法来生成驱动器ID。

(旁注,我的同一代码的node.js版本位于https://glitch.com/~ultra-sloop

从此URL:

https://alphaindigo.sharepoint.com/:x:/r/_layouts/15/Doc.aspx?sourcedoc=%7B1F4C6E80-0A55-4717-8D8D-19382F8E3C69%7D&file=Buddies.xlsx&action=default&mobileredirect=true

我生成了这个。

https://graph.microsoft.com/v1.0/shares/u!aHR0cHM6Ly9hbHBoYWluZGlnby5zaGFyZXBvaW50LmNvbS86eDovci9fbGF5b3V0cy8xNS9Eb2MuYXNweD9zb3VyY2Vkb2M9JTdCMUY0QzZFODAtMEE1NS00NzE3LThEOEQtMTkzODJGOEUzQzY5JTdE/driveitem

当我在Graph Explorer中运行它作为测试时,它为我提供了driveItem的详细信息,如下所示:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#shares('u%21aHR0cHM6Ly9hbHBoYWluZGlnby5zaGFyZXBvaW50LmNvbS86eDovci9fbGF5b3V0cy8xNS9Eb2MuYXNweD9zb3VyY2Vkb2M9JTdCMUY0QzZFODAtMEE1NS00NzE3LThEOEQtMTkzODJGOEUzQzY5JTdE')/driveItem/$entity",
    "@microsoft.graph.downloadUrl": "https://alphaindigo.sharepoint.com/_layouts/15/download.aspx?UniqueId=1f4c6e80-0a55-4717-8d8d-19382f8e3c69&Translate=false&tempauth=eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJhdWQiOiIwMDAwMDAwMy0wMDAwLTBmZjEtY2UwMC0wMDAwMDAwMDAwMDAvYWxwaGFpbmRpZ28uc2hhcmVwb2ludC5jb21AMGQ3NTY1NzUtMjgwOC00NmE1LWIyYmEtMDFlZTgzZmIwZTEzIiwiaXNzIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwIiwibmJmIjoiMTU2Mjg5MzAyNSIsImV4cCI6IjE1NjI4OTY2MjUiLCJlbmRwb2ludHVybCI6InNzeDk3QjhPRk1mTXVTS1NyK2M5dFpITWtsdi9yR1BUbWdEL2hnSlhDVTQ9IiwiZW5kcG9pbnR1cmxMZW5ndGgiOiIxMjIiLCJpc2xvb3BiYWNrIjoiVHJ1ZSIsImNpZCI6Ik5qWTNPRFl4WTJNdE4yWXpNeTAwWTJFd0xUbGhaV1l0WkRnM05ERXpOV05sTW1GaSIsInZlciI6Imhhc2hlZHByb29mdG9rZW4iLCJzaXRlaWQiOiJORGM1TURWaE4yUXRObUl5TXkwME5EUTRMV0ZtWkdRdE5UVTJZamcwWlRNNFpUSmoiLCJhcHBfZGlzcGxheW5hbWUiOiJHcmFwaCBleHBsb3JlciIsInNpZ25pbl9zdGF0ZSI6IltcImttc2lcIl0iLCJhcHBpZCI6ImRlOGJjOGI1LWQ5ZjktNDhiMS1hOGFkLWI3NDhkYTcyNTA2NCIsInRpZCI6IjBkNzU2NTc1LTI4MDgtNDZhNS1iMmJhLTAxZWU4M2ZiMGUxMyIsInVwbiI6ImRvdWdAYWxwaGFpbmRpZ28ub25taWNyb3NvZnQuY29tIiwicHVpZCI6IjEwMDMyMDAwNDZDREY4QzQiLCJjYWNoZWtleSI6IjBoLmZ8bWVtYmVyc2hpcHwxMDAzMjAwMDQ2Y2RmOGM0QGxpdmUuY29tIiwic2NwIjoibXlmaWxlcy5yZWFkIGFsbGZpbGVzLnJlYWQgbXlmaWxlcy53cml0ZSBhbGxmaWxlcy53cml0ZSBhbGxzaXRlcy5yZWFkIGFsbHNpdGVzLndyaXRlIiwidHQiOiIyIiwidXNlUGVyc2lzdGVudENvb2tpZSI6bnVsbH0.L2t4YmRDQlpwS2dGMjIvdmxoVFA5ZXA0Qyt0b3VWWE9rb0h1UTJzcFVHRT0&ApiVersion=2.0",
    "createdDateTime": "2019-05-05T04:52:56Z",
    "eTag": "\"{1F4C6E80-0A55-4717-8D8D-19382F8E3C69},688\"",
    "id": "01FQPFGAEANZGB6VIKC5DY3DIZHAXY4PDJ",
    "lastModifiedDateTime": "2019-06-29T02:24:23Z",
    "name": "Buddies.xlsx",
    "webUrl": "https://alphaindigo.sharepoint.com/_layouts/15/Doc.aspx?sourcedoc=%7B1F4C6E80-0A55-4717-8D8D-19382F8E3C69%7D&file=Buddies.xlsx&action=default&mobileredirect=true",
    "cTag": "\"c:{1F4C6E80-0A55-4717-8D8D-19382F8E3C69},690\"",
    "size": 31938,
    "createdBy": {
    etc etc...

但是当我将/ workbook / worksheet / file-name附加到末尾

https://graph.microsoft.com/v1.0/shares/u!aHR0cHM6Ly9hbHBoYWluZGlnby5zaGFyZXBvaW50LmNvbS86eDovci9fbGF5b3V0cy8xNS9Eb2MuYXNweD9zb3VyY2Vkb2M9JTdCMUY0QzZFODAtMEE1NS00NzE3LThEOEQtMTkzODJGOEUzQzY5JTdE/driveitem/workbook/worksheets('Sheet1')/ range(address ='A1:D4')

我收到此错误:

    "error": {
        "code": "InternalServerError",
        "message": "Unable to find target address",
        "innerError": {
            "request-id": "5bea4b7f-91d9-4ba6-a26f-7964a4122a0a",
            "date": "2019-07-12T00:36:16"
        }
    }
}

如果我从那里退后一步,请使用以下命令删除工作表名称和范围: https://graph.microsoft.com/v1.0/shares/u!aHR0cHM6Ly9hbHBoYWluZGlnby5zaGFyZXBvaW50LmNvbS86eDovci9fbGF5b3V0cy8xNS9Eb2MuYXNweD9zb3VyY2Vkb2M9JTdCMUY0QzZFODAtMEE1NS00NzE3LThEOEQtMTkzODJGOEUzQzY5JTdE/driveitem/workbook

我遇到同样的错误

一个类似的问题已经列出,在  Pulling Excel.xlsx workbook from Sharepoint site using Microsoft Graph API

但是因为我已经有了driveItem而不是listItem,所以它不能回答我的问题。

0 个答案:

没有答案