There are many references to shared libraries on this site. You can either take a copy of them or use them in place as you wish. I’m always hitting a few problems with a) versions b) keys
Versions
Library info
function getLibraryInfo () { return { info: { name:'cDriverSheet', version:'2.00', key:'Mrckbr9_w7PCphJtOzhzA_Cz3TLx7pV4j', }, dependencies:[ cDriverMemory.getLibraryInfo(), cFlatten.getLibraryInfo(), cNamedLock.getLibraryInfo() ] }; }
Use it like this to get the profile of a list of libraries.
function log () { Logger.log (JSON.stringify(getLibraryData())); } function getLibraryData () { return getAllLibraries ( [ cDbAbstraction, cDriverDataStore ]); } function getAllLibraries (libraries) { var result = []; libraries.forEach ( function (l) { result.push ( l.getLibraryInfo() ); }); return result; }
You’ll get this
[ { "info": { "name": "cDbAbstraction", "version": "2.00", "key": "MHfCjPQlweartW45xYs6hFai_d-phDA33" }, "dependencies": [ { "info": { "name": "cCacheHandler", "version": "2.00", "key": "M3reA5eBxtwxSqCEgPywb9ai_d-phDA33" }, "dependencies": [] }, { "info": { "name": "cUseful", "version": "2.00", "key": "Mcbr-v4SsYKJP7JMohttAZyz3TLx7pV4j" }, "dependencies": [] }, { "info": { "name": "cNamedLock", "version": "2.00", "key": "Mpv7vUR0126U53sfSMXsAPai_d-phDA33" }, "dependencies": [ { "info": { "name": "cCacheHandler", "version": "2.00", "key": "M3reA5eBxtwxSqCEgPywb9ai_d-phDA33" }, "dependencies": [] } ] }, { "info": { "name": "cFlatten", "version": "2.00", "key": "MqxKdBrlw18FDd-X5zQLd7yz3TLx7pV4j" }, "dependencies": [] }, { "info": { "name": "cUAMeasure", "version": "2.00", "key": "MIHfxr-fc_7bXa1l0Dkk0oqi_d-phDA33" }, "dependencies": [] } ] }, { "info": { "name": "cDriverDataStore", "version": "2.00", "key": "MPZF_EC6nOZFAjMRqCxEaUyz3TLx7pV4j" }, "dependencies": [ { "info": { "name": "cNamedLock", "version": "2.00", "key": "Mpv7vUR0126U53sfSMXsAPai_d-phDA33" }, "dependencies": [ { "info": { "name": "cCacheHandler", "version": "2.00", "key": "M3reA5eBxtwxSqCEgPywb9ai_d-phDA33" }, "dependencies": [] } ] }, { "info": { "name": "cFlatten", "version": "2.00", "key": "MqxKdBrlw18FDd-X5zQLd7yz3TLx7pV4j" }, "dependencies": [] } ] } ]
I used to have a button on my pages that, upon being clicked, would give all keys and dependencies from the majority of my public libraries. This button doesn’t work anymore due to Gadgets having ceased to work.
I give you the code below should you want to adapt it for your own use
** * used to return all known keys and dependencies for public library * parameter is callback to get jsonp * and optional list = list",... to get a list of libraries **/ function test() { Logger.log(getLibraryData()); Logger.log(getLibraryData({parameter:{list:"cDogger,cFlatten"}})); } function doGet(e) { e = e || {parameter:{}}; // do whatever this webapp is for var result = getLibraryData(e); // prepare the result var s = JSON.stringify(result); // publish result return ContentService .createTextOutput(e.parameter.callback ? e.parameter.callback + "(" + s + ")" : s ) .setMimeType(e.parameter.callback ? ContentService.MimeType.JAVASCRIPT : ContentService.MimeType.JSON); } function getLibraryData (e) { return e && e.parameter && e.parameter.list ? getAllLibraries (e.parameter.list.split(",").map(function(d) { return d; })) : getAllLibraries ( [ "cDbAbstraction", "cDriverOrchestrate", "cDriverParse", "cDriverFusion", "cDriverDrive", "cDriverImportio", "cDriverDataStore", "cDriverSheet", "cDriverScriptDB", "cDriverMemory", "cDriverProperties", "cDriverMongoLab", "cParseCom", "cFlatten", "cUAMeasure", "cNamedLock", "cCacheHandler", "cDataHandler", "cDogger", "yourDoggerServer", "doggerDemo" ]); } function getAllLibraries (libraries) { var result = []; libraries.forEach ( function (l) { result.push ( eval(l+".getLibraryInfo();")); }); return result; }