<p>使用Garmin的健康健康API時,獲取到空的響應數組,不顯示任何錯誤,只返回一個空的數組,我很困惑,沒有找到任何解決方案,我的代碼如下:</p> ;
<pre class="brush:php;toolbar:false;">public static function get_garmin_health_data(Request $request)
{
// dd(date('Y-m-d H:i:s'));
$garmin_consumer_key = env('CONSUMERKEY');
$garmin_consumer_secret = env('CONSUMERSECRET');
$twitter_access_token = $request->oauth_token ?? '';
$twitter_access_token_secret = $request->oauth_token_secret ?? '';
$twitter_version = '1.0';
$sign_method = 'HMAC-SHA1';
date_default_timezone_set('Asia/kolkata');
// $end_time = Carbon::now()->timestamp; // 產生類似1552296328的時間戳
// $start_time = Carbon::now()->subDays(1)->timestamp;
$start_time = strtotime('-20 hours');
$end_time = time();
// dd($start_time);
// $time = $request->oauth_nonce;
$time = time();
// $post = '{"event":{"type":"message_create","message_create":{"target":{");recipient_id":{"target":{"recipient_id":{"target":{"recipient_id":" :{"text":"Hello world"}}}}';
$post = '{}';
$url = 'https://apis.garmin.com/wellness-api/rest/dailies';
$param_string = 'oauth_consumer_key=' 。 $garmin_consumer_key 。
'&oauth_nonce=' 。 $時間。
'&oauth_signature_method=' 。 $sign_method 。
'&oauth_timestamp=' 。 $時間。
'&oauth_token=' 。 $twitter_access_token 。
'&oauth_version=' 。 $twitter_version 。
'&uploadEndTimeInSeconds=' . $end_time 。
'&uploadStartTimeInSeconds=' . $開始時間;
// 為POST產生簽章基本字串
$base_string = '取得&' 。 rawurlencode($url) 。 '&' 。 rawurlencode($param_string);
// dd($base_string);
$sign_key = rawurlencode($garmin_consumer_secret) 。 '&' 。 rawurlencode($twitter_access_token_secret);
// 產生唯一簽名
$signature = base64_encode(hash_hmac('sha1', $base_string, $sign_key, true));
$curl_header = 'OAuth oauth_consumer_key="' 。 rawurlencode($garmin_consumer_key) 。 '','。
'oauth_nonce='' 。 rawurlencode($time) 。 '','。
'oauth_signature ='' 。 rawurlencode($signature) 。 '','。
'oauth_signature_method ='' 。 $sign_method 。 '','。
'oauth_timestamp='' 。 rawurlencode($time) 。 '','。
'oauth_token='' 。 rawurlencode($twitter_access_token) 。 '','。
'oauth_version ='' 。 $twitter_version 。 ''';
$url2 = 'https://apis.garmin.com/wellness-api/rest/dailies?uploadStartTimeInSeconds=' 。 $開始時間。 '&uploadEndTimeInSeconds=' . $結束時間;
$curl =curl_init();
curl_setopt_array($curl, 陣列(
CURLOPT_URL =>; $url2,
CURLOPT_RETURNTRANSFER =>;真的,
CURLOPT_ENCODING =>; '',
CURLOPT_MAXREDIRS =>; 10、
CURLOPT_TIMEOUT =>; 0,
CURLOPT_FOLLOWLOCATION =>;真的,
CURLOPT_HTTP_VERSION =>; CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST =>; '得到',
CURLOPT_HTTPHEADER =>;大批(
'授權:' 。 $curl_header,
),
));
$回應=curl_exec($curl);
dd($響應);
捲曲_關閉($捲曲);
$res = json_decode($response);</pre>
請為這個問題提供一個解決方案,如果可能的話,用PHP或CURL請求進行回答。
我也在處理這個Garmin-health API,並且得到了空白的回應(例如:[])。 但是我想是這樣的!我在我的個人資料中沒有任何活動,所以我得到了這個回應。
#