Bestanden uploaden naar sharepoint dmv php?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

- Ariën  -
Beheerder

- Ariën -

10/07/2020 20:58:03
Quote Anchor link
Dat zou je gewoon normaal op je scherm moeten krijgen dan, tenzij je wat fout doet.
var_dump
Gewijzigd op 10/07/2020 20:58:24 door - Ariën -
 
PHP hulp

PHP hulp

19/04/2024 05:21:08
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 20:59:26
Quote Anchor link
Daar had ik net even gekeken om te zien wat je precies bedoelde :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
try {
    $ctx = ClientContext::connectWithUserCredentials($settings['Url'], $settings['UserName'], $settings['Password']);
     var_dump($ctx);
    //$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 21:09:35
Quote Anchor link
En wat komt daar uit?
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 21:10:19
Quote Anchor link
500 fout
 
- Ariën  -
Beheerder

- Ariën -

10/07/2020 21:19:33
Quote Anchor link
Lekker duidelijk inderdaad!
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 21:20:57
Quote Anchor link
Je was mij voor dus nu even opnieuw proberen :)
Ik heb die setting verwijzing in de code weg gehaald en manueel alles ingevuld van link en username en password en nu krijg ik dit te zien.:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
object(Office365\SharePoint\ClientContext)#8 (8) { ["site":"Office365\SharePoint\ClientContext":private]=> NULL ["web":"Office365\SharePoint\ClientContext":private]=> NULL ["contextWebInformation":"Office365\SharePoint\ClientContext":private]=> NULL ["pendingRequest":"Office365\SharePoint\ClientContext":private]=> NULL ["serviceRootUrl":"Office365\Runtime\ClientRuntimeContext":private]=> string(50) "https://qcpbv.sharepoint.com/sites/Logboeken/_api/" ["version":"Office365\Runtime\ClientRuntimeContext":private]=> string(4) "v1.0" ["authContext":"Office365\Runtime\ClientRuntimeContext":private]=> object(Office365\Runtime\Auth\AuthenticationContext)#3 (2) { ["provider":"Office365\Runtime\Auth\AuthenticationContext":private]=> object(Office365\Runtime\Auth\SamlTokenProvider)#2 (5) { ["usingFederatedSTS":protected]=> bool(false) ["authorityUrl":protected]=> string(44) "https://qcpbv.sharepoint.com/sites/Logboeken" ["FedAuth":"Office365\Runtime\Auth\SamlTokenProvider":private]=> string(924) "77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U1A+VjgsMGguZnxtZW1iZXJzaGlwfDEwMDMyMDAwYzUzMTJjYjlAbGl2ZS5jb20sMCMuZnxtZW1iZXJzaGlwfHJwaXNlcnZlckBxY3BvbHltZXJzLmNvbSwxMzIzODg4MjI4MjAwMDAwMDAsMTMyMzU2NDczNzEwMDAwMDAwLDEzMjM4OTY4NjgzMTk5NjMyNCwwLjAuMC4wLDIsY2VlMmQ5MTMtNDE3YS00ODM0LWI5Y2YtMTBjNDJhNmQwZjY4LCwsNjljNTY0OWYtMTBlNy0yMDAwLTI5OTctMDUyZTdhYTlhZGQ1LDY5YzU2NDlmLTEwZTctMjAwMC0yOTk3LTA1MmU3YWE5YWRkNSwsMCwwLDAsLCwsMjY1MDQ2Nzc0Mzk5OTk5OTk5OSwwLCxsek1wSlNQVngwZ0hQSS8vNTE5cm45c0JzcElQdFRXZ2xoNjlWa3ZIZmJvckdxRFhzaE00dW5zaEhTMk5uWVNQYUY5OXJYV3pKd0ZSdVlPa0dwUGVKMmVvSldCeXAySmM2VVQvbisxSktXUGhxUHhaaVJsMk9CTWovQWZYNFN2L1VSUVovOGliZEltSFBMc014VVVzaGNNQmpibEt0aVBsaG9DYktQYUppWlRidVRzbXBXNVJWWjJsY0tac3NsNFZMYlU0cnZlTGg3SUdpQmthUndnVGw3UmtrcW5GYWIwQWxDdTNkOXN3ejFCTVVpb3FkWFZPbWtYTE4wWlYyZmdMOHU2ZnNwdWZpZnI3eUFTUkNyYytDRUplRlQ0OFhmMzBlVHJ1eENnRDJiM1pZaWY5cWdzUVNEQ1pvakc1NXBPNUpndE0yV2d5cEhWL05LVmJ1TFlTQmc9PTwvU1A+" ["rtFa":"Office365\Runtime\Auth\SamlTokenProvider":private]=> string(440) "ZY2TE+Bs7W5tVn7XX8qpqzQNpKGFtTGAz3kizTAOVMEmQ0VFMkQ5MTMtNDE3QS00ODM0LUI5Q0YtMTBDNDJBNkQwRjY4GR8CHJuEzWVEOQ9aH+DHsGKt6QLOxuB393BpPqlZu7zoltrcSvvceTHxdiMsEXNuE2M3Wd8Eev17E7asNIQ5JMNpUn/LJZCYsKsx2pl/s/S5DpBk+N9N7nIdCBCyzeR/Z+yuzA4Q5oGdKHvd/6g/+ENr8h/Lx/on/iZhL4BXDuwc02KxosgQjzcbR38wOYCCjim/3pXw9IV5+6mf+rL4BgfvaQu7kZQiaymQaPF9Op68vFGVv/jgMeVJNw7INKsQvukdHg+ugenNIoLJ8EqEP7jc5lQGTwPAz/ffJ765aH83D+5Fp+W0zpuc+uKyqVP+20MVW6qCEwx4tlZDjGemIEUAAAA=" ["SPOIDCRL":"Office365\Runtime\Auth\SamlTokenProvider":private]=> NULL } ["authorityUrl":"Office365\Runtime\Auth\AuthenticationContext":private]=> string(44) "https://qcpbv.sharepoint.com/sites/Logboeken" } ["RequestSchemaVersion"]=> NULL } https://qcpbv.sharepoint.com/sites/Logboeken


