我试图访问两个OneDrive项目。第一个是.docx
,第二个是.tif
。我希望在下载之前将这些转换为.jpg
。
当我运行内容请求时...
// gets access to the service
GraphServiceClient graphServiceClient = await GetGraphServiceClient();
// get the item
DriveItem item = await graphServiceClient
.Drive
.Root
.ItemWithPath("xxx")
.Request()
.GetAsync();
// set up query params
List<Option> options = new List<Option>();
options.Add(new QueryOption("format", "jpg"));
// get content stream for item, converted to .jpg format
item.Content = await graphServiceClient
.Drive
.Root
.ItemWithPath("xxx")
.Content.Request(options)
.GetAsync();
这会引发Unknown Error
服务例外。
我认为这可能是一个格式不正确的请求,但我可以将QueryOption格式更改为pdf
,并按照您的预期返回。
有谁知道这里可能出现什么问题,为什么我无法检索jpg但可以检索pdf?
答案 0 :(得分:1)
Microsoft Graph v1.0仅支持converting to pdf
。转换为其他格式的功能仅由the Beta endpoint支持。
/v1.0
支持
format=pdf
/beta
支持
format=pdf
format=html
format=glb
format=jpg
不幸的是,OneDrive documentation并没有区分生产和 beta 功能。因此,我不建议将其作为主要来源。就像这样容易被绊倒。
要转换为jpg
,您需要使用Beta端点,但将BaseUrl
属性设置为"https://graph.microsoft.com/beta"
。请确保为此方案执行仅,而不是全局。 Beta端点对于生产来说不够稳定,因此它应该仅用于开发/测试,并且“ 没有其他方式”场景。