Microsoft Graph-OneDrive API-下载前转换为jpg

Microsoft Graph - OneDrive API - Convert to jpg before download(Microsoft Graph-OneDrive API-下载前转换为jpg)
本文介绍了Microsoft Graph-OneDrive API-下载前转换为jpg的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试访问两个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,它会如您预期的那样返回。

Here is the documentation for converting prior to download, showing that these formats are both supported to convert to jpg.

有人知道这里可能出了什么问题吗?为什么我无法检索jpg,但可以检索pdf?

推荐答案

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没有区分生产测试版功能。出于这个原因,我不建议将其作为主要来源。就像这样很容易被绊倒。

为了转换为jpg,您需要使用Beta终结点,但将BaseUrl属性设置为"https://graph.microsoft.com/beta"。只需确保仅针对此方案执行此操作,而不是全局执行。Beta端点不够稳定,不能用于生产,因此它应该仅用于开发/测试和"没有其他方法"的场景。

这篇关于Microsoft Graph-OneDrive API-下载前转换为jpg的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)