zabouth/phpmoves

该包已被 弃用 且不再维护。未建议替代包。

Moves App API

dev-master 2015-04-19 01:45 UTC

This package is not auto-updated.

Last update: 2023-08-29 03:58:33 UTC


README

## 工作流程

使用moves提供的client_id和client_secret创建PHPMoves类的新实例

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

生成请求URL并展示给用户。

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

一旦用户成功认证,他们将被重定向回redirect_url,并在请求中包含一个授权码。此代码传递给auth方法以获取access_token和refresh_token。访问令牌将用于所有未来的API调用。refresh_token用于在当前令牌无效或过期时请求新的access_token。

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

现在可以使用access_token进行API调用。

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

## 类方法

##### requestURL() 生成move API认证页面的URL。

##### validate_token($access_token) 检查access_token是否有效,如果令牌已过期或被撤销则返回false。

##### auth($authorization_code) 将授权码交换为访问令牌和刷新令牌。返回包含两者的关联数组。

##### refresh($refresh_token) 刷新访问令牌和刷新令牌,同时过期旧令牌。返回包含更新令牌的关联数组。

##### get_profile($access_token) 返回用户moves配置文件作为数组。

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

用于获取两个日期范围之间的API数据 $start$end 需要为格式 yyyyMMddyyyy-MM-dd 的日期,最大请求大小为7天。返回一个数组,请参阅示例以了解用法。

$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)