<?php
/**
* 名称:QQ运动接口
* 出处:https://www.yowal.cn/
* 方式:POST
* 参数:openid,access_token,steps
* 时间:2019年10月25日
*/
error_reporting(0);
date_default_timezone_set('PRC');
//define('IN_CRONLITE', true);
header('Access-Control-Allow-Origin: *');
header('Content-type: application/json');
function getKey($str) {
$string = $str."qlDFDfnbma!@23DKEd[";
$bytes = array();
for ($i = 0; $i < strlen($string); $i++) {
$bytes[] = ord($string[$i]);
}
$arr = Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$arr2 = [];
$i2 = 0;
foreach($bytes as $ch) {
$arr2[($i2 * 2) + 1] = $arr[($ch >> 4) & 15];
$arr2[($i2 * 2) + 0] = $arr[$ch & 15];
$i2++;
}
return implode("",$arr2);
}
function request_post($url, $post_data) {
$ch = curl_init();
//初始化curl
curl_setopt($ch, CURLOPT_URL,$url);
//抓取指定网页
curl_setopt($ch, CURLOPT_HEADER, 0);
//设置header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_POST, 1);
//post提交方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$data = curl_exec($ch);
//运行curl
curl_close($ch);
return $data;
}
$time = date("H",time());
if ($time <= 6 || $time >= 24) {
$arr = array('ret' => -1,'msg' => 'QQ运动刷步失败!原因:当前时间段禁止刷步');
$json_string = json_encode($arr,JSON_UNESCAPED_UNICODE);
die($json_string);
}
$appid = '1101326786';
$steps = isset($_GET['steps']) ? $_GET['steps'] : $_POST['steps'];
$openid = isset($_GET['openid']) ? $_GET['openid'] : $_POST['openid'];
$access_token = isset($_GET['access_token']) ? $_GET['access_token'] : $_POST['access_token'];
$arr = array(
array(
'time' => time(),
'distance' => floor(intval($steps) / 2),
'steps' => intval($steps),
'type' => 1,
'duration' => 0,
'calories' => 0
)
);
$json_string = json_encode($arr);
$key = getKey($json_string);
$post_data = array();
$post_data['access_token'] = $access_token;
$post_data['oauth_consumer_key'] = $appid;
$post_data['openid'] = $openid;
$post_data['pf'] = 'qzone';
$post_data['data'] = $json_string;
$post_data['format'] = 'json';
$post_data['key'] = $key;
$post_data["version"] = '1.1';
$str = "";
foreach ($post_data as $k => $v) {
$str.= urlencode($k).'='.urlencode($v).'&';
}
$post_data = substr($str,0,-1);
$post_url = 'https://openmobile.qq.com/v3/health/report_health_data';
$response = request_post($post_url,$post_data);
$rep = json_decode($response,true);
if ($rep['ret'] != 0) {
$arr = array('ret' => $rep['ret'],'msg' => 'QQ运动刷步失败!原因:'.$rep['msg']);
$json_string = json_encode($arr,JSON_UNESCAPED_UNICODE);
die($json_string);
}
$arr = array('ret' => 0,'msg' => 'QQ运动刷步成功!');
$json_string = json_encode($arr,JSON_UNESCAPED_UNICODE);
die($json_string);
?>
最后修改:2021 年 09 月 11 日
© 允许规范转载
6 条评论
接口失效了,请问还有新接口吗
没有了,我都没有研究过了
完了 接口凉了。。。。
已经找到新接口了
确实
请问参数内的openid和token怎么获取呢?