cloudcmd/lib/client/storage/_skydrive.js
2014-06-17 10:12:16 -04:00

78 lines
2 KiB
JavaScript

//http://isdk.dev.live.com/ISDK.aspx?category=scenarioGroup_skyDrive&index=0
var CloudCmd, Util, DOM, WL;
(function(CloudCmd, Util, DOM){
'use strict';
var SkyDrive = {};
/* PRIVATE FUNCTIONS */
/**
* load google api library
*/
function load(callback){
console.time('SkyDrive');
var lUrl = '//js.live.net/v5.0/wl.js';
DOM.load.js(lUrl, function(){
console.timeEnd('SkyDrive load');
DOM.Images.hide();
Util.exec(callback);
});
}
function auth() {
DOM.Files.get('modules', function(error, modules){
var lStorage = Util.findObjByNameInArr(modules, 'storage'),
lSkyDrive = Util.findObjByNameInArr(lStorage, 'SkyDrive'),
lSkyDriveKey = lSkyDrive && lSkyDrive.id;
WL.init({
client_id: lSkyDriveKey,
redirect_uri: CloudCmd.HOST,
});
WL.login({
scope: ['wl.skydrive wl.signin']
}).then(
function(response) {
Util.log(response);
},
function() {
Util.log('Failed to authenticate.');
});
WL.Event.subscribe('auth.login', onLogin);
});
}
function onLogin() {
var strGreeting = '';
WL.api({
path: 'me',
method: 'GET'
},
function (response) {
if (!response.error) {
strGreeting = 'Hi, ' + response.first_name + '!';
Util.log(strGreeting);
}
});
}
SkyDrive.init = function(callback) {
Util.exec.series([
load,
auth,
Util.exec.ret(callback)
]);
};
CloudCmd.SkyDrive = SkyDrive;
})(CloudCmd, Util, DOM);