У меня есть приложение, которое использует MS Graph API для OneDrive Работает хорошо. За исключением проблемы с некоторыми конкретными файлами.
Я использую этот API для загрузки https://docs.microsoft.com/en-us/graph/api/driveitem-get-content?view=graph-rest-1.0
Если в имени файла есть «» или «», в загрузке произойдет сбой. Например, он не работает для имен 8 ' .txt и для 8' '. Txt (2 одинарных кавычки). Ошибка 404 Не найдено
Для любых других комбинаций все работает отлично. Например, 8'o.txt и 8 __. Txt и 8 _ '. Txt работают отлично.
Для неудачных случаев скачать URL выглядит как
https://graph.microsoft.com/v1.0/me/drives/b!-0dIsSTuzU2m3Jqk6DbcopPXnY5w17BPuCu6SMU4HlhNd0_oR2ATT50v1UKFL0PY/root:/Folders_pack/8%27%27.txt:/content а также https://graph.microsoft.com/v1.0/me/drives/b!-0dIsSTuzU2m3Jqk6DbcopPXnY5w17BPuCu6SMU4HlhNd0_oR2ATT50v1UKFL0PY/root:/Folders_pack/8%27_.txt:/content
А для успеха URL похожи https://graph.microsoft.com/v1.0/me/drives/b!-0dIsSTuzU2m3Jqk6DbcopPXnY5w17BPuCu6SMU4HlhNd0_oR2ATT50v1UKFL0PY/root:/Folders_pack/8%27%27.txt:/content
и
https://graph.microsoft.com/v1.0/me/drives/b!-0dIsSTuzU2m3Jqk6DbcopPXnY5w17BPuCu6SMU4HlhNd0_oR2ATT50v1UKFL0PY/root:/Folders_pack/8__.txt:/content
https://graph.microsoft.com/v1.0/me/drives/b!-0dIsSTuzU2m3Jqk6DbcopPXnY5w17BPuCu6SMU4HlhNd0_oR2ATT50v1UKFL0PY/root:/Folders_pack/8_%27.txt:/content
В чем может быть причина этого? неправильный тип кодировки URL? почему он терпит неудачу только тогда, когда у меня есть '_ или' 'в имени? а другие комбинации хороши?
Обновление. Другие операции с «неправильными» именами хороши. Например, я могу переименовать файл 8 '_. Txt в 8 __. Txt, а затем его можно загрузить.
Есть ли решение?
Обновление. Через 3 дня я выложил этот вопрос все начало работать. Я не знаю почему, но теперь проблем больше нет