เอกสารนี้อธิบายขั้นตอนที่จำเป็นในการเริ่มใช้ Weather API
หากต้องการเริ่มใช้ Weather API คุณสามารถขอ Maps Demo Key หรือตั้งค่าบัญชีและเปิดใช้การเรียกเก็บเงินก็ได้
รับ Maps Demo Key
Maps Demo Key เป็นฟีเจอร์ที่ไม่มีค่าใช้จ่ายที่ช่วยให้คุณเริ่มสร้างต้นแบบด้วย Weather API ได้โดยไม่ต้องป้อนข้อมูลสำหรับการเรียกเก็บเงิน Maps Demo Key มีไว้เพื่อการทดสอบและการสร้างต้นแบบเท่านั้น และไม่ได้ออกแบบมาเพื่อใช้ในเวอร์ชันที่ใช้งานจริง ดูข้อมูลเพิ่มเติมได้ที่รับ Maps Demo Key และใช้กับ Weather API
รับคีย์ API มาตรฐาน
เมื่อพร้อมที่จะย้ายโค้ดไปยังเวอร์ชันที่ใช้งานจริง ให้ทำตามขั้นตอนต่อไปนี้เพื่อสร้างคีย์ API และเปิดใช้การเรียกเก็บเงิน
ข้อกำหนดเบื้องต้น
ขั้นตอนนี้จะแนะนำวิธีตั้งค่าบัญชี Google Cloud และโปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน นอกจากนี้ คุณควรทำความคุ้นเคยกับวิธีเรียกเก็บเงินสำหรับการใช้ Weather API ด้วย
- ตรวจสอบการเรียกเก็บเงินและค่าใช้จ่ายสำหรับการใช้งานที่การใช้งานและการเรียกเก็บเงินของ Weather API
ตรวจสอบว่าคุณมีบัญชี Google Cloud
ลงชื่อเข้าใช้คอนโซล Google Cloudยืนยันว่าคุณมีโปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน
ไปที่หน้าการเรียกเก็บเงิน- เลือกโปรเจ็กต์เพื่อเปิดหน้าการเรียกเก็บเงิน
ในหน้าการเรียกเก็บเงิน ให้ทำดังนี้
- หากเปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่เลือกไว้แล้ว และคุณมีบัญชีสำหรับการเรียกเก็บเงินเพียงบัญชีเดียว หน้าการเรียกเก็บเงินจะเปิดขึ้น
- หากมีบัญชีสำหรับการเรียกเก็บเงินหลายบัญชี ให้เลือกไปที่บัญชีสำหรับการเรียกเก็บเงินที่ลิงก์ไว้เพื่อดูรายละเอียดเกี่ยวกับบัญชีสำหรับการเรียกเก็บเงินที่เชื่อมโยงกับโปรเจ็กต์
- หากมีบัญชีสำหรับการเรียกเก็บเงินอยู่แล้วแต่ไม่ได้เชื่อมโยงกับโปรเจ็กต์ ระบบจะแจ้งให้คุณลิงก์บัญชีสำหรับการเรียกเก็บเงินกับโปรเจ็กต์
- หากไม่มีบัญชีสำหรับการเรียกเก็บเงินหรือต้องการสร้างบัญชีสำหรับการเรียกเก็บเงินใหม่ ให้เลือกจัดการบัญชีสำหรับการเรียกเก็บเงินเพื่อสร้างบัญชีสำหรับการเรียกเก็บเงินใหม่ ดูข้อมูลเพิ่มเติมได้ที่หัวข้อสร้างบัญชีสำหรับการเรียกเก็บเงินใน Cloud แบบให้บริการเองใหม่
เปิดใช้ API
ก่อนที่จะใช้ Weather API ได้ คุณต้องใช้คอนโซล Google Cloud หรือคำสั่ง gcloud เพื่อเปิดใช้ในโปรเจ็กต์ Google Cloud
วิธีเปิดใช้ API
คอนโซล
เปิดหน้าผลิตภัณฑ์ในคอนโซล Google Cloud โดยทำดังนี้
เปิดใช้ Weather APIคลิกปุ่มเปิดใช้
gcloud
gcloud services enable \ --project "PROJECT" \ "weather.googleapis.com"
อ่านข้อมูลเพิ่มเติมเกี่ยวกับ Google Cloud SDK, การติดตั้ง Cloud SDK และคำสั่งต่อไปนี้
รับคีย์ API เพื่อใช้กับ Weather API
ผลิตภัณฑ์ Google Maps Platform ได้รับการปกป้องจากการใช้งานที่ไม่ได้รับอนุญาตโดยกำหนดให้การเรียก API ต้องมีคีย์ API หรือโทเค็น OAuth อย่างใดอย่างหนึ่ง ขั้นตอนการใช้คีย์ API จะดำเนินการก่อน หากต้องการใช้โทเค็น OAuth แทน โปรดดูหัวข้อสร้างโทเค็น OAuth
คีย์ API คือสตริงตัวอักษรและตัวเลขที่ไม่ซ้ำกันซึ่งเชื่อมโยงบัญชีสำหรับการเรียกเก็บเงินใน Cloud และโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud กับคำขอที่แอปพลิเคชันส่งไปยัง Google Maps Platform API หรือ SDK หากต้องการสร้างคีย์ใหม่หรือเพิ่ม API หรือ SDK ลงในคีย์ที่มีอยู่ ให้ทำตามวิธีการต่อไปนี้
คอนโซล
-
ไปที่หน้า Google Maps Platform > คีย์และข้อมูลเข้าสู่ระบบ
- หากได้รับข้อความแจ้ง ให้เลือกโปรเจ็กต์
-
ทำสิ่งใดสิ่งหนึ่งต่อไปนี้
-
สร้างคีย์ใหม่:
- คลิกสร้างข้อมูลเข้าสู่ระบบ > คีย์ API
- ในแผงสร้างคีย์ API ให้เปิดรายการเลือกข้อจำกัดของ API
- ล้าง API ที่คีย์นี้ไม่จำเป็นต้องใช้ และตรวจสอบว่าได้เลือก Weather API ไว้
- คลิกสร้าง แผงจะแสดงคีย์ API ใหม่
-
ใช้คีย์ที่มีอยู่
- คลิกชื่อคีย์
- ในรายการเลือกข้อจำกัดของ API ให้เลือก Weather API
- คลิกบันทึก
การเลือก API ที่นี่ไม่ได้เป็นการเปิดใช้ API ตรวจสอบว่าได้เปิดใช้ Weather API ในหน้าคลัง API แล้ว
-
- หากต้องการดูสตริงคีย์ในภายหลัง ให้ไปที่หน้าคีย์และข้อมูลเข้าสู่ระบบ แล้วคลิกแสดงคีย์สำหรับคีย์นั้น
หากคอนโซลดูแตกต่างจากขั้นตอนเหล่านี้ โปรดดูหัวข้อสร้างคีย์ API และเพิ่มข้อจำกัด API ในเอกสารประกอบของ Google Cloud
gcloud
แทนที่ PROJECT_ID ด้วยรหัสโปรเจ็กต์ในคำสั่งต่อไปนี้
-
สร้างคีย์ใหม่: เรียกใช้คำสั่งต่อไปนี้ และแทนที่ DISPLAY_NAME ด้วยชื่อคีย์
gcloud services api-keys create \ --project="PROJECT_ID" \ --display-name="DISPLAY_NAME" \ --api-target=service=weather.googleapis.com
อ่านข้อมูลเพิ่มเติมเกี่ยวกับ Google Cloud SDK, การติดตั้ง Cloud SDK และคำสั่งต่อไปนี้
-
ใช้คีย์ที่มีอยู่: เรียกใช้คำสั่งต่อไปนี้ และแทนที่ KEY_ID ด้วยรหัสของคีย์ แฟล็ก
--appendจะเก็บ API ที่คีย์อนุญาตไว้แล้ว หากไม่มีตัวเลือกนี้ คำสั่งจะแทนที่ตัวเลือกเหล่านั้นgcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=weather.googleapis.com
อ่านข้อมูลเพิ่มเติมเกี่ยวกับ Google Cloud SDK, การติดตั้ง Cloud SDK และคำสั่งต่อไปนี้
รหัสคีย์ไม่ใช่สตริงคีย์หรือชื่อที่แสดง หากต้องการค้นหา ให้เรียกใช้
gcloud services api-keys list --project="PROJECT_ID"รหัสคือส่วนสุดท้ายของช่องname:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID
หากต้องการดูสตริงคีย์ ให้เรียกใช้ gcloud services api-keys get-key-string KEY_ID
--project="PROJECT_ID"
ส่งคำขอ API
ส่งคำขอ Weather API เพื่อแสดงการตอบกลับ JSON สำหรับข้อมูลสภาพอากาศปัจจุบันของ Mountain View, CA คุณต้องใส่สตริงตัวอักษรและตัวเลขคละกันของคีย์ API ในทุกคำขอ และใช้ HTTPS สำหรับคำขอที่มีคีย์ API
คลิก API_KEY ในโค้ดด้านล่างเพื่อแทรกสตริงตัวอักษรและตัวเลขคละกันของคีย์
curl -X GET "https://weather.googleapis.com/v1/currentConditions:lookup
?key=YOUR_API_KEY &location.latitude=37.4220 &location.longitude=-122.0841" - คลิกไอคอนคัดลอกในตัวอย่างโค้ด
เพื่อคัดลอกคำสั่ง curl - วางคำสั่งในหน้าต่างเทอร์มินัลและเรียกใช้คำสั่ง
การตอบกลับเป็นออบเจ็กต์ JSON ในรูปแบบต่อไปนี้
{ "currentTime": "2025-07-01T12:33:24.606422609Z", "timeZone": { "id": "America/Los_Angeles" }, "isDaytime": false, "weatherCondition": { "iconBaseUri": "https://maps.gstatic.com/weather/v1/partly_clear", "description": { "text": "Partly cloudy", "languageCode": "en" }, "type": "PARTLY_CLOUDY" }, "temperature": { "degrees": 16, "unit": "CELSIUS" }, "feelsLikeTemperature": { "degrees": 16, "unit": "CELSIUS" }, "dewPoint": { "degrees": 12, "unit": "CELSIUS" }, "heatIndex": { "degrees": 16, "unit": "CELSIUS" }, "windChill": { "degrees": 16, "unit": "CELSIUS" }, "relativeHumidity": 78, "uvIndex": 0, "precipitation": { "probability": { "percent": 3, "type": "RAIN" }, "snowQpf": { "quantity": 0, "unit": "MILLIMETERS" }, "qpf": { "quantity": 0, "unit": "MILLIMETERS" } }, "thunderstormProbability": 0, "airPressure": { "meanSeaLevelMillibars": 1011.5 }, ... }
ใช้ข้อจำกัดของคีย์ API
Google ขอแนะนำอย่างยิ่งให้คุณจำกัดคีย์ API โดยจำกัดการใช้งานเฉพาะกับ API และแอปที่จำเป็นต้องใช้เท่านั้น การจำกัดคีย์ API จะเพิ่มความปลอดภัยให้กับแอปพลิเคชันโดยการปกป้องแอปพลิเคชันจากคำขอที่ไม่ได้รับอนุญาต คีย์ API รองรับข้อจำกัด 2 ประเภท ได้แก่
- ข้อจำกัดของ API ระบุ SDK และ API ที่เรียกใช้ได้โดยใช้คีย์ API คอนโซลและ gcloud CLI ต้องมีข้อจำกัด API อย่างน้อย 1 รายการเมื่อคุณสร้างคีย์
- ข้อจำกัดของแอปพลิเคชันจะระบุเว็บไซต์, ที่อยู่ IP หรือแอปที่ใช้คีย์ API ได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ข้อจำกัดได้ที่จำกัดคีย์ API
สร้างโทเค็น OAuth
Weather API รองรับ OAuth 2.0 สำหรับการตรวจสอบสิทธิ์ Google รองรับสถานการณ์ OAuth 2.0 ทั่วไป เช่น สถานการณ์สำหรับเว็บเซิร์ฟเวอร์
เอกสารนี้อธิบายวิธีส่งโทเค็น OAuth ไปยังการเรียก Weather API ในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ OAuth ในสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์ได้ที่หัวข้อวิธีการตรวจสอบสิทธิ์ที่ Google
ภาพรวมของ OAuth
คุณสร้างและจัดการโทเค็นเพื่อการเข้าถึงด้วย OAuth ได้หลายวิธี โดยขึ้นอยู่กับสภาพแวดล้อมการติดตั้งใช้งาน
คุณสามารถใช้ OAuth 2.0 สำหรับการโต้ตอบระหว่างเซิร์ฟเวอร์กับเซิร์ฟเวอร์ระหว่างแอปพลิเคชันของคุณกับบริการของ Google ในสถานการณ์นี้ คุณจะใช้บัญชีบริการที่เชื่อมโยงกับแอปพลิเคชันของคุณแทนที่จะเป็นผู้ใช้แต่ละราย คุณสามารถส่งคำขอ API โดยใช้บัญชีบริการโดยไม่ต้องเกี่ยวข้องกับผู้ใช้โดยตรง ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการตรวจสอบสิทธิ์ได้ที่หัวข้อวิธีการตรวจสอบสิทธิ์ที่ Google
หรือจะผสานรวม Weather API เข้ากับแอปบนอุปกรณ์เคลื่อนที่ Android หรือ iOS ก็ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ OAuth และการจัดการโทเค็นเพื่อการเข้าถึงสำหรับสภาพแวดล้อมการติดตั้งใช้งานต่างๆ ได้ที่หัวข้อการใช้ OAuth 2.0 เพื่อเข้าถึง Google API
ขอบเขต OAuth
หากต้องการใช้ OAuth กับ Weather API คุณต้องกำหนดขอบเขตต่อไปนี้ให้กับโทเค็น OAuth
https://www.googleapis.com/auth/cloud-platform
ตัวอย่าง: ลองเรียกใช้ REST API ในสภาพแวดล้อมการพัฒนาซอฟต์แวร์ในเครื่อง
หากไม่มีสภาพแวดล้อมที่สร้างโทเค็นและต้องการลองใช้ Weather API กับโทเค็น OAuth ให้ใช้ขั้นตอนในส่วนนี้
ตัวอย่างนี้อธิบายวิธีใช้โทเค็น OAuth ที่ได้จากข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC) เพื่อทำการเรียก ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ ADC เพื่อเรียกใช้ Google API ด้วยไลบรารีของไคลเอ็นต์ได้ที่หัวข้อตรวจสอบสิทธิ์โดยใช้ไลบรารีของไคลเอ็นต์
ใช้ขั้นตอน REST ต่อไปนี้สำหรับการพัฒนาหรือการทดสอบเท่านั้น ไม่ใช่สำหรับการใช้งานจริง
ข้อกำหนดเบื้องต้น
ก่อนส่งคำขอ REST โดยใช้ ADC ให้ใช้ gcloud CLI เพื่อระบุข้อมูลเข้าสู่ระบบให้กับ ADC ดังนี้
ติดตั้งและเริ่มต้นใช้งาน
gcloudCLI ดูข้อมูลเพิ่มเติมได้ที่ติดตั้ง gcloud CLIตรวจสอบสิทธิ์ด้วย
gcloudCLI โดยทำดังนี้gcloud auth application-default login
ทำตามขั้นตอนการลงชื่อเข้าใช้ให้เสร็จสมบูรณ์เพื่อบันทึกข้อมูลเข้าสู่ระบบในไฟล์ข้อมูลเข้าสู่ระบบในเครื่องที่ ADC ใช้
ดูข้อมูลเพิ่มเติมได้ที่หัวข้อตั้งค่า ADC สำหรับสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ในเครื่อง
ส่งคำขอ REST
ในตัวอย่างนี้ คุณส่งส่วนหัวของคำขอ 2 รายการดังนี้
ส่งโทเค็น OAuth ในส่วนหัว
Authorizationโดยใช้คำสั่งต่อไปนี้เพื่อสร้างโทเค็นgcloud auth application-default print-access-tokenโทเค็นที่แสดงผลมีขอบเขตเป็น
https://www.googleapis.com/auth/cloud-platformส่งรหัสหรือชื่อโปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงินในส่วนหัว
X-Goog-User-Project
หากต้องการเรียก Weather API โดยใช้โทเค็น OAuth ให้ทำตามขั้นตอนต่อไปนี้
ในตัวอย่างโค้ดต่อไปนี้ ให้แทนที่ PROJECT_NUMBER_OR_ID ด้วยหมายเลขหรือรหัสโปรเจ็กต์ Google Cloud
curl -X GET \ -H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://weather.googleapis.com/v1/currentConditions:lookup?
location.latitude=37.4220& location.longitude=-122.0841" หากต้องการคัดลอกคำสั่ง
curlให้คลิกคัดลอกในตัวอย่างโค้ดวางคำสั่งในหน้าต่างเทอร์มินัล แล้วเรียกใช้
การตอบกลับเป็นออบเจ็กต์ JSON:
{
"currentTime": "2025-07-01T12:33:24.606422609Z",
"timeZone": {
"id": "America/Los_Angeles"
},
"isDaytime": false,
"weatherCondition": {
"iconBaseUri": "https://maps.gstatic.com/weather/v1/partly_clear",
"description": {
"text": "Partly cloudy",
"languageCode": "en"
},
"type": "PARTLY_CLOUDY"
},
"temperature": {
"degrees": 16,
"unit": "CELSIUS"
},
"feelsLikeTemperature": {
"degrees": 16,
"unit": "CELSIUS"
},
"dewPoint": {
"degrees": 12,
"unit": "CELSIUS"
},
"heatIndex": {
"degrees": 16,
"unit": "CELSIUS"
},
"windChill": {
"degrees": 16,
"unit": "CELSIUS"
},
"relativeHumidity": 78,
"uvIndex": 0,
"precipitation": {
"probability": {
"percent": 3,
"type": "RAIN"
},
"snowQpf": {
"quantity": 0,
"unit": "MILLIMETERS"
},
"qpf": {
"quantity": 0,
"unit": "MILLIMETERS"
}
},
"thunderstormProbability": 0,
"airPressure": {
"meanSeaLevelMillibars": 1011.5
},
...
}
การแก้ปัญหา
หากคำขอแสดงข้อความแสดงข้อผิดพลาดที่ระบุว่า API นี้ไม่รองรับข้อมูลเข้าสู่ระบบของผู้ใช้ปลายทาง โปรดดูหัวข้อแก้ปัญหาการตั้งค่า ADC
ขั้นตอนถัดไป
เมื่อเปิดใช้ Weather API และส่งคำขอสำเร็จแล้ว โปรดดูดูสภาพอากาศปัจจุบันเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ API