Bestanden uploaden naar sharepoint dmv php?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Pascal Schuffelers

Pascal Schuffelers

22/06/2020 16:34:52
Quote Anchor link
Hallo allemaal,

Ik heb eindelijk alles af.
Nu vroeg ik mij eigenlijk het volgende af, wat ik ook niet zo kan vinden in dit forum.
Is er iemand die het gelukt is om via php een bestand te uploaden richting sharepoint op een vrij simpele manier?
Je komt via google erg ingewikkelde methodes tegen en die geven je nog geen duidelijk beeld.

Vroeg mij af of dit iemand al eens geprobeerd heeft of het gelukt is.
 
PHP hulp

PHP hulp

29/03/2024 16:42:02
 
- Ariën  -
Beheerder

- Ariën -

22/06/2020 17:24:50
Quote Anchor link
Je kan ook deze library gebruiken:
https://github.com/vgrem/phpSPO

En dan deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$authCtx
= new AuthenticationContext($webUrl);
$authCtx->acquireTokenForUser($userName,$password);
$ctx = new ClientContext($webUrl,$authCtx);

$localFilePath = "./data/user guide.docx";
$targetFileUrl = "Documents/user guide.docx";
$fileContent = file_get_contents($localFilePath);
File::saveBinary($ctx,$targetFileUrl,$fileContent);
print "File has been uploaded\r\n";
?>


Bron: https://sharepoint.stackexchange.com/questions/139342/uploading-a-file-to-sharepoint-using-your-phpspo-library
Gewijzigd op 22/06/2020 17:25:24 door - Ariën -
 
Pascal Schuffelers

Pascal Schuffelers

22/06/2020 21:48:13
Quote Anchor link
Die was ik inderdaad ook tegen gekomen, was een van de eerste die via google te vinden was, echter vind ik dat toch geen makkelijke.
Hier moet je ook het een of ander installeren wat ik zo lees of zie ik dat verkeerd?
 
- Ariën  -
Beheerder

- Ariën -

22/06/2020 21:55:19
Quote Anchor link
Nee, er staat dat je de keuze uit Composer hebt of een handmatige installatie vanuit de download.
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 15:26:49
Quote Anchor link
Heeft iemand dit al eens werkend gehad?
Ik heb van alles geprobeerd maar niks werkt en heb wel alles goed gedaan overal.
Nergens zijn duidelijke voorbeelden te vinden die werken want bij de meeste krijg ik gewoon een 500 error als ik via ontwikkelings-hulp in de explorer kijk , maar nergens wat er dan precies aan de hand is.
 
- Ariën  -
Beheerder

- Ariën -

10/07/2020 17:16:00
Quote Anchor link
Maar een '500 error' moet je sowieso in de achterliggende logfiles kunnen zien.
Mogelijk staan foutmeldingen uit, en dus zal die ook niet in de ontwikkel-tools van je browser zien.

En maar goed ook, ik als bezoeker hoef bij een probleem niet te weten dat er bij een site een 'niet gevonden database' of een 'syntax error op lijn x van y.php' aanwezig is.
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 19:02:14
Quote Anchor link
Ik snap je volkomen, echter het helpt mij niet met het probleem ;)
 
- Ariën  -
Beheerder

- Ariën -

10/07/2020 19:06:06
Quote Anchor link
Ik ben benieuwd waarom het niet helpt om een foutmelding op te zoeken?
Je wilt toch weten WAT er mis is, en niet DAT er iets mis is.
Gewijzigd op 10/07/2020 19:06:46 door - Ariën -
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 19:07:17
Quote Anchor link
Hoe moet ik die dan vinden, console geeft niks aan.
 
- Ariën  -
Beheerder

- Ariën -

10/07/2020 19:12:10
Quote Anchor link
De logfiles op de server. Deze staan vaak buiten je webroot. Of anders zijn ze te vinden via het hosting controlpanel. En anders kan je ze ook zelf aanmaken/overriden via .htaccess:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
# Error log aanzetten
php_flag  log_errors on
php_value error_log  /home/pad/domain/logs/PHP_errors.log

