SmugMug

Online photo application

Integrate the SmugMug API with the Firebase Admin SDK API

Setup the SmugMug API trigger to run a workflow which integrates with the Firebase Admin SDK API. Pipedream's integration platform allows you to integrate SmugMug and Firebase Admin SDK remarkably fast. Free for developers.

Create Album with SmugMug API on New Child Object in a Realtime Database from Firebase Admin SDK API
Firebase Admin SDK + SmugMug
 
Try it
Create Album with SmugMug API on New Document in Firestore Collection from Firebase Admin SDK API
Firebase Admin SDK + SmugMug
 
Try it
Get Album with SmugMug API on New Child Object in a Realtime Database from Firebase Admin SDK API
Firebase Admin SDK + SmugMug
 
Try it
Get Album with SmugMug API on New Document in Firestore Collection from Firebase Admin SDK API
Firebase Admin SDK + SmugMug
 
Try it
Get Authenticated User with SmugMug API on New Child Object in a Realtime Database from Firebase Admin SDK API
Firebase Admin SDK + SmugMug
 
Try it
New Child Object in a Realtime Database from the Firebase Admin SDK API

Emit new event when a new child object is discovered within a specific path

 
Try it
New Document in Firestore Collection from the Firebase Admin SDK API

Emit new event when a structured query returns new documents

 
Try it
Create Album with the SmugMug API

Creates an album. See the docs here

 
Try it
Create Document with the Firebase Admin SDK API

Creates a New Document. See the docs here

 
Try it
Get Album with the SmugMug API

Gets an album given its id. See the docs here

 
Try it
Create Firebase Realtime Database Record with the Firebase Admin SDK API

Creates or replaces a child object within your Firebase Realtime Database. See the docs here

 
Try it
Get Authenticated User with the SmugMug API

Gets details of the authenticated user. See the docs here

 
Try it

Overview of SmugMug

The SmugMug API provides programmatic access to a user's SmugMug account, allowing them to manage photos, albums, and account settings. With Pipedream, you can automate tasks such as uploading new images, synchronizing photo galleries with other platforms, or triggering actions based on account activity. The API's capabilities paired with Pipedream's serverless platform enable you to craft custom workflows that react to events in SmugMug or orchestrate tasks across multiple apps.

Connect SmugMug

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    smugmug: {
      type: "app",
      app: "smugmug",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://api.smugmug.com/api/v2!authuser`,
      headers: {
        "Accept": `application/json`,
      },
    }, {
      token: {
        key: this.smugmug.$auth.oauth_access_token,
        secret: this.smugmug.$auth.oauth_refresh_token,
      },
      oauthSignerUri: this.smugmug.$auth.oauth_signer_uri,
    })
  },
})

Overview of Firebase Admin SDK

The Firebase Admin SDK API provides powerful backend functionality for Firebase apps. It allows you to interact with Firebase services like Firestore, Firebase Realtime Database, Firebase Storage, and Firebase Authentication directly from a server. With Pipedream, you can harness this API to automate complex workflows, respond to Firebase events in real-time, and integrate with countless other services.

Connect Firebase Admin SDK

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import admin from "firebase-admin"
export default defineComponent({
  props: {
    firebase_admin_sdk: {
      type: "app",
      app: "firebase_admin_sdk",
    },
  },
  async run({ steps, $ }) {
    // Enter values for the following parameters below this code step,
    // These get passed to the initializeApp method below.
    const { 
      projectId, 
      clientEmail, 
      privateKey,
      region = "firebaseio.com",
    } = this.firebase_admin_sdk.$auth

    // Before passing the privateKey to the initializeApp constructor,
    // we have to replace newline characters with literal newlines
    const formattedPrivateKey = privateKey.replace(/\\n/g, "\n")

    // See https://firebase.google.com/docs/reference/admin/node/admin.credential.html#cert
    if (!admin.apps.length) {
      admin.initializeApp({
        credential: admin.credential.cert({
          projectId,
          clientEmail,
          privateKey: formattedPrivateKey,
        }),
        databaseURL: `https://${projectId}-default-rtdb.${region}/`,
      })
    }
  },
})