ดูข้อมูลเกี่ยวกับการใช้และจัดการคีย์ API สำหรับ Firebase
คีย์ API คือสตริงที่ไม่ซ้ำกันซึ่งใช้เพื่อกำหนดเส้นทางคำขอไปยัง Firebase
เมื่อโต้ตอบกับ Firebase และบริการของ Google หน้านี้อธิบายถึง
ข้อมูลพื้นฐานเกี่ยวกับคีย์ API รวมถึงแนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้งานและ
จัดการคีย์ API ด้วยแอป Firebase
ข้อมูลทั่วไปเกี่ยวกับคีย์ API และ Firebase
คีย์ API สำหรับ Firebase แตกต่างจากคีย์ API ทั่วไป
เว็บแอป Firebase - ค้นหาคีย์ API ที่ตรงกันโดยอัตโนมัติในออบเจ็กต์การกําหนดค่า Firebase ในช่อง apiKey
การใช้คีย์ API
คีย์ API ใช้เพื่อระบุโปรเจ็กต์ Firebase ของคุณเมื่อโต้ตอบกับ
บริการ Firebase/Google กล่าวโดยละเอียดคือ จะใช้เพื่อเชื่อมโยงคำขอ API กับโปรเจ็กต์ของคุณสำหรับโควต้าและการเรียกเก็บเงิน และยังมีประโยชน์ในการเข้าถึงข้อมูลสาธารณะด้วย
เช่น คุณสามารถใช้คีย์ API อย่างชัดเจนโดยการส่งค่าของคีย์ไปยังการเรียก REST API ในฐานะพารามิเตอร์การค้นหา ตัวอย่างนี้แสดงวิธีส่งคำขอ
ไปยัง
API สำหรับ Dynamic Links ลิงก์ย่อ:
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY
เมื่อแอปเรียกใช้ Firebase API ที่ต้องมีคีย์ API ที่ไคลเอ็นต์บนอุปกรณ์เคลื่อนที่/เว็บระบุไว้ แอปจะค้นหาคีย์ API ของโปรเจ็กต์ในไฟล์/ออบเจ็กต์การกําหนดค่า Firebase โดยอัตโนมัติ อย่างไรก็ตาม คุณสามารถ
ระบุคีย์ API สำหรับแอปของคุณโดยใช้กลไกที่แตกต่างกัน รวมถึงสภาพแวดล้อม
ตัวแปร
ตรวจสอบและใช้ข้อจำกัดที่เหมาะสมกับคีย์ API (แนะนำ)
แม้ว่าคุณไม่จำเป็นต้องเก็บคีย์ API สำหรับบริการ Firebase เป็นข้อมูลลับ แต่คุณควรตรวจสอบและใช้ข้อจำกัดและขีดจำกัดตามที่อธิบายไว้ในส่วนนี้
ตรวจสอบ API ที่เพิ่มลงในรายการที่อนุญาตโดยอัตโนมัติสําหรับคีย์ Firebase API
เมื่อ Firebase สร้างคีย์ API ในโปรเจ็กต์ของคุณ เราจะเพิ่ม"ข้อจํากัด API" ลงในคีย์นั้นโดยอัตโนมัติ API ที่เพิ่มลงในรายการที่อนุญาตนี้คือ API ที่เกี่ยวข้องกับ Firebase ซึ่งกำหนดให้ไคลเอ็นต์ระบุคีย์ API พร้อมกับการเรียกใช้ โปรดทราบว่า API ส่วนใหญ่ที่จําเป็นสําหรับการใช้บริการ Firebase ไม่จำเป็นต้องอยู่ในรายการที่อนุญาตสําหรับคีย์ API
เนื่องจาก Firebase เพิ่ม API ที่จำเป็นสำหรับบริการ Firebase ทั้งหมด
รายการที่อนุญาตสำหรับคีย์ API อาจมี API สำหรับผลิตภัณฑ์ที่คุณไม่ได้ใช้
คุณสามารถนำ API ออกจากรายการที่อนุญาตได้ แต่ต้องระวังให้มากที่จะไม่ดำเนินการ
นำ API ที่จำเป็นสำหรับ Firebase และบริการ Firebase ที่คุณใช้ออก
(โปรดดู
รายการ API ที่เกี่ยวข้องกับ Firebase
ที่ต้องอยู่ในรายการที่อนุญาตสำหรับแต่ละบริการ / ผลิตภัณฑ์) ไม่เช่นนั้น คุณจะได้รับข้อผิดพลาดเมื่อเรียกใช้บริการ Firebase
เพื่อลดความเสี่ยงที่ผู้อื่นอาจใช้คีย์ API ในทางที่ผิด
ในการโจมตีแบบบรูตฟอร์ซ คุณจะสามารถลดโควต้าเริ่มต้นของ
identitytoolkit.googleapis.com ปลายทางเพื่อแสดงการรับส่งข้อมูลปกติ
ความคาดหวังของแอปของคุณได้ โปรดทราบว่าหากคุณจำกัดโควต้านี้และแอปของคุณ
ได้ผู้ใช้เพิ่มขึ้นอย่างกะทันหัน คุณอาจได้รับข้อผิดพลาดในการลงชื่อเข้าใช้จนกว่าจะเพิ่มโควต้า
คุณสามารถเปลี่ยนโควต้า API ของโปรเจ็กต์ได้ใน
คอนโซล Google Cloud
ใช้คีย์ API ที่จำกัดแยกต่างหากสำหรับบริการที่ไม่ใช่ Firebase
แม้ว่าโดยทั่วไปแล้วคีย์ API ที่ใช้สําหรับบริการ Firebase ไม่จำเป็นต้องเก็บไว้เป็นความลับ แต่คุณควรใช้ความระมัดระวังเพิ่มเติมกับคีย์ API ที่ใช้กับ Google Cloud API อื่นๆ
หากคุณใช้ Google Cloud API (ในแพลตฟอร์มใดก็ตาม) ที่ไม่ใช่สำหรับ Firebase
เราขอแนะนำอย่างยิ่งให้สร้างคีย์ API แยกต่างหากและมีข้อจำกัด
เพื่อใช้กับ API เหล่านั้น ซึ่งมีความสำคัญโดยเฉพาะอย่างยิ่งหาก API ใช้สำหรับ
บริการ Google Cloud ที่เรียกเก็บเงินได้
เช่น หากคุณใช้ Firebase ML และ Cloud Vision API ใน iOS คุณควรสร้างคีย์ API แยกต่างหากเพื่อใช้เข้าถึง Cloud Vision API เท่านั้น
การใช้คีย์ API ที่ถูกจำกัดแยกต่างหากสำหรับ API ที่ไม่ใช่ Firebase คุณสามารถหมุนเวียนหรือ
เปลี่ยนคีย์เมื่อจำเป็นและเพิ่มข้อจำกัดเพิ่มเติมให้กับ API
คีย์
โดยไม่รบกวนการใช้บริการ Firebase ของคุณ
ดูวิธีการสร้างคีย์เฉพาะ API
วิธีการเหล่านี้อธิบายวิธีสร้างคีย์ API แบบจำกัดที่แยกต่างหากสำหรับ
fake API ที่ชื่อ Super Service API
ขั้นตอนที่ 1: กำหนดค่าคีย์ API ที่มีอยู่เพื่อไม่ให้สิทธิ์การเข้าถึง Super Service API
เปิดข้อมูลเข้าสู่ระบบ
ของคอนโซล Google Cloud เลือกโปรเจ็กต์เมื่อได้รับข้อความแจ้ง
สำหรับคีย์ API ที่มีอยู่ในรายการ ให้เปิดมุมมองการแก้ไข
ในส่วนการจํากัด API ให้เลือกจํากัดคีย์ จากนั้นเพิ่ม API ทั้งหมดที่คุณต้องการให้คีย์ API มีสิทธิ์เข้าถึงลงในรายการ ตรวจสอบว่า
เพื่อไม่รวม API ที่คุณจะสร้างคีย์ API แยกต่างหาก
(ในตัวอย่างนี้คือ Super Service API)
เมื่อกำหนดค่าข้อจำกัด API ของคีย์ API แสดงว่าคุณได้ประกาศ API ที่คีย์มีสิทธิ์เข้าถึงอย่างชัดเจน โดยค่าเริ่มต้น เมื่อ
ส่วนการจำกัด API มีการเลือกไม่จำกัดคีย์ ซึ่งเป็นคีย์ API
จะใช้เพื่อเข้าถึง API ใดก็ได้ที่เปิดใช้สำหรับโปรเจ็กต์
ตอนนี้คีย์ API ที่มีอยู่จะไม่ให้สิทธิ์เข้าถึง Super Service API แต่คีย์แต่ละรายการจะยังคงใช้งานได้กับ API ที่คุณเพิ่มลงในรายการข้อจํากัด API ของ Super Service API
ขั้นตอนที่ 2: สร้างและใช้คีย์ API ใหม่สำหรับการเข้าถึง Super Service API
หากต้องการลดปัญหาในการโปรโมตการเปลี่ยนแปลงโค้ดจากการพัฒนาไปยังช่วงเตรียมความพร้อมและไปยังเวอร์ชันที่ใช้งานจริง ให้ตั้งค่าคีย์ API เป็นตัวแปรสภาพแวดล้อมหรือรวมไว้ในไฟล์การกําหนดค่าแทนการรวมไว้ในโค้ด
โปรดทราบว่าหากใช้ Firebase Local Emulator Suite สําหรับการพัฒนาควบคู่ไปกับ Firebase ML คุณต้องสร้างและใช้คีย์ API สําหรับแก้ไขข้อบกพร่องเท่านั้น คำสั่ง
สำหรับการสร้างคีย์ประเภทนั้น จะอยู่ใน
Firebase ML เอกสาร
คำถามที่พบบ่อยและการแก้ปัญหา
คำถามที่พบบ่อย
คีย์ API สำหรับบริการ Firebase ถูกจํากัดโดยค่าเริ่มต้นไหม
ใช่ โดยค่าเริ่มต้น คีย์ API ทั้งหมดที่ Firebase จัดสรรโดยอัตโนมัติเพื่อใช้กับ API ที่เกี่ยวข้องกับ Firebase จะมี"ข้อจํากัด API" มีผลโดยอัตโนมัติ ดูรายการ API ที่เกี่ยวข้องกับ Firebase ที่อยู่ในรายการที่อนุญาตนี้
โดย API ที่เพิ่มลงในรายการที่อนุญาตนี้คือ API ที่บริการ Firebase เรียกใช้จาก
และต้องใช้คีย์ API เพื่อระบุโปรเจ็กต์ Firebase หรือ
แอป โปรดทราบว่า API ส่วนใหญ่ที่จำเป็นต้องใช้สำหรับการใช้บริการ Firebase ไม่ได้ใช้
ต้องอยู่ในรายการที่อนุญาตสำหรับคีย์ API ของคุณ
เนื่องจาก Firebase เพิ่ม API ที่จำเป็นสำหรับบริการ Firebase ทั้งหมด
รายการที่อนุญาตสำหรับคีย์ API อาจมี API สำหรับผลิตภัณฑ์ที่คุณไม่ได้ใช้ คุณ
สามารถนำ API ออกจากรายการที่อนุญาตได้ แต่คุณต้องใช้ความระมัดระวังอย่างยิ่งที่จะไม่นำออก
API ที่จำเป็นสำหรับ Firebase และบริการ Firebase ที่คุณใช้ (โปรดดู
รายการ API ที่เกี่ยวข้องกับ Firebase
ที่ต้องอยู่ในรายการที่อนุญาตสำหรับแต่ละบริการ / ผลิตภัณฑ์) มิฉะนั้น คุณจะ
จะได้รับข้อผิดพลาดเมื่อเรียกใช้บริการ Firebase
ตั้งแต่เดือนพฤษภาคม 2024 เป็นต้นไป คีย์ API ใหม่ทั้งหมดที่ Firebase จัดสรรโดยอัตโนมัติจะจำกัดไว้ที่รายการ API ที่เกี่ยวข้องกับ Firebase โดยอัตโนมัติ
ในช่วงเดือนพฤษภาคม 2024 คีย์ API ที่มีอยู่ทั้งหมดและไม่จำกัดที่ Firebase มี
ที่จัดสรรโดยอัตโนมัติก่อนหน้านี้ถูกจำกัดไว้เฉพาะ
รายการ API ที่เกี่ยวข้องกับ Firebaseและ API ใดๆ ของโปรเจ็กต์ที่เปิดใช้อยู่ในปัจจุบัน
คีย์ API ที่มีอยู่และถูกจํากัดอยู่แล้วซึ่ง Firebase ได้จัดสรรโดยอัตโนมัติก่อนหน้านี้จะไม่มีการเปลี่ยนแปลง
คีย์ API ที่มีอยู่ซึ่ง Firebase ไม่ได้จัดสรรโดยอัตโนมัติจะไม่มีการเปลี่ยนแปลง
ฉันจะระบุคีย์ API ได้อย่างไร
เชื่อมโยงกับแอป Firebase ของฉันไหม
คุณใช้ตัวเลือกใดก็ได้ต่อไปนี้เพื่อระบุว่าคีย์ API ใดเชื่อมโยงกับแอป Firebase
เว็บแอป Firebase — แต่ละแอปจะมีอ็อบเจ็กต์การกำหนดค่าของตัวเองและมีได้เพียง
แสดงรายการคีย์ API 1 รายการ
แต่คุณสามารถใช้คีย์ API หลายรายการกับแอปเดียวได้ คุณต้องระบุกลไกให้แอปเข้าถึงคีย์ API อื่นๆ เหล่านี้ เช่น ผ่านตัวแปรสภาพแวดล้อม กลไกในการเข้าถึงคีย์ API อื่นๆ ต้องไม่อ้างอิงคีย์เหล่านั้น
คีย์ API แสดงอยู่ในไฟล์/ออบเจ็กต์การกำหนดค่า Firebase
Firebase ทำงานอย่างไร
รู้ว่าคีย์ API ใดจับคู่กับแอป (เช่น ในการกำหนดค่า Firebase
ไฟล์/ออบเจ็กต์) หรือไม่
ฉันจะย้าย
คีย์ API จากโปรเจ็กต์ Firebase หนึ่งไปยังอีกโปรเจ็กต์หนึ่งใช่ไหม
ไม่ได้ คีย์ API จะระบุเฉพาะโปรเจ็กต์หนึ่งๆ เท่านั้นและย้ายไปยังโปรเจ็กต์อื่นไม่ได้
จะเกิดอะไรขึ้นหากฉัน
ลบคีย์ API ที่ระบุไว้ในคอนโซล Google Cloud ไหม
หากคุณลบคีย์ API ที่มีแอปใช้งานอยู่ การเรียก API จากแอปนั้น
จะล้มเหลว คุณอาจได้รับรายงาน อีเมล หรือข้อผิดพลาดที่ระบุว่าคุณพยายามใช้คีย์ API ที่ไม่ถูกต้อง
การลบคีย์ API เป็นการดำเนินการแบบถาวรและยกเลิกไม่ได้
API ใดบ้างที่ต้องอยู่ในรายการที่อนุญาต "ข้อจํากัด API" สําหรับคีย์ API ของ Firebase
สำหรับคีย์ Firebase API จะต้องมี API อย่างเดียวที่จำเป็นต้องอยู่ในคีย์
"การจำกัด API" คือ API ที่ไคลเอ็นต์ต้องระบุ
คีย์ API ไปพร้อมกับการเรียกใช้ โปรดทราบว่ามี API ที่เกี่ยวข้องกับ Firebase จำนวนน้อยมากที่ใช้
ข้อกำหนดในการให้บริการ API ที่เกี่ยวข้องกับ Firebase ส่วนใหญ่ที่เปิดใช้ในโปรเจ็กต์ของคุณไม่จำเป็นต้อง
ใน "การจำกัด API" ของคีย์ จากรายการที่อนุญาต
ใช้ตารางต่อไปนี้เพื่อระบุว่า API ใดที่เกี่ยวข้องกับ Firebase ที่ต้องรวมไว้ในรายการที่อนุญาต "การจํากัด API" สําหรับคีย์ API ของ Firebase อย่าลืมว่า
ควรใช้คีย์ Firebase API กับบริการ Firebase เท่านั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างคีย์ API ที่จำกัดแยกต่างหากสำหรับ API บางประเภท
Forbidden: 403 POST https://example-service.googleapis.com/method: Requests to this API example-service.googleapis.com method google.example-service.rest.method are blocked.
คีย์ API ที่แอปของคุณใช้เพื่อเรียก API
"การจำกัด API"
และรายการที่อนุญาตของคีย์ไม่มี API นั้น
หากคุณได้รับข้อผิดพลาดนี้เมื่อพยายามใช้บริการที่ไม่ใช่ Firebase ให้ทำดังนี้
เราขอแนะนำให้สร้างคีย์ API ใหม่สำหรับบริการนั้นโดยเฉพาะและ
API ควรใช้คีย์ Firebase API สำหรับบริการ / ผลิตภัณฑ์ Firebase เท่านั้น
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้าง
คีย์ API ที่แยกต่างหากและถูกจำกัดสำหรับ API บางประเภท