ตั้งค่าและจัดการโปรเจ็กต์ Firebase โดยใช้ Management REST API

Firebase Management REST API ช่วยให้ตั้งค่าและจัดการโปรเจ็กต์ Firebase แบบเป็นโปรแกรมได้ ซึ่งรวมถึงทรัพยากร Firebase และแอป Firebase ของโปรเจ็กต์

ภาพรวมนี้อธิบายเวิร์กโฟลว์ทั่วไปในการเพิ่มทรัพยากรและแอป Firebase ลงในGoogle Cloud โปรเจ็กต์ ที่มีอยู่ซึ่งยังไม่ได้ใช้บริการ Firebase

คุณข้ามไปยังส่วนที่ต้องการของหน้านี้ได้หากต้องการทำสิ่งต่อไปนี้

ก่อนทำตามขั้นตอนใดๆ ในหน้านี้ โปรดตรวจสอบว่าคุณได้เปิดใช้ API แล้ว

ดูข้อมูลเกี่ยวกับการจัดการการเข้าถึงสำหรับ Firebase Management API ได้ที่ เอกสารประกอบของ Cloud Identity Access Management (IAM) API

ก่อนเริ่มต้น

ก่อนที่จะเริ่มต้น คุณจะต้องเปิดใช้ Management API สำหรับโปรเจ็กต์ Google Cloud และสร้างโทเค็นเพื่อการเข้าถึง

เปิดใช้ Management REST API สำหรับGoogle Cloudโปรเจ็กต์

หากยังไม่ได้เปิดใช้ คุณจะต้องเปิดใช้ Firebase Management API เพื่อใช้กับโปรเจ็กต์ Google Cloud

  1. เปิดหน้าFirebase Management API ในคอนโซล Google APIs
  2. เมื่อได้รับข้อความแจ้ง ให้เลือกGoogle Cloudโปรเจ็กต์
  3. คลิกเปิดใช้ในหน้า Firebase Management API

สร้างโทเค็นเพื่อการเข้าถึง API

ตัวอย่างสำหรับ Node.js ที่ดึงโทเค็นเพื่อการเข้าถึงมีดังนี้

ก่อนอื่น หากคุณไม่ได้อยู่ในสภาพแวดล้อม Google Cloud ให้ตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALSเป็นเส้นทางไปยังคีย์บัญชีบริการ

Linux หรือ macOS

export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-file.json"

Windows

ด้วย PowerShell

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\path\to\your\service-account-file.json"

จากนั้นใช้ Firebase Admin SDK เพื่อรับโทเค็นการเข้าถึงจากข้อมูลเข้าสู่ระบบบัญชีบริการ

const admin = require('firebase-admin');

function getAccessToken() {
  return admin.credential.applicationDefault().getAccessToken()
      .then(accessToken => {
        return accessToken.access_token;
      })
      .catch(err => {
        console.error('Unable to get access token');
        console.error(err);
      });
}

ค้นหาชื่อทรัพยากรของโปรเจ็กต์

คุณจะเห็นGoogle Cloudโปรเจ็กต์ที่พร้อมให้เพิ่มบริการ Firebase

คำขอ

โทร availableProjects.list เนื้อหาของคำขอสำหรับการเรียกนี้ต้องว่างเปล่า

ตัวอย่างสำหรับ Node.js ในการขอรายการGoogle Cloud โปรเจ็กต์ที่ใช้ได้มีดังนี้

const fetch = require('node-fetch');

async function listProjects() {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/availableProjects';
  const options = {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    const projects = resp['projectInfo'];
    console.log('Project total: ' + projects.length);
    console.log('');
    for (let i in projects) {
      const project = projects[i];
      console.log('Project ' + i);
      console.log('ID: ' + project['project']);
      console.log('Display Name: ' + project['displayName']);
      console.log('');
    }
  } catch(err) {
    console.error(err);
  }
}

ผลลัพธ์

