Skip to content

Latest commit

 

History

History
209 lines (134 loc) · 4.71 KB

README.md

File metadata and controls

209 lines (134 loc) · 4.71 KB

Description

This is a Sony Lifelog API Client Wrapper

Installation

$ npm install node-sony-lifelog

Usage

Application

/** Access Token Retrieved from Login Credential Code **/
var app = require('node-sony-lifelog').app(token);

app
    .activitiesAll({
        start_time: '2014-06-01T09:00:00.000Z',
        end_time: '2014-06-01T19:00:00.000Z'
    })
    .then(function(results){
        // Do something with activities info
    }, function(reason){
        // Error reason
    });

Authentication

var lifelog = require('node-sony-lifelog');

var auth = lifelog.auth({
    client_id: 'CLIENT_KEY',
    client_secret: 'CLIENT_SECRET',
    scope: 'lifelog.profile.read+lifelog.activities.read+lifelog.locations.read'
});

/** Redirect URL for Lifelog API Login **/
var redirectURL = auth.redirectURL(uniqueIdentifier);

/**
 * > Redirect the user to redirectURL
 * > User logs into their account through the URL
 * > Lifelog server redirects user to a callback URL
 * > Callback URL would look like this when success:
 * >>> https://YOUR_CALLBACK_URL?code=someCode&state=uniqueIdentifier&scope=scopeFromAbove
 * > Callback URL would look like this when fails:
 * >>> https://YOUR_CALLBACK_URL?code=someCode&fault=...
 **/

/** insert object directly or input the code retrieved with Lifelog callback **/
var token = auth.getAccessToken(code);

Documentation

User

// get user info
app.user();  // GET /v1/users/me

Activities

Suggested but not required parameters for activities:

start_time Timestamp Ex: '2014-06-01T09:00:00.000Z'

end_time Timestamp Ex: '2014-06-01T19:00:00.000Z'

limit Integer maximum number of entries

// get all activities
app.activitiesAll()  // GET /v1/users/me/activities

// get all applications
app.activities.applicationAll() // GET /v1/users/me/activities?type=application

// get applications -> album
app.activities.application.album() // GET /v1/users/me/activities?type=application:album

// get applications -> books
app.activities.application.books() // GET /v1/users/me/activities?type=application:books

// get applications -> browsing
app.activities.application.browsing() // GET /v1/users/me/activities?type=application:browsing

// get applications -> camera
app.activities.application.camera() // GET /v1/users/me/activities?type=application:camera

// get applications -> communication
app.activities.application.communication() // GET /v1/users/me/activities?type=application:communication

// get applications -> game
app.activities.application.game() // GET /v1/users/me/activities?type=application:game

// get applications -> movie
app.activities.application.movie() // GET /v1/users/me/activities?type=application:movie

// get applications -> other
app.activities.application.other() // GET /v1/users/me/activities?type=application:other

// get applications->tv
app.activities.application.tv() // GET /v1/users/me/activities?type=application:tv

// get camera
app.activities.camera() // GET /v1/users/me/activities?type=camera

// get camera
app.activities.music() // GET /v1/users/me/activities?type=music

// get physical
app.activities.physicalAll() // GET /v1/users/me/activities?type=physical

// get physical -> walk
app.activities.physical.walk() // GET /v1/users/me/activities?type=physical:walk

// get physical -> run
app.activities.physical.run() // GET /v1/users/me/activities?type=physical:run

// get physical -> bicycle
app.activities.physical.bicycle() // GET /v1/users/me/activities?type=physical:bicycle

// get physical -> other
app.activities.physical.other() // GET /v1/users/me/activities?type=physical:other

// get sleep
app.activities.sleep() // GET /v1/users/me/activities?type=sleep

// get transport
app.activities.transport() // GET /v1/users/me/activities?type=transport


Locations

Suggested but not required parameters for activities:

start_time Timestamp Ex: '2014-06-01T09:00:00.000Z'

end_time Timestamp Ex: '2014-06-01T19:00:00.000Z'

limit Integer maximum number of entries



// get one or more locations
app.locations.multiple();  // GET /v1/users/me/locations


// get specific location
app.locations.single({ id: locationId }); // GET /v1/users/me/locations/:id



Test


 // TODO

Development


// TODO