bigbadwolf Posted May 14 Posted May 14 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… Quote
menno Posted May 16 Posted May 16 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 🙄 Quote
menno Posted May 16 Posted May 16 Ik heb zelf mijn implementatie ooit gemaakt door het voorbeeld van Wim Decorte als basis/inspiratiebron te gebruiken: https://www.soliantconsulting.com/labs/microsoft-graph-api-filemaker-demo/ Het artikel bij zijn voorbeeld: https://www.soliantconsulting.com/blog/microsoft-graph-api-filemaker-one/ Quote
bigbadwolf Posted May 21 Author Posted May 21 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. Quote
bigbadwolf Posted May 21 Author Posted May 21 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… Quote
menno Posted May 21 Posted May 21 Mijn voorbeeld gebruik ik zo op een sharepoint van een bedrijf Quote
bigbadwolf Posted May 21 Author Posted May 21 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. Quote
menno Posted May 21 Posted May 21 <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. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.