ส่วนเนื้อหาการตอบกลับจากการเรียกใช้ availableProjects.list จะมีรายการออบเจ็กต์ ProjectInfo หากรายการโปรเจ็กต์ยาวเกินไป เนื้อหาการตอบกลับจะมี nextPageToken ซึ่งคุณใช้เป็นพารามิเตอร์การค้นหาเพื่อรับหน้าถัดไปของโปรเจ็กต์ได้ด้วย

ตัวอย่างเนื้อหาการตอบกลับของการเรียก availableProjects.list มีดังนี้

{
  "projectInfo": [
    {
      "project": "projects/first-cloud-project",
      "displayName": "First Cloud Project"
    },
    {
      "project": "projects/second-cloud-project",
      "displayName": "Second Cloud Project"
    }
  ]
}

การตอบกลับตัวอย่างนี้มี Google Cloud โปรเจ็กต์ 2 รายการที่เพิ่มบริการ Firebase ลงในโปรเจ็กต์ได้ โปรดทราบว่าฟิลด์ project จะระบุชื่อทรัพยากรที่ไม่ซ้ำกันทั่วโลกสำหรับโปรเจ็กต์

คุณใช้projectค่าที่แสดงในคำตอบจาก availableProjects.listเพื่อเพิ่มบริการ Firebase หรือ เพิ่มแอปลงในโปรเจ็กต์ได้

ในส่วนถัดไป เราจะเพิ่มบริการ Firebase ไปยัง First Cloud Project โดยใช้ชื่อทรัพยากร projects/first-gcp-project

เพิ่มบริการ Firebase ลงในโปรเจ็กต์

Google Cloud สามารถใช้ประโยชน์จากบริการที่ Firebase นำเสนอได้ ในส่วนนี้ คุณจะได้เรียนรู้วิธีเพิ่มบริการ Firebase ลงในGoogle Cloudโปรเจ็กต์ที่มีอยู่โดยใช้โปรแกรม โปรดทราบว่าคุณยังเพิ่มบริการ Firebase ลงในGoogle Cloudโปรเจ็กต์ที่มีอยู่แล้วในFirebaseคอนโซลได้ด้วย

คำขอ

โทร projects.addFirebase เนื้อหาของคำขอสำหรับการเรียกนี้ต้องว่างเปล่า

ตัวอย่างต่อไปนี้เป็นตัวอย่างสำหรับ Node.js ในการเพิ่มบริการ Firebase ลงในGoogle Cloud โปรเจ็กต์

const fetch = require('node-fetch');

async function addFirebase(projectId) {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/projects/' + projectId + ':addFirebase';
  const options = {
    method: 'POST',
    // Use a manual access token here since explicit user access token is required.
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    console.log(resp);
  } catch(err) {
    console.error(err['message']);
  }
}

ผลลัพธ์

ผลลัพธ์ของการเรียก projects.addFirebase คือ Operation ก่อนที่จะเรียกใช้ปลายทางอื่นๆ ที่เกี่ยวข้องกับ Firebase สำหรับโปรเจ็กต์ได้ การดำเนินการต้องสำเร็จก่อน

หากต้องการตรวจสอบว่าการดำเนินการสำเร็จหรือไม่ คุณสามารถเรียกใช้ operations.get ในการดำเนินการจนกว่าค่าของ done จะเป็น true และ response จะเป็นประเภท FirebaseProject หากการดำเนินการล้มเหลว ระบบจะตั้งค่า error เป็น google.rpc.Status

ต่อไปนี้คือเนื้อหาการตอบกลับของการเรียก operations.get

{
  "name": "operations/...",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.firebase.service.v1beta1.FirebaseProject",
    "projectId": "first-cloud-project",
    "projectNumber": "...",
    "displayName": "First Cloud Project",
    "name": "projects/first-cloud-project",
    "resources": {
      "hostingSite": "first-cloud-project",
      "realtimeDatabaseInstance": "first-cloud-project"
    }
  }
}

เนื่องจาก done เป็น true และประเภท response เป็น FirebaseProject ตอนนี้โปรเจ็กต์ Google Cloud จึงมีบริการ Firebase คำตอบยังมีข้อมูลอื่นๆ ที่เป็นประโยชน์เกี่ยวกับ FirebaseProject ที่สร้างขึ้นใหม่ เช่น projectNumber และ resources เริ่มต้น ระบบจะลบ Operation โดยอัตโนมัติ หลังจากเสร็จสิ้น

