Snippets

Presis Google Spreadsheet functie voor Nanda

Created by Carsten Alsemgeest last modified
/**
 * Importeert Nanda data in jouw spreadsheet Voorbeeld: IMPORTNANDA("account=09d60e0..."; "result/rows/0/1"; "TjNVAAEA...")
 * @param {string} query Query string in het door de API bepaald formaat
 * @param {string} xpath Pad in het resultaat
 * @param {string} token Authenticatie sleutel
 * @version 1.0.0
 * @customfunction
 */
function IMPORTNANDA(query, xpath, token) {
  if (typeof (token) === "undefined") {
    return "Vul een token in.";
  }
  try {

    var options = {
      'headers': {
        'Authorization': 'Bearer ' + token
      }
    };
    var res = UrlFetchApp.fetch('https://api.nanda.io/api/v1/timelog?' + query, options);
    var content = res.getContentText();
    var json = JSON.parse(content);

    var patharray = xpath.split("/");

    for (var i = 0; i < patharray.length; i++) {
      json = json[patharray[i]];
    }

    if (typeof (json) === "undefined") {
      return "Pad niet beschikbaar";
    } else if (typeof (json) === "object") {
      var tempArr = [];

      for (var obj in json) {
        tempArr.push([obj, json[obj]]);
      }
      return tempArr;
    } else if (typeof (json) !== "object") {
      return json;
    }
  } catch (err) {
    if (err.message.indexOf('TOKEN_INVALID') !== -1) {
      return 'Foute of verlopen sleutel. Genereer een nieuwe sleutel op https://api.nanda.io/explorer#post_auth_login';
    } else {
      return "Fout bij het ophalen van gegevens";
    }
  }
}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.