首页 文章

使用微软图访问共享到所有onedrive工作表

提问于
浏览
0

我的(第一个)Android应用程序运行得相当不错,但我留下了一个非常重要的问题,我想解决好几天了

我试图使用Graph从另一个帐户访问我的OneDrive中的Excel文档 . 该文件通过共享链接声明为所有文件 .

我正在使用下一个GET来检索文件

https://graph.microsoft.com/v1.0/drives/MY_DRIVE/MY_EXCEL_FILE/workbook/worksheets/Data/tables/TableData/rows

唯一的问题是该文件必须位于用户共享文件夹中,出于安全原因我希望避免使用该文件夹 .

我正在使用onedrive进行业务,但如果这是一个问题,我可以使用个人帐户,但应用程序的用户必须使用业务,因为我只授予对某个组织的访问权限 .

[UPDATE Sep-27 2018]

关于文件应该不需要在共享文件夹中,以下是我认为这个的原因(我希望我错了):

  • 在我的业务onedrive帐户中,我将该文件作为公共共享并检索共享链接:
https://MY_ORGANIZATION.sharepoint.com/:x:/g/personal/MY_USER/Eabkxa2md3JEsW0qQEuYRK4BKnnnHeJqNuspeZ6TEdkWsQ
  • 我进入Graph Explorer并运行命令以检索与excel JSON相同的文件:
https://graph.microsoft.com/v1.0/drives/MY_DRIVE/MY_EXCEL_FILE/workbook/worksheets/Data/tables/TableData/rows
  • 图形浏览器回复 HTTP 200 和正确的JSON(如上所述,在我的Android应用程序上也正常工作) .

  • 我从Graph Explorer和OneDrive注销,确保共享链接仍然有效 .

  • 我使用不同的帐户(同一组织)连接Graph Explorer并运行相同的命令来检索excel JSON:

https://graph.microsoft.com/v1.0/drives/MY_DRIVE/MY_EXCEL_FILE/workbook/worksheets/Data/tables/TableData/rows
  • 这次我得到“失败 - 状态码404”:
{
    "error": {
        "code": "itemNotFound",
        "message": "The resource could not be found.",
        "innerError": {
            "request-id": "6d095277-fa07-40ba-bfcb-c93e96660fdc",
            "date": "2018-09-27T15:43:28"
        }
    }
}
  • 如果我使用浏览器进入共享链接,该文件将显示在共享列表中(在浏览器的“Recent”和“Discover”文件夹下方):
https://MY_ORGANIZATION.sharepoint.com/:x:/g/personal/MY_USER/Eabkxa2md3JEsW0qQEuYRK4BKnnnHeJqNuspeZ6TEdkWsQ
  • 当我返回Graph Explorer并再次运行命令时,我收到 HTTP 200 响应 .
https://graph.microsoft.com/v1.0/drives/MY_DRIVE/MY_EXCEL_FILE/workbook/worksheets/Data/tables/TableData/rows

我的结论是文件必须在共享文件夹中 . 如果我错过了什么,请纠正我 .

ps:在第二个帐户的“共享”文件夹中显示文件后,查看OneDrive“管理访问”,我现在看到第二个帐户的inisitals . 这可能表示正式访问和共享文件 . 从他的共享文件夹中删除文件,保留其首字母和来自Graph explorer的正确响应 . 仅取消共享链接似乎取消了共享 .

[UPDATE Sep-27 2018 - 2]

自从Marc先生发表另一条评论后,我稍微修改了一下这个问题,并想指出我也尝试使用我的实际共享链接进行下一个链接 . 在获得实际的Excel时,这有类似的响应(不确定确切的错误代码)其他问题 .

Accessing shared DriveItems

1 回答

  • 1

    您需要将链接发送给用户或将邀请邮件发送给用户,这两种都是推荐的方式 .

    如果文件包含敏感信息,则需要将内容与原始文件隔离,以便符合GDPR . 目前,共享是针对项目/文件级别而不是工作表/ excel-rows级别 .

    您可以使用createLink操作通过共享链接共享DriveItem .

相关问题