เพิ่มแอป Firebase ไปยังโปรเจ็กต์

แอปต่างๆ มากมายสามารถใช้ FirebaseProject ได้ รวมถึงแอป iOS, Android และเว็บ ในส่วนนี้ คุณจะได้เรียนรู้วิธีเพิ่มแอป Firebase ลงใน FirebaseProjectที่มีอยู่โดยอัตโนมัติ โปรดทราบว่าคุณยังเพิ่มแอป Firebase ลงในโปรเจ็กต์ Firebase ที่มีอยู่ได้ในคอนโซล Firebase

เลือกประเภทแอป Firebase ที่จะเพิ่มลงในโปรเจ็กต์ Firebase

iOS+

คุณเพิ่มแอป Firebase iOS ลงในโปรเจ็กต์ Firebase ที่มีอยู่ได้

คำขอ

โทร projects.iosApps.create วิธีสร้างเนื้อหาคำขอมีดังนี้

  • ต้องระบุ:

    • bundleId: รหัส Bundle ที่เป็น Canonical ของแอป iOS ตามที่จะปรากฏใน iOS App Store
  • ไม่บังคับแต่แนะนำ

    • displayName: ชื่อที่แสดงของแอปซึ่งผู้ใช้กำหนด ค่านี้มีประโยชน์ในการค้นหาแอปในภายหลังในFirebaseคอนโซล

    • appStoreId: Apple ID ที่สร้างขึ้นโดยอัตโนมัติซึ่ง Apple กําหนดให้กับแอปของคุณ ระบุ appStoreId หาก Apple กำหนดให้แล้ว

ในเนื้อหาของคำขอสำหรับตัวอย่าง เราจะใช้เฉพาะ displayName และ bundleId

{
  "displayName": "My Firebase iOS App",
  "bundleId": "com.firebase.ios"
}

ตัวอย่างสำหรับ Node.js ในการเพิ่มแอป Firebase สำหรับ iOS ลงในโปรเจ็กต์ Firebase มีดังนี้

const fetch = require('node-fetch');

async function addIosApp(projectId, displayName, bundleId) {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/projects/' + projectId + '/iosApps';
  const options = {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
    body: JSON.stringify({
      'displayName': displayName,
      'bundleId': bundleId
    }),
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    console.log(resp);
  } catch(err) {
    console.error(err['message']);
  }
}

ผลลัพธ์

ผลลัพธ์ของการเรียก projects.iosApps.create คือ Operation ก่อนที่จะเรียกใช้ปลายทางอื่นๆ ที่เกี่ยวข้องกับ Firebase สำหรับโปรเจ็กต์ได้ การดำเนินการต้องสำเร็จก่อน

หากต้องการตรวจสอบว่าการดำเนินการสำเร็จหรือไม่ คุณสามารถเรียกใช้ operations.get ในการดำเนินการจนกว่าค่าของ done จะเป็น true และ response จะเป็นประเภท IosApp หากการดำเนินการล้มเหลว ระบบจะตั้งค่า error เป็น google.rpc.Status

ต่อไปนี้คือเนื้อหาการตอบกลับของการเรียก operations.get

{
  "name": "operations/...",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.firebase.service.v1beta1.IosApp",
    "name": "projects/first-cloud-project/iosApps/...",
    "appId": "...",
    "displayName": "My Firebase iOS App",
    "projectId": "first-cloud-project",
    "bundleId": "com.firebase.ios"
  }
}

เนื่องจาก done เป็น true และประเภท response เป็น IosApp ตอนนี้ FirebaseProject จึงมี IosApp นอกจากนี้ การตอบกลับยังมีข้อมูลอื่นๆ ที่เป็นประโยชน์เกี่ยวกับแอป Firebase iOS ที่สร้างขึ้นใหม่ เช่น Firebase ที่ไม่ซ้ำกัน appId ระบบจะลบ Operation โดยอัตโนมัติหลังจากเสร็จสิ้น

Android

