A simple Google Photos, formally Picasa Web Albums client (2.0) for nodejs (>= 4.8.7). Includes Auth helpers.
$ yarn add picasa
or
$ npm install --save picasa
const Picasa = require('picasa')
const picasa = new Picasa()
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.
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 */
})
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.
Thanks to z1c0, hbakhtiyor, pauarge, wreuven, imrvelj, jlengrand
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