sheets-url-shortener
                                
                                 sheets-url-shortener copied to clipboard
                                
                                    sheets-url-shortener copied to clipboard
                            
                            
                            
                        A simple short URL redirect service built on top of Google Sheets, and runs for cheap on Google Cloud Run serverless.
URL Shortener with a Google Spreadsheet π
This is a simple web server that can redirect a pre-defined set of URLs in Google Sheets. All you need to do is define a Google Sheets like the following, and deploy a simple app just by clicking around.
| shortcut | url | 
|---|---|
| code | https://github.com/ahmetb/ | 
| book | https://docs.google.com/forms/d/e/1FAIpQLSefArw8NWiha6YCaoTccGZmo4QvuDYY4s87Y_tjW6h4al_4NQ/viewform | 
| yt | https://www.youtube.com/watch?v=dQw4w9WgXcQ | 
Costs: This can be deployed to Google Cloud Run and run for free thanks to generous free tier (+Google Sheets is free with a Gmail account as well).
This redirector also supports path additions on top of base URLs, for example, with the sheet row:
| shortcut | url | 
|---|---|
| gcp | https://github.com/GoogleCloudPlatform | 
The go.ahmet.dev/gcp/golang-samples will be redirected to
https://github.com/GoogleCloudPlatform/golang-samples.
Setup
- 
Create a new Google Sheet: https://sheets.new. 
- 
Add two columns, first column is the "shortcut", the second column is the "url" to redirect the user. (see example) 
- 
Save the ID of your Sheet from the URL (itβs a random string that looks like 1SMeoyesCaGHRlYdGj9VyqD-qhXtab1jrcgHZ0irvNDs).
- 
Click to deploy to Cloud Run, and provide your spreadsheet ID while deploying: 
- 
Go to https://console.cloud.google.com/run, click on sheets-url-shortenerservice. Find the email address written in the "Service Account" section.
- 
Go to your Google Sheets, click "Share" and give this email address "Viewer" access on your sheet. 
- 
Go to https://console.developers.google.com/apis/api/sheets.googleapis.com/overview and make sure the Google Sheets API is enabled. 
- 
(Optional) If you want to use a custom domain like go.ahmet.dev, go to https://console.cloud.google.com/run/domains and map thesheets-url-shortenerto your custom domain!
Advanced Configuration
This server can be configured with these following parameters:
| Environment Variable | Description | 
|---|---|
| SHEET_NAME | (optional) If you have multiple sheets in a spreadsheet, specify the sheet name. | 
| CACHE_TTL | (optional) how frequently the spreadsheet must be reloaded (default: 5s) | 
| HOME_REDIRECT | (optional) which url to redirect when root url ( /) is visited | 
| LISTEN_ADDR | (optional) which network address to listen on (default ""which means all interfaces) | 
| PORT | (optional) http port to listen on (default 8080). | 
Disclaimer
This is not an official Google project. It's distributed as-is under Apache 2.0 License. See LICENSE.