Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/diversen/simple-php-github-api
a simple php github api
https://github.com/diversen/simple-php-github-api
github-api
Last synced: 11 days ago
JSON representation
a simple php github api
- Host: GitHub
- URL: https://github.com/diversen/simple-php-github-api
- Owner: diversen
- Created: 2012-12-26T18:26:22.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2016-02-16T10:24:54.000Z (almost 9 years ago)
- Last Synced: 2024-11-17T05:38:35.444Z (about 1 month ago)
- Topics: github-api
- Language: PHP
- Size: 468 KB
- Stars: 15
- Watchers: 3
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About
Very simple github API for PHP using OAuth. 37 LOC for the API class. And a
curl helper class with 84 LOC.# Install `simple-php-github-api`
php composer.phar require diversen/simple-php-github-api:
Or if you have placed composer.phar in `your path` as composercomposer require diversen/simple-php-github-api
# Brief explantion.
There is really only tree methods you can do. Let us see those three methods first.
(Further below is an complete example using the built-in server for easy testing).1) Generate an access URL to github.com
~~~.php
$access_config = array (
'redirect_uri' => GITHUB_CALLBACK_URL,
'client_id' => GITHUB_ID,
'state' => md5(uniqid()),
'scope' => 'user'
);$api = new githubapi();
$url = $api->getAccessUrl($access_config);
echo "Github Login";
~~~2) Callback from github.com
~~~.php
$access_config = array (
'redirect_uri' => GITHUB_CALLBACK_URL,
'client_id' => GITHUB_ID,
'client_secret' => GITHUB_SECRET
);$api = new githubapi();
$res = $api->setAccessToken($access_config);if ($res) {
// OK
This is where we will call the api
header("Location: /api_call.php");
} else {
// Not OK. echo errors
echo "Could not get access token. Errors:
";
print_r($api->errors);
}
~~~3) API call
For full listing see: [https://developer.github.com/v3/](https://developer.github.com/v3/)
~~~.php
// We have a access token and we can now call the api:
$api = new githubapi();// Simple call - API get current users credentials
// This can also be done without scope// example
// $command = '/user',
// $request = 'GET', 'POST' or 'PATCH' or 'DELETE' etc. Se API:
// $post = variables to POST array$command = "/user";
$res = $api->apiCall($command, $request = null, $post = null);
if (!$res) {
print_r($api->errors);
die;
} else {
print_r($res);
}
~~~# Full example
Example you can run right away using the built-in PHP-server.
## Make a github app
Log into [github.com](github.com)
Register a new application at [https://github.com/settings/developers](https://github.com/settings/developers)
You will see something like this:
![My settings](https://raw.githubusercontent.com/diversen/simple-php-github-api/master/github-api.png "My settings")
Create your app.
Enter base_dir of the `simple-php-github-api`:
cd vendor/diversen/simple-php-github-api
## Configuration
cp example/config.php-dist example/config.php
Edit config
Set config in `example/config.php` according to above settings and
the screenshot above.Run test-server with example:
php -S localhost:8080 -t example/
## More github API info
For full listing of all API calls check:
[https://developer.github.com/v3/](https://developer.github.com/v3/)
Scope:
[https://developer.github.com/v3/oauth/#scopes](https://developer.github.com/v3/oauth/#scopes)
I have not tested many calls - but you should be able to use all. E.g. POST,
or PATCH, DELETE.## Support
Create an issue, and Let me hear if it does not work out for you.