簡體   English   中英

REST API 的正確日期格式

[英]Proper Date format for REST API

我有一個如下所示的 API 網址:

“https://cloud.XXXXXXXXX.com/api/data/XXXXXXX2017112020-804?from=2021-1-1T00:00:00&to=2021-2-26T00:00:00&averagingperiod=60&includejournal=false”

Api,使用此格式解碼 URL 並從端點獲取我需要的數據:我使用的方法是“GET”,URL 如下所示:“api/data/serial?from=start time&to=end time&averagingperiod=平均周期&includejournal=包括期刊'

api/data 是標准的還是串行的? 是端點的序列號。 (?from=) 和 (&to=) 是我使用ISO 8601規則設置的參數。 但我需要設置時間 (from=) 24 小時前 (to=) 當前時間,例如: (?from=" . date('Ym-d', $yesterday) . "T" . "00: 00:00" . "&to=" . date("Ymd") . "T" . "00:00:00" .)

日期和時間格式是這樣的:(yyyy-mm-ddT00:00:00)

我的代碼如下所示:

    <?php
// get the timestamp of yesterday
$yesterday = strtotime('-24 Hours');

// get the timestamp of today
$today = date();

// the format we build the date in
$format = 'Y-m-d';

// get the yesterday in the specified format
$from = date($format, $yesterday);

// get today in the specified format
$to = date($format, $today);

// build the URL
$url = 'https://cloud.aeroqual.com/api/data/AQM65%2017112020-804'.'?from='.$from.'T00:00:00'.'&to='.$to.'T00:00:00'.'&averagingperiod=60&includejournal=false'.;

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Cookie: .MONOAUTH=C5PBclbeW29kqexXRGTlXaHImDoLhxR/YzALxc44/SZ+KQV2XuMsZps6OJnXMSi56gjRsQ6ED6GIcH7Fk8XCoJ80IrpsTUDPO+Bmf0tVKaPZtIzpwe7ff3QqBKZLFGZK; ASP.NET_SessionId=9F89912F7F571A228B63ACEC; AWSELB=95CB9B4302EC8CCB93BD1C1D5C4630880B3D9B3CCF5F0CE3F60EF45F0604C252A119CAE7D802D28AE24434CB392308307A6E5617B4045026B161BDB6886AF9E5C0388BFFED; AWSELBCORS=95CB9B4302EC8CCB93BD1C1D5C4630880B3D9B3CCF5F0CE3F60EF45F0604C252A119CAE7D802D28AE24434CB392308307A6E5617B4045026B161BDB6886AF9E5C0388BFFED'
  ),
));

$response = curl_exec($curl);
curl_close($curl);
echo $response;

問題:如何格式化我的 URL,以便我收到 24 小時前到現在(當前時間)的數據。 或者如果有人知道,是否可以在 cURL 的 URL 中實現變量。

錯誤:在我的服務器上運行我的 php 代碼時,我收到如下錯誤:

1:無法加載資源:服務器響應狀態為 500() 2:VM265:7146 crbug/1173575,不推薦使用非 JS 模塊文件。 (匿名)@ VM265:7146

此代碼運行完美,但我想獲取從 24 小時前到當前時間的日期和時間值。

    <?php

$ch = curl_init();

// Configure curl as needed, depending on your application
curl_setopt_array($ch, array(
  CURLOPT_URL => "https://cloud.aeroqual.com/api/data/AQM65%2017112020-804?from=2021-1-1T00:00:00&to=2021-2-26T00:00:00&averagingperiod=60&includejournal=false",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Cookie: .MONOAUTH=C5PBclbeW29kqexXRGTlXaHImDoLhxR/YzALxc44/SZ+KQV2XuMsZps6OJnXMSi56gjRsQ6ED6GIcH7Fk8XCoJ80IrpsTUDPO+Bmf0tVKaPZtIzpwe7ff3QqBKZLFGZK; ASP.NET_SessionId=9F89912F7F571A228B63ACEC; AWSELB=95CB9B4302EC8CCB93BD1C1D5C4630880B3D9B3CCF1DD49CB392B355F68787785EB0EA72F7A4B7F495B9BA3840A89055C0FDEAE769045026B161BDB6886AF9E5C0388BFFED; AWSELBCORS=95CB9B4302EC8CCB93BD1C1D5C4630880B3D9B3CCF1DD49CB392B355F68787785EB0EA72F7A4B7F495B9BA3840A89055C0FDEAE769045026B161BDB6886AF9E5C0388BFFED;'
  ),
));

// Do the request
$response = curl_exec($ch);

// Cleanup
curl_close($ch);

echo $response;
?>

我是一名初級 Web 開發人員,我對 Api 不太熟悉,如果我的問題格式不正確,我很抱歉。

在 API URL 調用中插入可編輯日期和時間的答案是:

   <?php
    // Date variables for URL
    $to = date("Y-m-d", strtotime("now"));
    $yesterday = date("Y-m-d", strtotime("-1 day"));
    $to_time = date("H:m:s", strtotime("now"));
    $yesterday_time = date("H:m:s", strtotime("-1 day"));
    
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://xxxxxxxxxx/api/data/XXXX65%2017112020-804?from=".$yesterday."T".$yesterday_time."&to=".$to."T".$to_time."&averagingperiod=60&includejournal=false",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'GET',
      CURLOPT_HTTPHEADER => array(
        'Cookie: .MONOAUTH=C5PBclbeW29kqexXRGTlXaHImDoLhxR/YzALxc44/SZ+KQV2XuMsZps6OJnXMSi56gjRsQ6ED6GIcH7Fk8XCoJ80IrpsTUDPO+Bmf0tVKaPZtIzpwe7ff3QqBKZLFGZK; ASP.NET_SessionId=9F89912F7F571A228B63ACEC; AWSELB=95CB9B4302EC8CCB93BD1C1D5C4630880B3D9B3CCF5F0CE3F60EF45F0604C252A119CAE7D802D28AE24434CB392308307A6E5617B4045026B161BDB6886AF9E5C0388BFFED; AWSELBCORS=95CB9B4302EC8CCB93BD1C1D5C4630880B3D9B3CCF5F0CE3F60EF45F0604C252A119CAE7D802D28AE24434CB392308307A6E5617B4045026B161BDB6886AF9E5C0388BFFED'
      ),
    ));
    
    $response = curl_exec($curl);
    curl_close($curl);
    
    echo $response;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM