esteban-uo / picasa

A simple Google Photos (formally Picasa Web Albums 2.0) client for nodejs
http://esteban-uo.github.io/picasa/docs
44 stars 24 forks source link
album google-api nodejs photos picasa picasawebalbums

Build Status

A simple Google Photos, formally Picasa Web Albums client (2.0) for nodejs (>= 4.8.7). Includes Auth helpers.

Install

$ yarn add  picasa

or

$ npm install --save picasa

Usage

const Picasa = require('picasa')

const picasa = new Picasa()

Docs

API for Photos, Albums and Auth can be found here. Please check out also the examples dir for more detailed examples. Rename config.example.json to config.json and add your own config data.

Auth

To get an access token follow the next flow:

1.Get the Auth URL and redirect the user to it.

// Get config here API Manager > Credentials https://console.developers.google.com/home/dashboard
const config = {
  clientId     : 'yourClientId',
  redirectURI  : 'redirectURI'
}

const authURL = picasa.getAuthURL(config)

2.Google displays a consent screen to the user, asking them to authorize your application to request some of their data.

3.Google redirects a code to your redirectURI.

4.Use the code given as GET param in order to get an access token:

// Get config here API Manager > Credentials https://console.developers.google.com/home/dashboard
const config = {
  clientId     : 'yourClientId',
  redirectURI  : 'redirectURI'
  clientSecret : 'yourClientSecret'
}

picasa.getTokens(config, code).then(tokens => {
  /* use tokens.accessToken or tokens.refreshToken */
})

5.If you need to renew an expired accessToken, use the refreshToken with picasa.renewAccessToken:

const config = {
  clientId     : 'yourClientId',
  redirectURI  : 'redirectURI'
  clientSecret : 'yourClientSecret'
}

picasa.renewAccessToken(config, refreshToken).then(renewedAccessToken => {
  /* do something with renewedAccessToken */
})

Change Log

1.0.7 Functions return a Promise if callback is not provided. Use getTokens if you want to use Promises instead getAccessToken.

1.0.6 Get album, Create Album, Renew access token added. Get Photos can get all photos from an album id or all.

Contributors

Thanks to z1c0, hbakhtiyor, pauarge, wreuven, imrvelj, jlengrand

License

MIT ©


Play around https://developers.google.com/oauthplayground/?code=4/usq8QmuezR3Au_0UKyj9-UXmf6Bw_ij8KFWgIziYbpM#

Picasa Docs https://developers.google.com/picasa-web/docs/2.0/developers_guide_protocol