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