PHPackages                             lovattj/php-skydrive - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. lovattj/php-skydrive

ActiveLibrary[API Development](/categories/api)

lovattj/php-skydrive
====================

A PHP client library for Microsoft SkyDrive/OneDrive

v1.0(12y ago)3923.1k21[7 issues](https://github.com/lovattj/php-skydrive/issues)[2 PRs](https://github.com/lovattj/php-skydrive/pulls)GPLPHPPHP &gt;=5.3.0

Since May 19Pushed 11y ago13 watchersCompare

[ Source](https://github.com/lovattj/php-skydrive)[ Packagist](https://packagist.org/packages/lovattj/php-skydrive)[ Docs](https://github.com/lovattj/php-onedrive)[ RSS](/packages/lovattj-php-skydrive/feed)WikiDiscussions master Synced 6d ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

php-skydrive
============

[](#php-skydrive)

A PHP client library for Microsoft SkyDrive/OneDrive. This is very much a work in progress! See the Wiki for updates and documentation!

Update 19-May-2014 - Composer.

- By request, I've created a composer.json and published "lovattj/php-skydrive": "v1.0" on Packagist.
- I've also added an autoloader definition.
- I've not got much Composer or autoloading experience, so if it doesn't work please let me know!

Update 18-May-2014 - IMPORTANT CHANGE.

- `get_folder` now returns a multidimensional array.
- `$array['data']` is now the array of files.
- `$array['paging']` is an array of page tokens used for pagination.
- Previous behavior was that `$array` on it's own was the array of files only.
- Please update code accordingly and see the Wiki or example project for more information.

Update 19-Feb-2014:

- Yes! It works with OneDrive fine (new name for SkyDrive).
- Added support for refresh tokens.
- You can now build apps that don't require re-authentication every 60 minutes.
- Also implemented functions to help you build a token store, to help you store tokens if you want to.
- See the Wiki for more information - there are some major changes.

Update 1-Nov-2013:

- Converted into a Class
- First, edit `functions.inc.php` and include your Live Client ID, Secret Key and oAuth callback URL.
- Call `skydrive_auth::build_oauth_url();` to obtain an oAuth URL.
- Redirect your user to that URL, then call `skydrive_auth::get_oauth_token($_GET['code']);` on the callback to obtain an access token.
- Once you have an access token, create a new object - `$sd = new skydrive($access_token);`.
- Then call the specified method - `$response = $sd->get_folder();`
- Exceptions will be thrown when a non-200 HTTP status code is encountered.
- I'll update the Wiki with new class documentation. Thanks!

System Requirements:

- PHP 5 (I tested with 5.3.3)
- cURL extension for PHP

How to install manually:

- Clone project
- Edit "src/functions.inc.php" and include your Live Client ID, Secret Key and oAuth callback URL in relevant places.
- Require "src/functions.inc.php", create an object and start calling functions!

How to install via Composer:

- Require "lovattj/php-skydrive": "v1.0" in your composer.json
- Edit "vendor/lovattj/php-skydrive/src/functions.inc.php" and include your Live Client ID, Secret Key and oAuth callback URL in relevant places.
- Require "vendor/lovattj/php-skydrive/src/functions.inc.php", create an object and start calling functions!

How to get the example running:

- Deploy to your web server
- Make sure the file "example/tokens" is read+writable by your web user.
- Edit "src/functions.inc.php" and include your Live Client ID, Secret Key and oAuth callback URL in relevant places.
- Hit "example/index.php" and follow the prompts to login with SkyDrive!

Questions/Comments:

- E-Mail me at

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4381d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2c5dfd255eb3132318a5c82f277545f86d11b8d7f23a7e8119c5f388f7696e58?d=identicon)[lovattj](/maintainers/lovattj)

---

Top Contributors

[![lovattj](https://avatars.githubusercontent.com/u/3456906?v=4)](https://github.com/lovattj "lovattj (37 commits)")[![vanekjar](https://avatars.githubusercontent.com/u/6866668?v=4)](https://github.com/vanekjar "vanekjar (3 commits)")

---

Tags

phpapiclientmicrosoftOneDriveSkyDrive

### Embed Badge

![Health badge](/badges/lovattj-php-skydrive/health.svg)

```
[![Health](https://phpackages.com/badges/lovattj-php-skydrive/health.svg)](https://phpackages.com/packages/lovattj-php-skydrive)
```

###  Alternatives

[kunalvarma05/dropbox-php-sdk

Dropbox PHP API V2 SDK (Unofficial)

3633.0M18](/packages/kunalvarma05-dropbox-php-sdk)[mozex/anthropic-php

Anthropic PHP is a supercharged community-maintained PHP API client that allows you to interact with Anthropic API.

46365.1k13](/packages/mozex-anthropic-php)[google-gemini-php/symfony

Symfony Bundle for Gemini

149.4k1](/packages/google-gemini-php-symfony)[sima-land/api-php-client

Client library for Simaland APIs

311.5k](/packages/sima-land-api-php-client)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
