【问题标题】:How to get the Item id from a one drive url如何从 onedrive url 获取项目 ID
【发布时间】:2023-02-22 14:59:23
【问题描述】:

我正在以编程方式尝试从节点 js 访问一个驱动器文件(excel)。这是没有用户界面的服务器端访问(如 cron 活动)。

从文档中我了解到将使用与此类似的代码

...
const driveItemId = "<drive-item-id>";
const range = "Sheet1!A1:B2";

const response = await graphClient.api(`/drives/${driveItemId}/items/${driveItemId}/workbook/worksheets('Sheet1')/range(address='${range}')?$select=values`).get();

const values = response.values;
console.log(values);

...

在一个驱动器中,当我打开 Excel 工作表时,我注意到以下是 URL

https://onedrive.live.com/edit.aspx?resid=<resid-value>&cid=<cid-value>&CT=<ct-value>&OR=ItemsView

问题是:我如何使用它来获取项目 ID

谢谢

【问题讨论】:

    标签: microsoft-graph-api onedrive


    【解决方案1】:

    您可以使用 Microsoft Graph API 来搜索项目

    const graph = require('@microsoft/microsoft-graph-client');
    const client = graph.Client.init({
      authProvider: (done) => {
        done(null, '<access-token>');
      }
    });
    
    const url = 'https://onedrive.live.com/edit.aspx?resid=<resid-value>&cid=<cid-value>&CT=<ct-value>&OR=ItemsView';
    
    client.api('/me/drive/root/search(q='file:' + url + '')').get((err, res) => {
      if (err) {
        console.error(err);
      } else {
        const item = res.value[0];
        const itemId = item.id;
        console.log('Item ID:', itemId);
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-13
      • 2014-04-08
      • 2023-03-09
      • 2022-01-20
      • 2015-10-23
      • 1970-01-01
      相关资源
      最近更新 更多