目前仍然坚持从SharePoint在线获取资源的文件名,即Office 365.身份验证和刷新令牌来自Unified Api示例,即Microsoft Graph。
var authResult = await authContext.AcquireTokenByAuthorizationCodeAsync(
...
var imgBytes = await httpClient.GetByteArrayAsync(parameters.FileGet);
return File(imgBytes, "application/specialFormat", "File1.specialFormat");
目前我必须定义自己的文件名。我已经在http://graph.microsoft.io/en-us/docs/overview/overview看到了示例,但“获取我的文件”示例仅显示了如何获取一个人的文件而不是如何根据文件ID获取文件名。我希望有人能澄清一下。
https://graph.microsoft.com/v1.0/me/drive/root/children
是否可以使用Graph api获取基于文件ID的文件名,还是必须使用其他内容?
EDIT 一些可行的查询:
https://graph.microsoft.com/v1.0/me/drive/root/children?$select=id
https://graph.microsoft.com/v1.0/me/drive/root/children?$filter=name eq 'testfile.office'
但是如果我尝试搜索特定的id,则查询失败并且我没有得到任何信息。
https://graph.microsoft.com/v1.0/me/drive/root/children?$filter=id eq '01QXOQU7OCV7FW2BQNAZD3KNZMYXVMNJD6'
答案 0 :(得分:2)
如果您有商品ID,则可以访问以下商品:
https://graph.microsoft.com/v1.0/me/drive/items/ID
如果您有路径,可以像这样访问项目:
https://graph.microsoft.com/v1.0/me/drive/root:/FOLDER/FOLDER/FOLDER/FILENAME.EXT
您可以通过路径进一步获取项目的子项:
https://graph.microsoft.com/v1.0/me/drive/root:/FOLDER/FOLDER/FOLDER/FILENAME.EXT:/children
通过MS Graph公开的Drive API几乎(如果不完全)与OneDrive公开的API相同。请参阅此参考页面: https://dev.onedrive.com/resources/item.htm