mute / facebook
Implements Graph API and some of the OAuth facilities to operate with Facebook
Installs: 4 334
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 3
Forks: 3
Open Issues: 0
Requires
- php: >=5.3.0
- lib-curl: *
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-12-21 16:00:00 UTC
README
Implements Graph API and some of the OAuth facilities to operate with Facebook. See examples for usage.
This library package requires PHP 5.3 or later.
How to use this library
Simple requests:
<?php $app = new \Mute\Facebook\App(APP_ID, APP_SECRET, APP_NAMESPACE); // get name of a user $response = $app->get(USER_ID, array('fields' => 'name')); echo "user's name is " . $response['name']; // or the full response $response = $app->get(USER_ID, array('fields' => 'name'), null, true); echo "user's name is " . $response['body']['name']; // post a photo $response = $app->post(USER_ID . '/photo', null, array( 'source' => PHOTO_FILENAME )); // get the fresh list friends $response = $app->get(USER_ID . '/friends', null, null, array( 'If-None-Match: ' . PREVIOUS_ETAG, ));
By default, app access token will be automatically append. If you need to request with a custom access_token:
<?php $data = $app->get('me', array( 'access_token' => MY_ACCESS_TOKEN, )); // or $customApp = $app->getAuthenticatedGraphApi(MY_ACCESS_TOKEN); $data = $customApp->get('me');
Batched requests:
<?php // only bodies $responses = $customApp->batch() ->get('me') ->get('me/friends', array('limit' => 50)) ->execute(); // or $responses = $customApp->batch(function($app) { $app->get('me'); $app->get('me/friends', array('limit' => 50)); }); // for full responses, you can do $responses = $customApp->getAuthenticatedGraphApi(MY_ACCESS_TOKEN)->batch() ->get('me') ->get('me/friends', array('limit' => 50)) ->execute(true); // or $responses = $customApp->batch(function($customApp) { $customApp->get('me'); $customApp->get('me/friends', array('limit' => 50)); }, true);
Sometimes you need more control of the http request. for this you can manipulate the options:
<?php // fetching a paginated list of friends can very long, set up the timeout to 30 seconds $app->setOptions('timeout', 60); $friends = $app->get(USER_ID . '/friends', array( 'offset' => 5000, 'limit' => 5000, )); // once finished, you can reset the options $app->resetOptions();
Api will hit default graph api version. You may change version:
<?php $app = $app->changeVersion('v2.0');
More
For generating the API doc, install apigen, and then run:
$ apigen -c apigen.neon
For running unittests, install PHPUnit, and then run:
$ phpunit -c tests/phpunit.xml