Мы использовали .Net Graph SDK для извлечения документов SharePoint Online Word в формате PDF.Совсем недавно это перестало работать для нас без изменений в нашем коде.
Я проверил, что Graph SDK работает в соответствии с официальной документацией здесь , проверив URL-адреса, сгенерированные Graph SDK, изатем с помощью клиента REST вручную запросить URL-адреса.При последнем запросе на получение документа с использованием предварительно аутентифицированной ссылки заголовка местоположения ответа 302 мы получаем следующую ошибку при любой попытке любого документа, имеющегося в нашей библиотеке документов:
Инициализатор типа для«OneDrive.Media.Utilities.MemoryStreamHelper» вызвал исключение.
Без формата = pdf исходный файл .docx загружается просто отлично.Я не уверен, если это что-то меняет, но мы используем облако USGovVirginia.
public async Task<Stream> GetFileAsPDF(string fileId, string driveId, CancellationToken cancellationToken = default)
{
var queryOptions = new List<Option>
{
new QueryOption("format", "pdf")
};
var file = await _graphClient.GetAuthenticatedClient()
.Drives[driveId]
.Items[fileId]
.Content
.Request(queryOptions)
.GetAsync(cancellationToken);
return file;
}
Ожидается : загрузите PDF документа word.
Фактический : получить следующий ответ:
Заголовки:
Cache-Control: private
Content-Type: application/json
Server: Microsoft-IIS/10.0
X-AspNetMvc-Version: 5.2
X-CorrelationId: f3f18537-d0c5-4e70-afaf-c37d64d1897b.5cace27c-14e8-4d3c-afe7-144a3060bfc8
X-OneDriveMeTA-Version: 1.0.7061.15125
X-ErrorCode: General_TypeInitialization
X-ErrorType: Unexpected
X-AspNet-Version: 4.0.30319
Date: Mon, 13 May 2019 20:04:09 GMT
Content-Length: 191
Тело:
{
"error": {
"code": "generalException",
"message": "The type initializer for 'OneDrive.Media.Utilities.MemoryStreamHelper' threw an exception.",
"innererror": {
"code": "General_TypeInitialization"
}
}
}