A PHP library for the Moves App API
Latest commit c293238 Apr 1, 2015 zabouth Code Tidy


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)