我有一个使用OneDrive设置的公司帐户。我有一个“虚拟”(代理?)帐户,没有自己的OneDrive。 (我有意让此帐户具有很少的特权-仅将其设置为读取器。)我已经将一个文件夹从公司帐户共享到虚拟帐户。我想使用虚拟帐户使用Microsoft Graph读取与其共享的文件。我将如何处理?什么是合适的电话?
当我尝试“ /v1.0/me/drive/sharedWithMe”时,我得到“您无权创建此个人站点或您没有有效的许可证”。我真的不想在这个虚拟帐户上浪费Office 365许可证,但这是唯一的方法吗?是否可以通过SharePoint路由执行此操作?如果是这样,怎么办?还有其他更好的方法来完成我要达到的目标吗?
任何帮助将不胜感激!
答案 0 :(得分:0)
问题是/me
试图找到呼叫者的个人站点,因此,如果他们没有订阅,则请求将失败。
您是否可以提前知道共享项目?我认为那确实是使这种情况起作用的唯一方法。在这种情况下,您可以执行以下操作之一。
使用API ID
作为数据的所有者,请发出API请求以获取项目的driveId
和id
。然后,作为虚拟帐户发出如下请求:
https://graph.microsoft.com/v1.0/drives/driveId/items/id
使用SharePoint URL
在这种情况下,假设该文件夹的SharePoint URL为https://tenant-my.sharepoint.com/personal/user_tenant_com/Documents/Folder
,则可以encode it as a share id并发出如下请求来访问它:
答案 1 :(得分:0)
好,如Brad所述,“ / me”不起作用。但是,我能够使它正常工作。最初我遇到了一个“范围”问题,但是一旦解决了这个问题,我就使用了https://graph.microsoft.com/v1.0/drives/{drive-id}/root:/{folder-path}:/children之类的查询,并且...问题解决了!