我正在使用以下Graph API调用从OneDrive for Business检索我最近的文件;
https://graph.microsoft.com/v1.0/me/drive/recent
在响应中,driveitem
对象比模式建议的更稀疏;
具体来说,它缺少webUrl
属性。
如果我尝试按如下方式明确请求该属性;
https://graph.microsoft.com/v1.0/me/drive/recent?select=webUrl
然后我得到以下回复;
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#Collection(driveItem)",
"value":[
{
"@odata.type":"#microsoft.graph.driveItem"
},
{
"@odata.type":"#microsoft.graph.driveItem"
},
{
"@odata.type":"#microsoft.graph.driveItem"
},
{
"@odata.type":"#microsoft.graph.driveItem"
},
{
"@odata.type":"#microsoft.graph.driveItem"
}
]
}
如何从Graph API获取此数据?我已经尝试过后续调用直接使用此调用来获取项目(根据documentation);
https://graph.microsoft.com/v1.0/drives/<remoteItem.driveId>/items/<id>
然而,这似乎总是失败;
{
"error": {
"code": "itemNotFound",
"message": "The resource could not be found.",
"innerError": {
"request-id": "a86bdc25-771b-4b90-9c17-942e05bd9ed3",
"date": "2016-05-22T08:21:57"
}
}
}
关于Azure Active Directory权限,我注册了一个Native Client应用程序,并且我已经给它所有 Microsoft Graph API委派权限(所有40个)。我知道Overkill,但我只是想让这个工作先行,然后将逐个删除权限,直到我得到必要的权限。