Извлечение книги Excel.xlsx с сайта Sharepoint с помощью Microsoft Graph API

Как указано в заголовке, я пытался использовать Microsoft Graph API для извлечения книги Excel с сайта Sharepoint нашей компании. Я могу получить метаданные для файла, но когда я добавляю сегмент /workbook/ к URL-адресу, я получаю следующую ошибку:

{
  "error": {
    "code": "BadRequest",
    "message": "Resource not found for the segment 'workbook'.",
    "innerError": {
      "request-id": "bf41e41a-bc01-4c3b-b1d7-3125c4d48124",
      "date": "2019-04-10T16:29:07"
    }
  }
}

Вот как выглядит успешный вызов метаданных файла:

https://graph.microsoft.com/v1.0/sites/{siteid}/lists/{listid}/items/273

И вот вызов, который я делаю, который возвращает вышеуказанную ошибку:

https://graph.microsoft.com/v1.0/sites/{siteid}/lists/{listid}/items/273/workbook/

Мне удалось найти этот пост stackoverflow, в котором обсуждается похожая ошибка, однако это было пару лет назад, по-видимому, с использованием бета-версии Graph API, и я не смог продвинуться дальше, используя предложения из этого поста. Получить книгу с сайта sharepoint, используя бета-версию Microsoft Graph

Я создаю свой URL-адрес запроса на основе чтения этих двух документов Microsoft: https://docs.microsoft.com/en-us/graph/api/resources/sharepoint?view=graph-rest-1.0https://docs.microsoft.com/en-us/graph/api/resources/excel?view=graph-rest-1.0

Я не думаю, что это актуально, но я использую C# и создаю запросы с помощью Restsharp.

Кто-нибудь что-нибудь знает по этому поводу?
Спасибо!

Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
2
0
967
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не можете использовать /workbook против ListItem, его можно использовать только с DriveItem.

Для этого вам нужно сначала получить DriveItem, связанный с ListItem:

/v1.0/sites/{siteid}/lists/{listid}/items/273/driveitem/workbook

Это работает! Где ты учился этому? В документе «Работа с Excel в Microsoft Graph» это вообще не указывается, и, на мой взгляд, это указывает на то, что к файлу можно было получить доступ, как я пытался. docs.microsoft.com/en-us/graph/api/resources/…

David 10.04.2019 22:47

Боюсь, это пришло из-за многолетнего опыта погружения в метаданные и нюансы Graph. Тем не менее, я полностью согласен: github.com/microsoftgraph/microsoft-graph-docs/issues/4369

Marc LaFleur 11.04.2019 15:08

Я получаю данные для /driveitem/, но для /driveitem/workbook я получаю "innerError": { "code": "FileOpenNotFound", "message": "Мы не смогли найти нужный вам файл." }

John C. 09.03.2021 22:03

Другие вопросы по теме