You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用AppScript访问Firebase实时数据库中Notifications下的唯一ID节点?

Accessing Firebase Realtime Database Child Nodes with Apps Script

Hey Abdullah, let's walk through how to access that unique ID child node under your 'Notifications' node using Apps Script. Since Apps Script doesn't have an official Firebase SDK, we'll use Firebase's REST API to get the job done—here's a straightforward, step-by-step guide:

Step 1: Grab Your Firebase Credentials

First, you'll need two key pieces of info from your Firebase console:

  • Firebase API Key: Found in Project Settings → General → Web API Key
  • Realtime Database URL: Found in the Realtime Database section (looks like https://your-project-id.firebaseio.com)

Step 2: Fetch All Notifications (Including the Unique ID Node)

This script will pull all data under the 'Notifications' node, and you can loop through the unique IDs to access each child's data:

// Replace these with your own credentials
const FIREBASE_API_KEY = "YOUR_FIREBASE_API_KEY";
const DATABASE_URL = "https://your-project-id.firebaseio.com";

function getAllNotifications() {
  // Build the API endpoint for the Notifications node
  const endpoint = `${DATABASE_URL}/Notifications.json?auth=${FIREBASE_API_KEY}`;
  
  // Fetch the data using Apps Script's UrlFetchApp
  const response = UrlFetchApp.fetch(endpoint, {
    method: "GET",
    contentType: "application/json"
  });
  
  // Parse the JSON response into a usable JavaScript object
  const notificationsData = JSON.parse(response.getContentText());
  
  // Loop through each unique ID child node
  for (const uniqueId in notificationsData) {
    if (notificationsData.hasOwnProperty(uniqueId)) {
      const singleNotification = notificationsData[uniqueId];
      // Log or process the data as needed
      console.log(`Unique ID: ${uniqueId}`);
      console.log("Notification Details:", singleNotification);
    }
  }
}

Step 3: Access a Specific Unique ID Node Directly

If you already know the unique ID of the child node you want to access, you can target it directly with this script:

function getSpecificNotification(uniqueId) {
  const endpoint = `${DATABASE_URL}/Notifications/${uniqueId}.json?auth=${FIREBASE_API_KEY}`;
  
  const response = UrlFetchApp.fetch(endpoint, {
    method: "GET",
    contentType: "application/json"
  });
  
  const notificationData = JSON.parse(response.getContentText());
  console.log("Target Notification Data:", notificationData);
  return notificationData; // Return the data for further use in your script
}

// Call the function with your unique ID (uncomment below)
// getSpecificNotification("your-unique-id-here");

Important Notes

  • Database Security Rules: Make sure your Realtime Database rules allow read access. For testing, you can temporarily set rules to:
    {
      "rules": {
        ".read": true,
        ".write": true
      }
    }
    
    Don't forget to tighten these rules for production to protect your data!
  • Authentication: If your database uses Firebase Auth for restricted access, replace the API key in the endpoint with a valid ID token from authenticated users instead.

内容的提问来源于stack exchange,提问作者Abdullah Ajmal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 15:18:11