Jump to content

Sharepoint? Of toch maar niet aan beginnen?


Recommended Posts

Posted

DBServices heeft een mooi voorbeeld gemaakt voor het uploaden van bestanden naar Sharepoint.

Tot op zekere hoogte heb ik dat werkend, maar op een niet geheel onbelangrijk punt loop ik vast… namelijk het opgeven waar ik een bestand wil bewaren.

Bij het uploaden kan ik een pad opgeven. Het maakt niet uit wat ik opgeef, hij zet ’m altijd op dezelfde plek neer.

Vraag me af of iemand dit ooit echt werkend heeft gekregen. De documentatie van Microsoft blinkt helaas uit in onduidelijkheid waarbij je van de ene pagina naar de andere wordt gestuurd zonder een echt antwoord te vinden…

Posted

Dat is eenvoudiger dan je denkt. Jouw toegang is voor jou 'root' en als je een pad wilt gebruiken vul je het adres simpelweg aan met het pad dat je wil gebruiken.

Bijvoorbeeld je hebt het bestand 'MijnExcel.xlsx' en die wil je opslaan in de map '2025' in de map 'WeekRapportages' dan wordt het pad in de PUT:

https://graph.microsoft.com/v1.0/groups/<userid>/drive/items/root:/WeekRapportages/2025/MijnExcel.xlsx

Bestaat een map niet, dan wordt die met deze methode aangemaakt. Het heeft bij mij ook even geduurd voordat ik dit doorhad :-) Het uploaden van een bestand stond mooi beschreven, maar het aanmaken en/of kiezen van een directory niet 🙄

Posted

Ik heb het voorbeeldbestand van DBServices als basis, dat werkt op zich ook prima. Behalve dan de laatste stap om iets in een specifieke map te krijgen.

Ga er weer mee aan de slag. Dank weer.

Posted

Kan het zijn dat het voor ‘bedrijfssharepoints’ anders werkt?

Dit is het adres wat DB gebruikt:

"https://graph.microsoft.com/v1.0/drives/" & PREFERENCES::sharepointDriveID & "/root:/" & GetAsURLEncoded ( $fileName ) & ":/createUploadSession"

"https://graph.microsoft.com/v1.0/drives/" & PREFERENCES::sharepointDriveID & "/root:/" & GetAsURLEncoded ( $fileName ) & ":/createUploadSession"

Dit wijkt nogal af van jouw voorbeeld.

Zelfs als ik een mapnaam na root:/ toevoeg blijft hij volhouden dat het bestand in de ‘root’ moet staan…

Posted

Is het proberen waard, maar er zijn zoveel verschillende variabelen… wat zou dan in jouw voorbeeld het <userid> zijn?

Heb even een screenshot geplaatst van alle variabelen die zijn gebruiken.

image.png

Posted

<userid> is de id van de gebruiker (ziet eruit als een lowercase uuid, zonder mintekens) in wiens map je een bestanden uploaded. Dus de id uit de gegevens van een user (bijv. piet@yourdomain.com). Ik zie dat in mijn voorbeeld het laatste deel van de endpoint ontbreekt: ":/content" De juiste wordt dan:

https://graph.microsoft.com/v1.0/groups/<userid>/drive/items/root:/WeekRapportages/2025/MijnExcel.xlsx:/content

Dus zo veel verschilt die niet van jouw endpoint en ik verwcht dat jouw enige probleem de id van de user is.

De userinformatie haal je op met deze query:

https://graph.microsoft.com/v1.0/groups/?&$filter=startswith(displayName,'<username>')&$count=true&$top=100

maar dan moet in Azure wel zijn aangegeven dat jouw account de users mag opvragen :-) Je krijgt dan een array met userinformatie en daarin heeft elke user een id en dat is de waarde die je nodig hebt. Ik zie die niet in jouw lijst met variabelen staan

Het ophalen van die userinfo doe ik eigenlijk nooit meer, want ik heb de ids die ik nodig heb ik allemaal reeds opgeslagen ;-) Je mag me anders Vrijdag wel even bellen, dan kan ik als je wil met je meekijken.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...