Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Create new source application

Go to Source Data tab and Add new source application and select REST API application type. To fill fields with default values, in field Import definition paste example source application definition.

REST API source parameters

In the next step, you will need to provide REST API source parameters which will be used to retrieve the data. See example:

...

You can add own custom/calculated values, like in this example value for "Project" property.

Enable Analytics API

Next you need to enable Analytics API. In order to do that you must go to console Dashboard page, click on the "ENABLE APIS AND SERVICES" and add "Analytics API" to the list:

Authorize access to REST API source

In the first time you will be redirected to source application authorization page where you will need to authorize flex.bi access to source application data.

Source columns mapping

Example of Google Analytics import column mappings


Google Analytics source application definition example

If you would like to use this Google Analytics import example from this tutorial then you can use the following source application definition:

Expand
titleExpand source



Code Block
{
  "application_type": "rest_api",
  "application_params": {
    "source_params": {
      "url": "https://www.googleapis.com/analytics/v3/data/ga?ids=ga:XXXX&start-date=2016-10-01&end-date=2017-11-30&metrics=ga%3APageLoadTime&dimensions=ga%3Adate",
      "skip_ssl_verification": "0",
      "pagination": "offset_limit",
      "authentication_type": "oauth2",
      "content_type": "json",
      "oauth2_scope": "https://www.googleapis.com/auth/analytics.readonly",
      "oauth2_authorize_url": "https://accounts.google.com/o/oauth2/auth?access_type=offline",
      "oauth2_token_url": "https://accounts.google.com/o/oauth2/token",
      "custom_javascript_code": "function formatDate(s) {\n  return s.substr(0,4)+'-'+s.substr(4,2)+'-'+s.substr(6,2);\n}\n\nreturn _.map(doc.rows, function(row) {\n  var rowdoc = {};\n  for (var i = 0; i < doc.columnHeaders.length; i++) {\n    var name = doc.columnHeaders[i].name.replace(/^ga:/, '');\n    rowdoc[name] = name == 'date' ? formatDate(row[i]) : row[i];\n  }\n  rowdoc[\"Project\"] = \"Project 1\";\n  return rowdoc;\n});",
      "offset_parameter": "start-index",
      "limit_parameter": "max-results",
      "limit_value": 1000
    }
  },
  "source_cube_name": "GA_TEST3",
  "columns": [
    {
      "name": "date",
      "data_type": "date",
      "dimension": "Time"
    },
    {
      "name": "PageLoadTime",
      "data_type": "integer"
    },
    {
      "name": "Project",
      "data_type": "string"
    }
  ]
}