Microsoft Graph Content возвращает значение NULL - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь получить содержимое моего текстового документа, хранящегося в моей компании SharePoint. Код выглядит следующим образом:

GraphServiceClient graphClient = new GraphServiceClient(authProvider);
DriveItem document = await graphClient.Sites[_siteId].Drive.Items[remoteId].Request().GetAsync();
DocumentDTO dto = new DocumentDTO { Content = document.Content };

dto получил доступ к другой информации, содержащейся в DriveItem, такой как Id и Name, но я не понимаю, почему я не могу получить доступ к содержимому.

Ищу любую возможную помощь :-) Спасибо

Ответы [ 2 ]

1 голос
/ 07 ноября 2019

Я заканчиваю тем, что делаю это для получения своего контента в Stream.

GraphServiceClient graphClient = new GraphServiceClient(authProvider);
var document = await graphClient.Sites[_siteId].Drive.Items[remoteId].Request().GetAsync();
var url = document.AdditionalData["@microsoft.graph.downloadUrl"].ToString();

HttpClient http = new HttpClient();
var response = await http.GetAsync(url);
var content = await response.Content.ReadAsStreamAsync();
1 голос
/ 06 ноября 2019

Если вы посмотрите пример ответа в документах , контент не будет возвращен при вызове, как вы это сделали в своем примере.

Чтобы получить контент, который вам понадобитсячтобы сделать другой / отдельный запрос, как показано здесь .

Поэтому ваш код должен выглядеть примерно так, чтобы получить содержимое.


GraphServiceClient graphClient = new GraphServiceClient(authProvider);
Stream content = await graphClient.Sites[_siteId].Drive.Items[remoteId].Content.Request().GetAsync();
DocumentDTO dto = new DocumentDTO { Content = content  };

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...