สอบถามการใช้งาน API ของกรมอุตุ
Moderator: mindphp, ผู้ดูแลกระดาน
- chakrit
- PHP Super Hero Member
- โพสต์: 788
- ลงทะเบียนเมื่อ: 27/06/2022 9:32 am
สอบถามการใช้งาน API ของกรมอุตุ
ตอนนี้ได้ทำการสมัครสมาชิกและขอตัว uid และ ukey ได้มาเป็นที่เรียบร้อยแล้วแต่ไม่รู้วิธีการนำ api ไปใช้งานคับ
ลิ้งข้อมูล api : https://data.go.th/dataset/daily-observation
api : https://data.tmd.go.th/api/WeatherToday ... y=api12345
ลิ้งข้อมูล api : https://data.go.th/dataset/daily-observation
api : https://data.tmd.go.th/api/WeatherToday ... y=api12345
- eange08
- PHP VIP Members
- โพสต์: 16182
- ลงทะเบียนเมื่อ: 22/12/2020 10:09 am
Re: สอบถามการใช้งาน API ของกรมอุตุ
ให้เราใช้ ajax และ curl เพื่อเรียกข้อมูลแบบ json จาก API กลับมา ลองดูตามตัวอย่างนี้ค่ะ
viewtopic.php?p=207369#p207369
viewtopic.php?p=207369#p207369
- eange08
- PHP VIP Members
- โพสต์: 16182
- ลงทะเบียนเมื่อ: 22/12/2020 10:09 am
Re: สอบถามการใช้งาน API ของกรมอุตุ
ตอนที่ได้ json ออกมาก็จะต้องแปลงเพื่อมาใช้เป็น array
viewtopic.php?p=207402#p207402
viewtopic.php?p=207402#p207402
- chakrit
- PHP Super Hero Member
- โพสต์: 788
- ลงทะเบียนเมื่อ: 27/06/2022 9:32 am
Re: สอบถามการใช้งาน API ของกรมอุตุ
สอบถามเพิ่มเติมคับตัวโค้ดตัวอย่างอย่างeange08 เขียน: ↑27/07/2022 10:57 am ให้เราใช้ ajax และ curl เพื่อเรียกข้อมูลแบบ json จาก API กลับมา ลองดูตามตัวอย่างนี้ค่ะ
viewtopic.php?p=207369#p207369
โค้ด: เลือกทั้งหมด
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://data.tmd.go.th/nwpapi/v1/forecast/location/daily/place?province=นนทบุรี&fields=tc_max,rh&date=2021-01-19&duration=2",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"authorization:Bearer xxxx", //---ตรง xxxx เราต้องลงทะเบียนขอ token มี link อยู่ข้างล่าง
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41230
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: สอบถามการใช้งาน API ของกรมอุตุ
จากลิงค์ตัวย่างchakrit เขียน: ↑26/07/2022 11:38 am ตอนนี้ได้ทำการสมัครสมาชิกและขอตัว uid และ ukey ได้มาเป็นที่เรียบร้อยแล้วแต่ไม่รู้วิธีการนำ api ไปใช้งานคับ
ลิ้งข้อมูล api : https://data.go.th/dataset/daily-observation
api : https://data.tmd.go.th/api/WeatherToday ... y=api12345
โค้ด: เลือกทั้งหมด
https://data.tmd.go.th/api/WeatherToday/V2/?uid=api&ukey=api12345
โค้ด: เลือกทั้งหมด
uid=api&ukey=api12345
ลองแทนค่า ukey ของตัวเอง แทน api12345
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- chakrit
- PHP Super Hero Member
- โพสต์: 788
- ลงทะเบียนเมื่อ: 27/06/2022 9:32 am
Re: สอบถามการใช้งาน API ของกรมอุตุ
สอบถามหน่อยคับค่าที่ได้ออกมาจากการดึง api เป็น xml
ผมทำการเพิ่มโค้ด json_decode เข้าไปแต่ไม่ได้รับค่าที่ได้ออกมา
โค้ด: เลือกทั้งหมด
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://data.tmd.go.th/api/WeatherToday/V2/&uid=api&ukey=api12345',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
$response = curl_exec($curl);
$err = curl_error($curl);
$obj = json_decode($response);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
print_r($obj);
}
- eange08
- PHP VIP Members
- โพสต์: 16182
- ลงทะเบียนเมื่อ: 22/12/2020 10:09 am
Re: สอบถามการใช้งาน API ของกรมอุตุ
ลองใส่ส่วนนี้ที่ curl_setopt_array ระบุเรียกเป็น json ได้ไหม
โค้ด: เลือกทั้งหมด
CURLOPT_HTTPHEADER => array(
"accept: application/json",
),
- eange08
- PHP VIP Members
- โพสต์: 16182
- ลงทะเบียนเมื่อ: 22/12/2020 10:09 am
Re: สอบถามการใช้งาน API ของกรมอุตุ
ตัวอย่างการเรียกข้อมูล API แบบ php นะคะ
https://data.tmd.go.th/nwpapi/doc/main/ ... start.html#
https://data.tmd.go.th/nwpapi/doc/main/ ... start.html#
- chakrit
- PHP Super Hero Member
- โพสต์: 788
- ลงทะเบียนเมื่อ: 27/06/2022 9:32 am
Re: สอบถามการใช้งาน API ของกรมอุตุ
ค่าที่ได้ออกมาเป็น แบบนี้คับ
พอ json_decode ออกมาแล้วค่าที่ได้กลับเป็น NULL
โค้ด: เลือกทั้งหมด
<?xml version="1.0"?>
<WeatherToday Version="2.0"><Header><Title>WeatherToday</Title><Description>Today's Weather Observation</Description><Uri>http://data.tmd.go.th/api/WeatherToday/V2/index.php</Uri><LastBuildDate>2022-08-02 16:05:55</LastBuildDate><CopyRight>Thai Meteorological Department:2017</CopyRight><Generator>TMDData_API Services</Generator><status>200 OK</status></Header><Stations><Station><WmoStationNumber>48300</WmoStationNumber><StationNameThai>แม่ฮ่องสอน</StationNameThai><StationNameEnglish>MAE HONG SON</StationNameEnglish><Province>แม่ฮ่องสอน</Province><Latitude Unit="decimal degree">19.29897</Latitude><Longitude Unit="decimal degree">97.97578</Longitude><Observation type="ObservationToday"><DateTime>2022-08-02 07:00</DateTime><MeanSeaLevelPressure unit="mb">1004.77</MeanSeaLevelPressure><Temperature Unit="celcius">25.3</Temperature><MaxTemperature Unit="celcius">35.3</MaxTemperature><DifferentFromMaxTemperature Unit="celcius">2.0</DifferentFromMaxTemperature><MinTemperature Unit="celcius">24.9</MinTemperature><DifferentFromMinTemperature Unit="celcius">-0.4</DifferentFromMinTemperature><RelativeHumidity Unit="%">95</RelativeHumidity><WindDirection Unit="degree">000</WindDirection><WindSpeed Unit="km/h">0</WindSpeed><Rainfall Unit="mm">29.10</Rainfall></Observation></Station><Station><WmoStationNumber>48325</WmoStationNumber>
- chakrit
- PHP Super Hero Member
- โพสต์: 788
- ลงทะเบียนเมื่อ: 27/06/2022 9:32 am
Re: สอบถามการใช้งาน API ของกรมอุตุ
สอบถามคับถ้าต้องการนำตัว MaxTemperature ที่อยู่ใน Value เราสามารถเขียนเรียกได้ยังไงบางคับ
-
- Similar Topics
- ตอบกลับ
- แสดง
- โพสต์ล่าสุด
-
-
โพสต์ใหม่ สอบถามการใช้ mysqli_real_escape_string
โดย Thanapoom1514 » 07/03/2023 2:21 pm » ใน Programming - PHP - 3 ตอบกลับ
- 975 แสดง
-
โพสต์ล่าสุด โดย mindphp
07/03/2023 6:54 pm
-
-
-
โพสต์ใหม่ สอบถามการใช้ AI generate รูปภาพ
โดย Narisara » 27/11/2023 11:30 am » ใน พูดคุยเรื่องทั่วไป จับฉ่าย - 1 ตอบกลับ
- 862 แสดง
-
โพสต์ล่าสุด โดย Thanavat_n
27/11/2023 12:02 pm
-
-
-
โพสต์ใหม่ สอบถามการใช้ bullet number
โดย Thanavat_n » 20/04/2023 2:51 pm » ใน สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM - 2 ตอบกลับ
- 1084 แสดง
-
โพสต์ล่าสุด โดย Thanavat_n
20/04/2023 3:44 pm
-
-
-
โพสต์ใหม่ สอบถามการใช้ api python มาใช้ใน php
โดย Thanapoom1514 » 13/09/2022 4:43 pm » ใน Programming - PHP - 2 ตอบกลับ
- 954 แสดง
-
โพสต์ล่าสุด โดย mindphp
14/09/2022 9:41 pm
-
-
- 3 ตอบกลับ
- 732 แสดง
-
โพสต์ล่าสุด โดย chakrit
18/08/2022 10:44 am
-
- 1 ตอบกลับ
- 2095 แสดง
-
โพสต์ล่าสุด โดย tsukasaz
07/02/2017 2:13 pm
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: Amazon [Bot] และบุคลทั่วไป 112