คุณเพิ่มแอป Android ของ Firebase ลงในโปรเจ็กต์ Firebase ที่มีอยู่ได้

คำขอ

โทร projects.androidApps.create วิธีสร้างเนื้อหาคำขอมีดังนี้

  • ต้องระบุ:

    • packageName: ชื่อแพ็กเกจที่ถูกต้องของแอป Android ตามที่จะ ปรากฏใน Google Play Developer Console
  • ไม่บังคับแต่แนะนำ

    • displayName: ชื่อที่แสดงของแอปซึ่งผู้ใช้กำหนด ค่านี้มีประโยชน์ในการค้นหาแอปของคุณในภายหลังในFirebase Console

ในเนื้อหาของคำขอสำหรับตัวอย่าง เราจะใช้ packageName และ displayName

{
  "displayName": "My Firebase Android App"
  "packageName": "com.firebase.android"
}

ตัวอย่างสำหรับ Node.js ในการเพิ่มแอป Firebase บน Android ลงในโปรเจ็กต์ Firebase มีดังนี้

const fetch = require('node-fetch');

async function addAndroidApp(projectId, displayName, packageName) {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/projects/' + projectId + '/androidApps';
  const options = {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
    body: JSON.stringify({
      'displayName': displayName,
      'packageName': packageName
    }),
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    console.log(resp);
  } catch(err) {
    console.error(err['message']);
  }
}

ผลลัพธ์

ผลลัพธ์ของการเรียก projects.androidApps.create คือ Operation ก่อนที่จะเรียกใช้ปลายทางอื่นๆ ที่เกี่ยวข้องกับ Firebase สำหรับโปรเจ็กต์ได้ การดำเนินการต้องสำเร็จก่อน

หากต้องการตรวจสอบว่าการดำเนินการสำเร็จหรือไม่ คุณสามารถเรียกใช้ operations.get ในการดำเนินการจนกว่าค่าของ done จะเป็น true และ response จะเป็นประเภท AndroidApp หากการดำเนินการล้มเหลว ระบบจะตั้งค่า error เป็น google.rpc.Status

ต่อไปนี้คือเนื้อหาการตอบกลับของการเรียก operations.get

{
  "name": "operations/...",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.firebase.service.v1beta1.AndroidApp",
    "name": "projects/first-cloud-project/androidApps/...",
    "appId": "...",
    "displayName": "My Firebase Android App",
    "projectId": "first-cloud-project",
    "packageName": "com.firebase.android"
  }
}

เนื่องจาก done เป็น true และประเภท response เป็น AndroidApp ตอนนี้ FirebaseProject จึงมี AndroidApp นอกจากนี้ การตอบกลับยังมีข้อมูลอื่นๆ ที่เป็นประโยชน์เกี่ยวกับแอป Firebase Android ที่สร้างขึ้นใหม่ เช่น appIdที่ไม่ซ้ำกันของ Firebase ระบบจะลบ Operation โดยอัตโนมัติหลังจาก เสร็จสิ้น

เพิ่มใบรับรอง SHA

คุณเพิ่มใบรับรอง SHA ลงในแอป Android ของ Firebase ที่มีอยู่ได้โดยเรียกใช้ projects.androidApps.sha.create เนื้อหาของคำขอสำหรับการเรียกใช้เมธอดนี้ต้องมีช่อง name ที่ว่างเปล่า ผลลัพธ์ของการเรียกนี้คืออินสแตนซ์ที่สร้างขึ้นใหม่ของ ShaCertificate

เมื่อเรียกใช้ projects.androidApps.sha.create คุณต้องระบุแฮชใบรับรอง SHA-1 หรือ SHA-256 ที่ถูกต้อง คุณรับแฮช SHA ของใบรับรองการลงนามได้ด้วยคำสั่ง gradle signingReport

./gradlew signingReport

ดูข้อมูลเพิ่มเติมได้ที่ Google APIs สำหรับ Android

เว็บ

คุณเพิ่มเว็บแอป Firebase ลงในโปรเจ็กต์ Firebase ที่มีอยู่ได้

คำขอ

