A PHP library for the Moves App API
Switch branches/tags
Nothing to show
Clone or download
Latest commit 2df3806 Jun 21, 2017
Failed to load latest commit information.
example Added example code and token refresh Apr 1, 2015
.gitignore Add Git Ignore Apr 1, 2015
LICENSE Initial commit Feb 27, 2014
Moves.php Mejoras May 8, 2015
README.md Fix readme headers Jun 11, 2017
composer.json Added composer.json. Nov 22, 2014


PHPMoves, a PHP library for the Moves App API based on PyMoves


Create a new instance of the PHPMoves class using the client_id and client_secret provided by moves

$m = new PHPMoves\Moves('client_id','client_secret','redirect_url');

Generate a request URL and present it to the user.

$request_url = $m->requestURL();
<a href="<?php echo $request_url; ?>">Click Here</a>

Once the user has authenticated successfully they will be redirected back to the redirect_url with an authorization code included in the request. This code is passed to the auth method to obtain an access_token and refresh_token. The access token will be used for all future API calles. The refresh_token is used to request a new access_token if the current token becomes invalid or expires.

$request_token = $_GET['code'];
$tokens = $m->auth($request_token);
$access_token = $tokens['access_token'];
$refresh_token = $tokens['refresh_token'];

The access_token can now be used to make API.

echo json_encode($m->get_profile($access_token));

Class Methods


Generates a URL for the move API authentication page.


Checks if an access_token is valid returns false if the token has been expired or revoked.


Exchanges an authorization code for an access token and refresh token. Returns an associative array containing both.


Refreshes the access token and refresh token also expires both old tokens. Returns an associative array containing the updated tokens.


Returns the users moves profile as an array.

get_range($access_token, $endpoint, $start, $end, $otherParameters = array())

Used to fetch API data between two date ranges $start and $end need to be a date in the format yyyyMMdd or yyyy-MM-dd the maximum request size is 7 days. Returns an array, see examples for usage.

$summary = $m->get_range($access_token,'/user/summary/daily', $start, $end)
$activities = $m->get_range($access_token,'/user/activities/daily', $start, $end)
$places = $m->get_range($access_token,'/user/places/daily', $start, $end)
$storyline = $m->get_range($access_token,'/user/storyline/daily', $start, $end)