Microsoft Graph API в C #: лучший способ загрузки вложений в сообщения - PullRequest
0 голосов
/ 17 октября 2018

В настоящее время моя методология загрузки вложений сообщений через Graph API такова:

  1. Получить список сообщений для аутентифицированного пользователя.
  2. Для каждого идентификатора сообщения получите списоквложения, связанные с этим.Верните только имя и идентификатор.
  3. Для каждого идентификатора вложения получите все его данные.Это означает, что поля, такие как contentBytes и contentLocation, также возвращаются.
  4. Учитывая строку base 64 в contentBytes, превратить ее в файл.

Из тестирования я обнаружил, чтовремя, необходимое для получения запроса API на шаге 3, является моим узким местом.Это связано с большим объемом данных, возвращаемых в поле contentBytes.Я назову это «загрузка».

Файл размером 2 МБ может занять до 10 секунд для загрузки при хорошем соединении.Когда я ограничен скоростью загрузки 5 Мбит / с, это может занять более минуты для извлечения.

Поэтому у меня есть две мысли, которые я хотел бы изучить:

  1. contentLocation всегда нулевой,Насколько я понимаю, эти файловые вложения должны иметь здесь URI для загрузки из.Кто-нибудь знает, почему мне не предоставляется contentLocation?
  2. Если я должен придерживаться работы с contentBytes, наверняка есть объяснение, почему загрузка происходит так медленно?Что я могу сделать, чтобы улучшить его?

1 Ответ

0 голосов
/ 18 октября 2018

contentLocation всегда равно нулю.Насколько я понимаю, эти файловые вложения должны иметь здесь URI для загрузки из.Кто-нибудь знает, почему мне не предоставляется contentLocation?

Я пробовал это, и в теле ответа оно пустое, мы можем отправить вопрос о проблеме github

...