SmugMug

Online photo application

Go to site

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

Creates an album.

 
Try it
Create Smugmug Album

This action creates an album in a folder. Specify the folder and the JSON document (as a Javascript object) in parameters. A minimal object might look like { UrlName: "weddings-smith-2020-06-02", Name: "Mr & Mrs Smith's June Wedding", Privacy: 2, SecurityType: 1 } More fields documented at https://api.smugmug.com/api/v2/folder

 
Try it
Get Album

Gets an album given its id.

 
Try it
Get Authenticated User

Gets details of the authenticated user.

 
Try it
Get Folder

A folder can contain albums, pages, and other folders. You should only use this endpoint if you need to support older accounts that have not migrated to New SmugMug.

 
Try it

Connect SmugMug

return await require("@pipedreamhq/platform").axios(this, {
  url: `https://api.smugmug.com/api/v2!authuser`,
  headers: {
    "Accept": `application/json`,
  },
}, {
  token: {
    key: auths.smugmug.oauth_access_token,
    secret: auths.smugmug.oauth_refresh_token,
  },
  oauthSignerUri: auths.smugmug.oauth_signer_uri,
})

Connect Firebase Admin SDK

const admin = require('firebase-admin')

// Enter values for the following parameters below this code step,
// These get passed to the initializeApp method below.
const { projectId, clientEmail, privateKey } = auths.firebase_admin_sdk

// 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,
    })
  })
}