โทร projects.webApps.create วิธีสร้างเนื้อหาคำขอมีดังนี้

  • ไม่บังคับ:

    • displayName: ชื่อที่แสดงของแอปซึ่งผู้ใช้กำหนด ค่านี้มีประโยชน์ ในการค้นหาแอปของคุณในภายหลังในFirebase Console
  • ไม่แนะนำ:

    • appUrls: URL แบบเต็มที่ถูกต้องซึ่งโฮสต์แอป เมื่อเชื่อมโยง เว็บแอป Firebase กับFirebase Hostingเว็บไซต์ Firebase จะ ป้อนข้อมูลในช่องเหล่านี้โดยอัตโนมัติ ดังนั้นให้เว้นช่องเหล่านี้ว่างไว้ใน ส่วนเนื้อหาของคำขอ

เราจะระบุ displayName ในเนื้อความของคำขอสำหรับตัวอย่างของเราเท่านั้น

{
  "displayName": "My Firebase Web App"
}

ต่อไปนี้คือตัวอย่างสำหรับ Node.js ในการเพิ่ม Firebase Web App ลงในโปรเจ็กต์ Firebase

const fetch = require('node-fetch');

async function addWebApp(projectId, displayName) {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/projects/' + projectId + '/webApps';
  const options = {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
    body: JSON.stringify({
      'displayName': displayName
    }),
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    console.log(resp);
  } catch(err) {
    console.error(err['message']);
  }
}

ผลลัพธ์

ผลลัพธ์ของการเรียก projects.webApps.create คือ Operation ก่อนที่จะเรียกใช้ปลายทางอื่นๆ ที่เกี่ยวข้องกับ Firebase สำหรับโปรเจ็กต์ได้ การดำเนินการต้องสำเร็จก่อน

หากต้องการตรวจสอบว่าการดำเนินการสำเร็จหรือไม่ คุณสามารถเรียกใช้ operations.get ในการดำเนินการจนกว่าค่าของ done จะเป็น true และ response จะเป็นประเภท WebApp หากการดำเนินการล้มเหลว ระบบจะตั้งค่า error เป็น google.rpc.Status

ต่อไปนี้คือเนื้อหาการตอบกลับของการเรียก operations.get

{
  "name": "operations/...",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.firebase.service.v1beta1.WebApp",
    "name": "projects/first-cloud-project/webApps/...",
    "appId": "...",
    "displayName": "My Firebase Web App",
    "projectId": "first-cloud-project"
  }
}

เนื่องจาก done เป็น true และประเภท response เป็น WebApp ตอนนี้ FirebaseProject จึงมี WebApp นอกจากนี้ คำตอบยังมีข้อมูลอื่นๆ ที่มีประโยชน์เกี่ยวกับเว็บแอป Firebase ที่สร้างขึ้นใหม่ เช่น Firebase ที่ไม่ซ้ำกัน appId ระบบจะลบ Operation โดยอัตโนมัติหลังจากเสร็จสิ้น

คุณลิงก์บัญชี Google Analytics ที่มีอยู่กับFirebaseProjectบัญชี Google Ads ที่มีอยู่ได้โดยอัตโนมัติ โปรดทราบว่าคุณยังลิงก์โปรเจ็กต์ Firebase ที่มีอยู่กับ Google Analytics ได้ในแท็บการผสานรวมของการตั้งค่าโปรเจ็กต์

การเรียกใช้ projects.addGoogleAnalytics ต้องมี analytics_resource ซึ่งอาจเป็น analyticsAccountId หรือ analyticsPropertyId ก็ได้

  • ระบุ analyticsAccountId ที่มีอยู่เพื่อจัดสรรพร็อพเพอร์ตี้ Google Analytics ใหม่ภายในบัญชีที่ระบุ และเชื่อมโยงพร็อพเพอร์ตี้ใหม่กับโปรเจ็กต์ Firebase

  • ระบุ analyticsPropertyId ที่มีอยู่เพื่อเชื่อมโยงพร็อพเพอร์ตี้ Google Analytics กับโปรเจ็กต์ Firebase

คุณดูทั้งanalyticsAccountIdและanalyticsPropertyIdที่มีอยู่ได้ในเว็บไซต์ Google Analytics

