slack-image-saver saves media uploaded on Slack to Google Photos.
- Slack API
- api token
- Google Photos API
- authorization_code
- album_id
- Using OAuth 2.0 to Access Google APIs
- client_id
- client_secret
- redirect_uri
- scope
- Google Cloud Scheduler
- Google Cloud Pub/Sub
- Firebase Functions
- Firebase Cloud Firestore
$ npm install --prefix functions/
$ npm run lint --prefix functions/
$ firebase functions:config:set slack.token=""
$ firebase functions:config:set slack.channel=""
$ firebase functions:config:set google.refresh_token=""
$ firebase functions:config:set google.client_id=""
$ firebase functions:config:set google.client_secret=""
$ firebase functions:config:set photos.album_id=""
$ firebase deploy --only functions
$ firebase functions:config:get //Check current environment variables
$ npm run build --prefix functions/
$ npm run deploy
$ gcloud beta scheduler jobs create pubsub Saver --schedule "0 */3 * * *" --time-zone Asia/Tokyo --description "Upload photo to GooglePhotos" --topic slack-to-googlephotos --message-body "{"count":1}"
$ gcloud pubsub topics publish slack-to-googlephotos --message "{"count":1}"
$ firebase functions:config:unset $ENVIRONMENT_VARIABLE