Skip to content

Latest commit

 

History

History
106 lines (77 loc) · 2.86 KB

README.rst

File metadata and controls

106 lines (77 loc) · 2.86 KB

Mute Facebook

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