Oct 29 2023 10:13 AM
i am am facing 404 error while downloading file from SharePoint via Rest API using Python. Below is my code:
from office365.runtime.auth.client_credential import ClientCredential from office365.sharepoint.client_context import ClientContext def get_share_point_context () : sharepoint_url = "https://xxxx.sharepoint.com" client_id = 'yyyy' client_scret = 'zzzz' ctx = ClientContext(sharepoint_url).with_client_credentials(client_secret=client_scret,client_id=client_id) file_relative_url = "/sites/aaa/Bl_Upload_test/resume.txt" file = ctx.web.get_folder_by_server_relative_path(decoded_url=file_relative_url) ctx.load(file) ctx.execute_query() with open('downlaoded_file.txt', 'wb') as f: file.download() get_share_point_context()
Below is the error:
C:\Users\se\PycharmProjects\10135\venv\Scripts\python.exe C:\Users\se\PycharmProjects\10135\sharepoint_file_download.py Traceback (most recent call last): File "C:\Users\se\PycharmProjects\10135\venv\lib\site-packages\office365\runtime\client_request.py", line 38, in execute_query response.raise_for_status() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\models.py", line 1021, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://xxxx.sharepoint.com/_api/Web/getFolderByServerRelativePath(DecodedUrl='%2Fsites%2Frpa%2FBl_Upload_test%2Fresume.txt') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\se\PycharmProjects\10135\sharepoint_file_download.py", line 16, in <module> get_share_point_context() File "C:\Users\se\PycharmProjects\10135\sharepoint_file_download.py", line 12, in get_share_point_context ctx.execute_query() File "C:\Users\se\PycharmProjects\10135\venv\lib\site-packages\office365\runtime\client_runtime_context.py", line 191, in execute_query self.pending_request().execute_query(qry) File "C:\Users\se\PycharmProjects\10135\venv\lib\site-packages\office365\runtime\client_request.py", line 42, in execute_query raise ClientRequestException(*e.args, response=e.response) office365.runtime.client_request_exception.ClientRequestException: ('-2147024894, System.IO.FileNotFoundException', 'File Not Found.', "404 Client Error: Not Found for url: https://xxxx.sharepoint.com/_api/Web/getFolderByServerRelativePath(DecodedUrl='%2Fsites%2Frpa%2FBl_Upload_test%2Fresume.txt')") Process finished with exit code 1
but I do have a file resume.txt, and it resides in the site content -> document library named Bl_Upload. I have tried to search many related posts in internet about this problem. Many talks about file naming and special characters, some talks about authentication. So far there is no luck in locating a similar problem. Any help would be appreciated.