Под идентификатором документа я подразумеваю идентификатор, который автоматически назначается документу при его загрузке в SharePoint.
Я уже успешно получил DriveItemId с помощью Document-ID. Вот как выглядит этот метод:
Код: Выделить всё
public async Task GetDriveItemIdByDocIdAsync(string driveId, string docId)
{
try
{
var query = $"Dokument-ID:{docId}";
var results = await _graphClient.Drives[driveId].SearchWithQ(query).GetAsSearchWithQGetResponseAsync();
if (results.Value.Count == 1)
{
_logger.Info($"Found one document with documentId '{docId}' in drive '{driveId}'.");
return results.Value.FirstOrDefault().Id;
}
else if (results.Value.Count == 0)
{
_logger.Info($"No document with documentId '{docId}' found in drive '{driveId}'.");
throw new Exception($"No document with documentId '{docId}' found in drive '{driveId}'.");
}
else
{
_logger.Error($"More than one document with documentId '{docId}' found in drive '{driveId}'. Returning the first item with driveItemId == '{driveItemId}'");
return results.Value.FirstOrDefault().Id;
}
}
catch (ServiceException ex)
{
_logger.Error($"Error while trying to get last version of item with documentId '{docId}' in drive '{driveId}'. Exception: '{ex}'");
throw;
}
Вам не нужно напрямую отвечать с помощью реализации C# SDK, достаточно https-запроса. Спасибо за помощь
Подробнее здесь: https://stackoverflow.com/questions/786 ... -sharp-sdk