[Python] xlsx downloaden van on premise SharePoint server

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • SuperCrisz
  • Registratie: September 2005
  • Laatst online: 11:21
Ik wil met Python een xlsx downloaden die op onze intranet staat. In de browser kan ik de xlsx prima openen zonder nog eerst in te loggen. Als ik hem wil downloaden wordt er wel een xlsx aangemaakt, alleen dan maakt hij een corrupte xlsx aan. Hij komt met een foutmelding dat de file format/extension niet valid is.

Als ik dit doe met een willekeurige xlsx die op het wereldwijde web te vinden is, lukt het wel. Iemand een oplossing hiervoor?

code:
1
2
3
4
5
6
7
8
9
10
import pandas as pd
import io
import requests

dls = "https://intranet.bedrijf.com/folder2/folder3/excel_file.xlsx"
resp = requests.get(dls)

output = open('excel_file.xlsx', 'wb')
output.write(resp.content)
output.close()

Alle reacties


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 20:12

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Open de XLSX eens met notepad (notepad openen, bestand erin slepen) of met een Hex editor. Wat zie je dan?

Overigens verwacht ik, als 't om een intranet gaat, dat je ingelogd moet zijn (en dus in je python script een sessie zult moeten opzetten) om een bestand te downloaden. Ik verwacht dan ook dat er in je "xlsx" gewoon een HTML document zit met "404 not found" of "Unauthorized" of zoiets.

[ Voor 17% gewijzigd door RobIII op 11-01-2024 16:39 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • SuperCrisz
  • Registratie: September 2005
  • Laatst online: 11:21
RobIII schreef op donderdag 11 januari 2024 @ 16:39:
Open de XLSX eens met notepad (notepad openen, bestand erin slepen) of met een Hex editor. Wat zie je dan?

Overigens verwacht ik, als 't om een intranet gaat, dat je ingelogd moet zijn (en dus in je python script een sessie zult moeten opzetten) om een bestand te downloaden. Ik verwacht dan ook dat er in je "xlsx" gewoon een HTML document zit met "404 not found" of "Unauthorized" of zoiets.
Ik krijg idd authentatie codes

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
<!DOCTYPE html>
<html dir="ltr" class="" lang="en">
<head>
    <title>Sign in to your account</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Expires" content="-1">
    <link rel="preconnect" href="https://aadcdn.msauth.net" crossorigin>
<meta http-equiv="x-dns-prefetch-control" content="on">
<link rel="dns-prefetch" href="//aadcdn.msauth.net">
<link rel="dns-prefetch" href="//aadcdn.msftauth.net">


we gebruiken SSO, dus vandaar dat hij om 365 authenticatie vraagt.. hoe kan ik dat er in verwerken in het script?

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Wellicht kun je iets met deze library https://github.com/O365/python-o365 icm een API van je intranet (is dat dan SharePoint? Ik ben niet zo thuis in t Microsoft ecosysteem).

Acties:
  • 0 Henk 'm!

  • SuperCrisz
  • Registratie: September 2005
  • Laatst online: 11:21
Ik heb het geprobeerd met PowerShell, maar kom er niet uit. aangezien het gaat om een ander script, maak ik ff nieuw topic

Acties:
  • 0 Henk 'm!

  • Ben(V)
  • Registratie: December 2013
  • Nu online
Er is gewoon een Python api om een sharepoint te benaderen.
Zie:
https://pypi.org/project/Office365-REST-Python-Client/

All truth passes through three stages: First it is ridiculed, second it is violently opposed and third it is accepted as being self-evident.

Pagina: 1