Gelukkig zie je de foutmeldingen niet in je console, want dat wil niemand zomaar ;-)
Gewijzigd op 10/07/2020 19:13:13 door - Ariën -
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 19:16:21
Quote Anchor link
Welke naam heeft die logfile ? zit even te kijken, vind er enkele log-map, tenminste als dat de juiste map is.
 
- Ariën  -
Beheerder

- Ariën -

10/07/2020 19:21:12
Quote Anchor link
Meestal iets met error erin.
Zoals error.log of iets in die trant. Het verschilt per serverconfiguratie.
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 19:31:35
Quote Anchor link
jup, gevonden kom ook andere verschillende dingen tegen, los ik die gelijk en dan gelijk kijken naar die melding van 500.
Kom hierop terug :)
 
- Ariën  -
Beheerder

- Ariën -

10/07/2020 19:41:01
Quote Anchor link
Ik ben benieuwd naar het probleem.
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 19:54:18
Quote Anchor link
Even de boel opgeruimd in die log , thx voor die aanwijzing :)
De fout die hij aangeeft is als volgt.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
[Fri Jul 10 19:51:12.347720 2020] [:error] [pid 4904] [client 192.168.10.1:35669] PHP Fatal error:  Uncaught Error: Call to a member function getContent() on null in /var/www/html/sharepoint/vendor/vgrem/php-spo/src/Runtime/Auth/SamlTokenProvider.php:161\nStack trace:\n#0 /var/www/html/sharepoint/vendor/vgrem/php-spo/src/Runtime/Auth/SamlTokenProvider.php(107): Office365\\Runtime\\Auth\\SamlTokenProvider->acquireSecurityToken('', NULL)\n#1 /var/www/html/sharepoint/vendor/vgrem/php-spo/src/Runtime/Auth/AuthenticationContext.php(72): Office365\\Runtime\\Auth\\SamlTokenProvider->acquireToken(Array)\n#2 /var/www/html/sharepoint/vendor/vgrem/php-spo/src/SharePoint/ClientContext.php(76): Office365\\Runtime\\Auth\\AuthenticationContext->acquireTokenForUser('', NULL)\n#3 /var/www/html/sharepoint/ConnectOnline.php(12): Office365\\SharePoint\\ClientContext::connectWithUserCredentials('https://mediade...', '', NULL)\n#4 {main}\n  thrown in /var/www/html/sharepoint/vendor/vgrem/php-spo/src/Runtime/Auth/SamlTokenProvider.php on line 161, referer: http://192.168.10.54/sharepoint/
 
- Ariën  -
Beheerder

- Ariën -

10/07/2020 19:57:10
Quote Anchor link
Heb je de relevante code die erbij hoort in max. 20 regels?
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 20:07:19
Quote Anchor link
Je bedoeld neem ik aan de code die deze error geeft?
 
- Ariën  -
Beheerder

- Ariën -

10/07/2020 20:12:22
Quote Anchor link
Ja
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 20:32:35
Quote Anchor link
Dit is een van hun examples in hun map.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

require_once __DIR__ . '/vendor/autoload.php';
$settings = include( __DIR__ . '/Settings.php');


use Office365\SharePoint\ClientContext;



try {
    $ctx = ClientContext::connectWithUserCredentials($settings['Url'], $settings['UserName'], $settings['Password']);
    //$ctx = ClientContext::connectWithClientCredentials($Settings['Url'], $Settings['ClientId'], $Settings['ClientSecret']);
    $site = $ctx->getSite();
    $ctx->load($site); //load site settings
    $ctx->executeQuery();
    print $site->getUrl();
}

catch (Exception $e) {
    echo 'Authentication failed: ',  $e->getMessage(), "\n";
}
  ?>
 
- Ariën  -
Beheerder

- Ariën -

10/07/2020 20:54:16
Quote Anchor link
Gooi $ctx eens in een var_dump() en wat zie je dan?
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 20:57:05
Quote Anchor link
Krijg gewoon 500 fout te zien of moet ik weer in die error log kijken?
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.