เมื่อโทรหา projects.addGoogleAnalytics

  1. การตรวจสอบครั้งแรกจะพิจารณาว่าสตรีมข้อมูลที่มีอยู่ในพร็อพเพอร์ตี้ Google Analytics ตรงกับแอป Firebase ที่มีอยู่ใน FirebaseProject หรือไม่ (อิงตาม packageName หรือ bundleId ที่เชื่อมโยงกับสตรีมข้อมูล) จากนั้นระบบจะลิงก์สตรีมข้อมูลและแอปตามความเหมาะสม โปรดทราบว่าการลิงก์อัตโนมัตินี้ใช้ได้กับแอป Android และแอป iOS เท่านั้น

  2. หากไม่พบสตรีมข้อมูลที่สอดคล้องกันสําหรับแอป Firebase ระบบจะจัดสรรสตรีมข้อมูลใหม่ในพร็อพเพอร์ตี้ Google Analytics สําหรับแอป Firebase แต่ละแอป โปรดทราบว่าระบบจะจัดสรรสตรีมข้อมูลใหม่สําหรับเว็บแอปเสมอ แม้ว่าก่อนหน้านี้จะเชื่อมโยงกับสตรีมข้อมูลในพร็อพเพอร์ตี้ Analytics แล้วก็ตาม

ดูข้อมูลเพิ่มเติมเกี่ยวกับลําดับชั้นและโครงสร้างของบัญชี Google Analytics ในเอกสารประกอบของ Analytics

คำขอ

โทร projects.addGoogleAnalytics

ในเนื้อหาคำขอสำหรับการเรียกตัวอย่างของเราไปยัง project.addGoogleAnalytics เราจะ ระบุบัญชี Google Analytics analyticsAccountId การเรียกนี้จะจัดสรรพร็อพเพอร์ตี้ Google Analytics ใหม่และเชื่อมโยงพร็อพเพอร์ตี้ใหม่กับ FirebaseProject

{
  "analyticsAccountId": "<your-google-analytics-account-id>"
}

ตัวอย่างสำหรับ Node.js ในการลิงก์โปรเจ็กต์ Firebase กับบัญชี Google Analytics มีดังนี้

const fetch = require('node-fetch');

async function addGoogleAnalytics(projectId, analyticsAccountId) {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/projects/' + projectId + ':addGoogleAnalytics';
  const options = {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
    body: JSON.stringify({
      'analyticsAccountId': analyticsAccountId
    }),
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    console.log(resp);
  } catch(err) {
    console.error(err['message']);
  }
}

ผลลัพธ์

ผลลัพธ์ของการเรียก projects.addGoogleAnalytics คือ Operation ก่อนที่จะเรียกใช้ปลายทางอื่นๆ ที่เกี่ยวข้องกับ Firebase สำหรับโปรเจ็กต์ได้ การดำเนินการต้องสำเร็จก่อน

หากต้องการตรวจสอบว่าการดำเนินการสำเร็จหรือไม่ คุณสามารถเรียกใช้ operations.get ในการดำเนินการจนกว่าค่าของ done จะเป็น true และ response จะเป็นประเภท analyticsDetails หากการดำเนินการล้มเหลว ระบบจะตั้งค่า error เป็น google.rpc.Status

ต่อไปนี้คือเนื้อหาการตอบกลับของการเรียก operations.get

{
  "name": "operations/...",
  "none": true,
  "response": {
    "@type": "type.googleapis.com/google.firebase.service.v1beta1.AnalyticsDetails",
    "analyticsProperty": [
      {
        "id": "...",
        "displayName": "..."
      }
    ],
    "streamMappings": [
      {
        "app": "...",
        "streamId": "...",
        "measurementId": "..."
      }
    ]
  }
}

เนื่องจาก done เป็นจริงและประเภท response คือ analyticsDetails ตอนนี้ FirebaseProject จึงลิงก์กับบัญชี Google Analytics ที่ระบุแล้ว ระบบจะลบ Operation โดยอัตโนมัติหลังจากเสร็จสิ้น