微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用gethealth api在laravel中获取当前日期google fit步数?

如何解决如何使用gethealth api在laravel中获取当前日期google fit步数?

我开发了一个健身仪表板。它显示用户当前的步数、卡路里消耗、跨越的公里数。为此,我正在使用 gethealth api https://platform.gethealth.io/docs 。我可以正确获取以前的日期数据,但无法获取当前日期的数据。它返回空数组。也请给我一些 gethealth 的替代方案。

以下步骤:

步骤 1:在 gethealth 中创建帐户并使用 https://platform.gethealth.io/docs/#!/Account_API/CreateUser 添加用户并将 accesstoken 存储在 MysqL 数据库

第 2 步:使用 https://platform.gethealth.io/docs/#!/Account_API/get_v1_health_user_devices添加用户获取设备并从响应中获取连接 URL。发送给用户。这样他们就可以将 google fit 与 gethealth 联系起来。

第 3 步:使用 https://platform.gethealth.io/docs/#!/Health_Panel_API/post_v1_health_user_daily_summary

获取当天活动
public function getMembers(){
    $response_arr = array();
    try{
        $members = DB::table('users')
                    ->select('user_id','name','email','role','get_health_id','get_health_access_token','profile_picture')
                    ->where('status','A')
                    ->get();
        
        $curr_date = date('Y-m-d');
        $st_date = $curr_date."T00:00:00";
        $end_date = $curr_date."T23:59:59";
        if(count($members) > 0){
            foreach ($members as $member) {
                $token = $member->get_health_access_token;
                if(!empty($token)){

                $url = "https://platform.gethealth.io/v1/health/user/daily_summary?";

                $get_daily_data_params = array(
                            "access_token" => $token,"limit"        => 100,"start_date"   => $st_date,"end_date"     => $end_date,"source"       => "googlefit"
                        );
                       
                        
                    $params_str = http_build_query($get_daily_data_params);
                    $url .= $params_str;
                    $ch = curl_init($url);
                    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
                    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,CURLOPT_RETURNTRANSFER,1);
                    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));

                    $response = curl_exec($ch);
                    $daily_data_arr = json_decode($response,true);
                    curl_close($ch);

                    if(count($daily_data_arr['daily_summary']) > 0){
                        $member->google_fit_data = $daily_data_arr['daily_summary'][0];
                    }else{
                        $member->google_fit_data = "";
                    }
                }
                }
               
            $response_arr['status'] = "success";
            $response_arr['data']   = $members;
            $response_arr['date']   = $curr_date;
        }else{
            $response_arr['status'] = "error";
            $response_arr['message'] = "User Not Found";
        }
        
    } catch(Exception $e){
        $response_arr['status'] = "error";
        $response_arr['message']   = $e->getMessage();
    }

    return $response_arr;
}

这些步骤是我遵循的。但我无法获得当前日期的数据。 我也试过同步 api https://platform.gethealth.io/docs/#!/Account_API/post_v1_health_account_syncs。但没有用。 请帮帮我。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。