Versions Compared

Key

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

...

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

...

After registration you will get your application Client ID and Client Secret - please paste them in flex.bi REST API source parameters page corresponding fields.

Image RemovedImage Added

If you will create several Google Analytics REST API sources in your flex.bi account then you can use the same Client ID and Client Secret for all these REST API sources.

...

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:

Image RemovedImage Added

Authorize access to REST API source

...

Example of Google Analytics import column mappings

Image RemovedImage Added


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"
    }
  ]
} 


Troubleshooting

If you have some issues please read analytics API troubleshooting section. To reset the authorization you can remove your app from your google account.