1. Go to this page and download the library: Download pdjshog/onedrive-php-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
// index.php
($config = include __DIR__ . '/config.php') or die('Configuration file not found');
$client = Onedrive::client($config['ONEDRIVE_CLIENT_ID']);
// Gets a log in URL with sufficient privileges from the OneDrive API.
$url = $client->getLogInUrl([
'files.read',
'files.read.all',
'files.readwrite',
'files.readwrite.all',
'offline_access',
], $config['ONEDRIVE_REDIRECT_URI']);
session_start();
// Persist the OneDrive client' state for next API requests.
$_SESSION['onedrive.client.state'] = $client->getState();
// Redirect the user to the log in URL.
header('HTTP/1.1 302 Found', true, 302);
header("Location: $url");
// redirect.php
($config = include __DIR__ . '/config.php') or die('Configuration file not found');
d not
// log in successfully or did not grant privileges requested), we cannot proceed
// in obtaining an access token.
if (!array_key_exists('code', $_GET)) {
throw new \Exception('code undefined in $_GET');
}
session_start();
// Attempt to load the OneDrive client' state persisted from the previous
// request.
if (!array_key_exists('onedrive.client.state', $_SESSION)) {
throw new \Exception('onedrive.client.state undefined in $_SESSION');
}
$client = Onedrive::client(
$config['ONEDRIVE_CLIENT_ID'],
[
// Restore the previous state while instantiating this client to proceed
// in obtaining an access token.
'state' => $_SESSION['onedrive.client.state'],
]
);
// Obtain the token using the code received by the OneDrive API.
$client->obtainAccessToken($config['ONEDRIVE_CLIENT_SECRET'], $_GET['code']);
// Persist the OneDrive client' state for next API requests.
$_SESSION['onedrive.client.state'] = $client->getState();
// Past this point, you can start using file/folder functions from the SDK, eg:
$file = $client->getRoot()->upload('hello.txt', 'Hello World!');
echo $file->download();
// => Hello World!
$file->delete();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.