This template shows how to shorten URLs automatically as they are added.
See file functions/index.js for the code.
This uses the Bit.ly API.
The dependencies are listed in functions/package.json.
- Create a Firebase project using the Firebase Console.
- Create a Bit.ly application and generate an Access Tokens.
- Set the sample to use your Firebase project using
firebase use --add
and select your new Firebase project. - Set your Bit.ly app's access token on your function by running:
firebase functions:config:set bitly.access_token=XXXXXXXXXXXXX
- Deploy the function using
firebase deploy
- Manually add an object to the Realtime Database following the structure described below.
We'll be using a simple database structure:
/functions-project-12345
/links
link-123456: "https://my.super.long-link.com/api/user/profile/-jEHitne10395-k3593085"
When a new URL (string) is pushed to /links
, it gets replaced with an object containing the original URL and a shortened one.
This way, you can display a clean URL by fetching /links/$linkId/short
.
/functions-project-12345
/links
/link-123456
original: "https://my.super.long-link.com/api/user/profile/-jEHitne10395-k3593085",
short: "https://goo.gl/EKDdza"