| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Basic wrapper for the OAuth-based FitBit REST API. See dev.fitbit.com for details on their OAuth implementation.
Both this library and the Fitbit API are in beta.
This library does not require the PHP OAuth extension. It should work on any server with PHP >= 5.3.
This package is installable with composer: "popthestack/fitbit": "dev-master"
You need a consumer key and secret. You can obtain them by registering an application at http://dev.fitbit.com.
Simple, but full OAuth workflow example:
$factory = new \Fitbit\ApiGatewayFactory;
$factory->setCallbackURL($callback_url);
$factory->setCredentials($consumer_key, $consumer_secret);
$adapter = new \OAuth\Common\Storage\Session();
$factory->setStorageAdapter($adapter);
$auth_gateway = $factory->getAuthenticationGateway();
if (isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) {
$auth_gateway->authenticateUser($_GET['oauth_token'], $_GET['oauth_verifier']);
} elseif (isset($_GET['connect'])) {
$auth_gateway->initiateLogin();
}
if ($auth_gateway->isAuthorized()) {
$user_gateway = $factory->getUserGateway();
$user_profile = $user_gateway->getProfile();
echo '<pre>';
print_r($user_profile);
echo '</pre>';
} else {
echo 'Not connected.';
}If you want to retrieve the OAuth token and secret from the session to store elsewhere (e.g. a database):
$storage = $factory->getStorageAdapter();
$token = $storage->retrieveAccessToken('FitBit');
// Save these somewhere:
$oauth_token = $token->getRequestToken();
$oauth_secret = $token->getRequestTokenSecret();Here's how to use your OAuth token and secret without the Session storage adapter. It's a little cumbersome, but it works. If I ever have time for it, I'd like to replace the current OAuth library with something that doesn't enforce so much... stuff.
$token = new \OAuth\OAuth1\Token\StdOAuth1Token();
$token->setRequestToken($oauth_token);
$token->setRequestTokenSecret($oauth_secret);
$token->setAccessToken($oauth_token);
$token->setAccessTokenSecret($oauth_secret);
$adapter = new \OAuth\Common\Storage\Memory();
$adapter->storeAccessToken('FitBit', $token);
$factory->setStorageAdapter($adapter);
$user_gateway = $factory->getUserGateway();
$food_gateway = $factory->getFoodGateway();
$user_profile = $user_gateway->getProfile();
$user_devices = $user_gateway->getDevices();
$foods = $food_gateway->searchFoods('banana split');
echo '<pre>';
print_r($user_profile);
print_r($user_devices);
print_r($foods);
echo '</pre>';| Back | FazBrowse Home | New Git URL |