Мое (первое) приложение для Android работает довольно хорошо, но у меня осталась одна очень важная проблема, которую я пытаюсь решить в течение нескольких дней
Я пытаюсь использовать Graph для доступа к документу Excel в моемOneDrive из другого аккаунта.Этот файл объявляется общедоступным для всех по ссылке общего доступа.
Я использую следующий GET для получения файла
https://graph.microsoft.com/v1.0/drives/MY_DRIVE/MY_EXCEL_FILE/workbook/worksheets/Data/tables/TableData/rows
Единственная проблема заключается в том, что файлдолжен быть в общей папке пользователя, которую я хотел бы избежать по соображениям безопасности.
Я использую onedrive для бизнеса, но если это проблема, я могу использовать личную учетную запись, хотя пользователи приложения должны использовать бизнес, поскольку я предоставляю доступ только определенной организации.
[ОБНОВЛЕНИЕ 27 сентября 2018 г.]
Что касается файла, который не должен находиться в общей папке, вот почему я так думаю (надеюсь, янеправильно):
, находясь в моей учетной записи onedrive, я делюсь файлом как общедоступным и получаю ссылку для обмена:
https://MY_ORGANIZATION.sharepoint.com/:x:/g/personal/MY_USER/Eabkxa2md3JEsW0qQEuYRK4BKnnnHeJqNuspeZ6TEdkWsQ
Iвойдите в Graph Explorer и запустите команду, чтобы получить тот же файл, что и в Excel JSON:
https://graph.microsoft.com/v1.0/drives/MY_DRIVE/MY_EXCEL_FILE/workbook/worksheets/Data/tables/TableData/rows
Graph Explorer отвечает с HTTP 200
и правильным JSON (как отмечалось, также работает правильно намое приложение для Android).
Я выхожу из Graph Explorer и OneDrive и проверяю, что общая ссылка все еще работает.
Я подключаю GraphПроводник, использующий другую учетную запись (той же организации) и запустить ту же команду, чтобы повторитьRive Excel JSON:
https://graph.microsoft.com/v1.0/drives/MY_DRIVE/MY_EXCEL_FILE/workbook/worksheets/Data/tables/TableData/rows
На этот раз я получаю сообщение "Ошибка - Код состояния 404":
{
"error": {
"code": "itemNotFound",
"message": "The resource could not be found.",
"innerError": {
"request-id": "6d095277-fa07-40ba-bfcb-c93e96660fdc",
"date": "2018-09-27T15:43:28"
}
}
}
Если я введуссылка общего доступа с помощью моего браузера, файл отображается в общем списке (под папками «Недавние» и над папками «Обнаружение» в браузере):
https://MY_ORGANIZATION.sharepoint.com/:x:/g/personal/MY_USER/Eabkxa2md3JEsW0qQEuYRK4BKnnnHeJqNuspeZ6TEdkWsQ
Когда я возвращаюсь в Graph Explorerи снова запустите команду, я получу ответ HTTP 200
.
https://graph.microsoft.com/v1.0/drives/MY_DRIVE/MY_EXCEL_FILE/workbook/worksheets/Data/tables/TableData/rows
Мой вывод заключается в том, что файл должен находиться в общей папке.Пожалуйста, исправьте меня, если я что-то упустил.
ps: После того, как файл появляется в папке «shared» 2-й учетной записи, после просмотра OneDrive «Управление доступом» я теперь вижу инициалы 2-й учетной записи.Вероятно, это указывает на то, что файл официально доступен и открыт для общего доступа.Удаление файла из его общей папки, сохранение его инициалов и правильного ответа от Graph Explorer.Похоже, только отмена ссылки на акцию может отменить акцию.
[ОБНОВЛЕНИЕ 27 сентября 2018 - 2]
После еще одного комментария от г-на Марка я изменил вопроснемного и хотел бы отметить, что я также попробовал следующую ссылку, используя мою фактическую ссылку обмена.Это было похоже на ответ (не уверен, точный код ошибки) + другая проблема в получении фактического Excel.
Доступ к общим DriveItems