Microsoft Graph - OneDrive API - Конвертировать в JPG перед загрузкой - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь получить доступ к двум элементам 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.

Кто-нибудь знает, что здесь может пойти не так, почему я не могу получить JPG, но могу получить PDF?

1 Ответ

0 голосов
/ 30 мая 2018

Microsoft Graph v1.0 поддерживает только преобразование в pdf.Возможность преобразования в другие форматы поддерживается только конечной точкой бета-версии .

Поддерживается в /v1.0:

  • format=pdf

Поддерживается в /beta:

  • format=pdf
  • format=html
  • format=glb
  • format=jpg

К сожалениюдокументация OneDrive не делает различий между функциональностью production и beta .По этой причине я не рекомендую полагаться на него как на первоисточник.Просто так легко запутаться, вот так.

Чтобы преобразовать в jpg, вам необходимо использовать конечную точку бета-версии, но для свойства BaseUrl установить значение "https://graph.microsoft.com/beta".Просто будьте уверены, и сделайте это только для этого сценария, а не глобально.Конечная точка бета-версии недостаточно стабильна для производства, поэтому ее следует использовать только для сценариев dev / test и «там - это никак иначе».

...