Office365-rest-python-client: get_file_by_server_relative_url . рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдордИ 2020  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vgrem/Office365-REST-Python-Client

рд╣реИрд▓реЛ @vgrem , рдирд┐рдореНрди рдХреЛрдб ValueError рдмрдврд╝рд╛рддрд╛ рд╣реИред

...
web = client_context.web
client_context.load(web)
server_relative_url = f'/{folder_name}/{filename}'
logger.info(f'relative path: {server_relative_url}')
file = web.get_file_by_server_relative_url(server_relative_url)
return file.read()

рдЙрд╕ рддреНрд░реБрдЯрд┐ рдореЗрдВ рдХреБрдЫ рд╕рдВрджреЗрд╢ рдЗрд╕ рддрд░рд╣ рдЬреЛрдбрд╝рдирд╛ рдареАрдХ рд░рд╣реЗрдЧрд╛
```
ValueError рдмрдврд╝рд╛рдПрдВ ('рдЖрдкрдиреЗ рдпрд╣ рдХрд┐рдпрд╛ рдФрд░ рд╡рд╣ рдЧрд▓рдд ...')

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

file.read() рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЧрдИ

client_context.load(file)
client_context.execute_query()

рдпрд╣ рд╕рд╣реА рд╣реИ, рд╡реЗ рдЧрд╛рдпрдм рддрд░реАрдХреЗ рдереЗ, File.read рд╡рд┐рдзрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ ( ServerRelativeUrl рд╕рдВрдкрддреНрддрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдареАрдХ рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдХреЛ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреА рд╣реИ:

client_context.load(file)  
client_context.execute_query()

рдЪреВрдВрдХрд┐ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, File.download рдПрдХ рдФрд░ рддрд░реАрдХрд╛

with open(download_path, "wb") as local_file:
    source_file = ctx.web.get_file_by_server_relative_url(file_url)
    source_file.download(local_file)
    ctx.execute_query()

рдзрдиреНрдпрд╡рд╛рдж @vgrem , рдпрд╣ рдирд╡рд╛рдЧрдВрддреБрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕реБрдзрд╛рд░ рд╣реИ!

file.download рдХреНрдпрд╛ рдпрд╣ 2.1.7.post1 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ?

рдкрд┐рдк рд╕реЗ рдирд╡реАрдирддрдо рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реА рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдкрд┐рдк рд╕реВрдЪреА | рдЧреНрд░реЗрдк-рдЖрдИ рдСрдлрд┐рд╕
Office365-REST-рдкрд╛рдпрдерди-рдХреНрд▓рд╛рдЗрдВрдЯ 2.1.7.post1

2.1.8
рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ --рдЕрдкрдЧреНрд░реЗрдб Office365-REST-Python-Client==2.18
рддреНрд░реБрдЯрд┐: Office365-REST-Python-Client==2.18 (рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ: 1.0.0, 1.0.1, 1.1.0, 2.0.0, 2.1.1, 2.1.2) рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ , 2.1.3, 2.1.4, 2.1.5, 2.1.6.рдкреЛрд╕реНрдЯ2, 2.1.7.рдкреЛрд╕реНрдЯ1)
рддреНрд░реБрдЯрд┐: Office365-REST-Python-Client==2.18 . рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд┐рд▓рд╛рди рд╡рд┐рддрд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛

==== рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди ====

рдЖрдпрд╛рдд рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓
рдЖрдпрд╛рдд рдУрдПрд╕
download_path = os.path.join (tempfile.mkdtemp (), os.path.basename (рд╕реНрдерд╛рди))
file_url = '/sites/рдПрдХреАрдХрд░рдг/рд╕рд╛рдЭрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝/SomeFolder/somefile.csv'
download_path = os.path.join (tempfile.mkdtemp (), os.path.basename (file_url))
рдбрд╛рдЙрдирд▓реЛрдб_рдкрде
open(download_path, "wb") рдХреЗ рд╕рд╛рде local_file рдХреЗ рд░реВрдк рдореЗрдВ:
source_file = ctx.web.get_file_by_server_relative_url(file_url)
рдореВрд▓ рдлрд╛рдЗрд▓
ctx.load(source_file)
ctx.execute_query ()
рдЖрд░ = source_file.read ()
ctx.execute_query ()
рдкреНрд░рд┐рдВрдЯ ("рдбреЗрдЯрд╛:", рдЖрд░)
local_file.write(r)
local_file.close ()
рдкреНрд░рд┐рдВрдЯ ("[рдареАрдХ рд╣реИ] рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛ рдЧрдИ рд╣реИ: {0}"ред рдкреНрд░рд╛рд░реВрдк (рдбрд╛рдЙрдирд▓реЛрдб_рдкрде))

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

BradshawI picture BradshawI  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

NathanSalez picture NathanSalez  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

etiennecelery picture etiennecelery  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

spurthikaribasaiah picture spurthikaribasaiah  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

haimat picture haimat  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