weet nu niet of dat die var toont of dat het dien link is wat hij zou moeten printen, maar het is tenminste al iets :)
Gewijzigd op 10/07/2020 21:23:13 door Pascal Schuffelers
 
- Ariën  -
Beheerder

- Ariën -

10/07/2020 21:28:53
Quote Anchor link
Ik ben niet bekend met Sharepoint, maar ik zie toch iets van een token over de lijn gaan. Dus er lijkt wel iets te gebeuren. Je kan even goed verder debuggen met var_dump op de daaropvolgende variabelen.

Als je volgende keer weer een var_dump hier plaatst, gooi er wat enter in zodat we niet lang hoeven te scrollen ;).
 
Pascal Schuffelers

Pascal Schuffelers

10/07/2020 21:31:08
Quote Anchor link
Zal ik doen, blijkt dus toch dat die var die grote tekst laat zien want haal ik die weg krijg ik een link te zien wat ook volgens die print zou moeten komen.
Denk alleen dat die catch niet correct is want als ik het wachtwoord verander zou volgens de code Authentication failed moeten komen maar dan krijg ik weer error 500 fout.

Toevoeging op 10/07/2020 22:00:03:

Gevonden, even opgezocht bij php7.: On PHP >= 7, most fatal errors are reported not by raising an error, but by throwing an Error object.
Furthermore, both Error and Exception classes implement the Throwable interface, so you could catching that directly:

Dus heb ik het nu zo werkend.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
try {
    $ctx = ClientContext::connectWithUserCredentials('https://xxxxx.sharepoint.com/sites/xxxxx', 'xxxxxx', 'xxxxxxx');
    // var_dump($ctx);
    //$ctx = ClientContext::connectWithClientCredentials($Settings['Url'], $Settings['ClientId'], $Settings['ClientSecret']);
    $site = $ctx->getSite();
    $ctx->load($site); //load site settings
    $ctx->executeQuery();
    print $site->getUrl();

}
catch (\Throwable $e) {
    echo 'Authentication failed: ',  $e->getMessage(), "\n";
}


Nu is inloggen enz werkend, tenminste de Autorisatie.
Op naar proberen een bestand te downloaden, zal dit in deze topic verder aanhouden met eventuele vragen of problemen.
Gewijzigd op 10/07/2020 22:01:09 door Pascal Schuffelers
 
Thomas van den Heuvel

Thomas van den Heuvel

10/07/2020 22:20:14
Quote Anchor link
Mja, een niet-gevangen exception resulteert altijd in een Fatal Error.

De "$e" die je probeerde te vangen was dan blijkbaar niet van de klasse Exception, of een klasse die daarvan is afgeleid. Maar om nu terug te vallen op Throwable is volgens mij niet heel erg netjes.

Je zou voor de gein eens kunnen kijken van welke klasse $e is met behulp van get_class() en dan eens kijken of dat niet netter geprogrammeerd kan worden (door het indienen van een ticket ofzo).

EDIT: te meer omdat hun eigen example dus blijkbaar niet (meer) werkt.
Gewijzigd op 10/07/2020 22:21:29 door Thomas van den Heuvel
 
Pascal Schuffelers

Pascal Schuffelers

25/07/2020 09:23:19
Quote Anchor link
Aangezien er meer mensen zijn, die wellicht hiervan gebruik willen maken.
Na lang spitten op internet heb ik een betere oplossing gevonden, namelijk RClone.
Hiermee kun je in principe alles doen op meer als 20 verschillende drives zoals Google drive, sharepoint, onedrive en meer.
 

Pagina: « vorige 1 2



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.