В моем коде C # с Graph SDK я тестирую «скачать большой файл» с помощью метода, который здесь щедро предоставлен: Загрузка больших файлов из OneDrive с использованием Microsoft Graph SDK
Однакодаже если я явно запрашиваю DriveItem у службы непосредственно перед вызовом этого метода (который затем использует downloadUrl из AdditionalData в DriveItem), я получаю ответ, указывающий, что JWT Token Expired.
Я предполагаю, что этот токенвстроен в предварительно аутентифицированный downloadUrl.Кроме того, я теоретизирую, что этот токен либо одноразовый, либо срок его действия истекает довольно быстро ... для меня есть две причины явно запросить DriveItem непосредственно перед попыткой использовать этот URL.
Как я могу гарантировать, что службаотправляет мне обратно "свежий" downloadUrl?Есть ли какие-либо заголовки без кэширования или что-то, что я должен явно включить в свой запрос DriveItem?
Как уже упоминалось, даже если у меня есть объект DriveItem локальный, я явно повторно выбираю его из службы, чтобы убедиться, что у меня естьпоследние свойства и новый downloadUrl.(Но это не работает.) Использование объекта Request без каких-либо дополнительных заголовков (или других параметров odata) явно недостаточно для запуска генерации нового URL.
Это не происходит при каждом тесте.Я полагаю, что это происходит при повторном запуске теста с тем же DriveItem в короткий промежуток времени.Опять же, я не уверен, является ли токен JWT одноразовым или истекшим во времени, но если он в любом случае истек, я думаю, что сервис должен автоматически сгенерировать новый.Если это не практично, то понимание того, как явно запрашивать новый, безусловно, эффективно!