Get Datasources
Returns list of datasources for the specified workspace.
REQUEST URI
https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<workspace-id>/datasources
Getoauthscope: ZohoAnalytics.metadata.read
POSSIBLE ERROR CODES
Sample Request:
Copiedcurl https://analyticsapi.zoho.com/restapi/v2/workspaces/<workspace-id>/datasources
-H 'ZANALYTICS-ORGID: <org-id>'
-H 'Authorization: Zoho-oauthtoken <access_token>'
Copiedusing System;
using System.Collections.Generic;
using ZohoAnalytics;
using System.Text.Json;
namespace ZohoAnalyticsTest
{
class Program
{
long orgId = 67648404;
long workspaceId = 1148746000002449012;
public void GetDatasources(IAnalyticsClient ac)
{
IWorkspaceAPI workspace = ac.GetWorkspaceInstance(orgId, workspaceId);
JsonElement datasources = workspace.GetDatasources();
Console.WriteLine(datasources);
}
static void Main(string[] args)
{
string clientId = "";
string clientSecret = "";
string refreshToken = "";
try
{
IAnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
Program obj = new Program();
obj.GetDatasources(ac);
}
catch (ServerException ex)
{
Console.WriteLine("Server exception - " + ex.GetErrorMessage());
}
catch (Exception ex)
{
Console.WriteLine("Other exception - " + ex.Message);
}
}
}
}
Copiedpackage main
import (
"fmt"
ZAnalytics "zoho/pkg/analyticsclient"
)
var(
clientId = "1000.xxxxxxx"
clientSecret = "xxxxxxx"
refreshToken = "1000.xxxxxxx.xxxxxxx"
orgId = "55522777"
workspaceId = "35130000001055707"
)
func GetDatasources(ac ZAnalytics.Client) {
workspace := ZAnalytics.GetWorkspaceInstance(&ac, orgId, workspaceId)
result, exception := workspace.GetDatasources()
if(exception != nil){
fmt.Println(exception.ErrorMessage)
}else{
fmt.Println(result)
}
}
func main() {
ac := ZAnalytics.GetAnalyticsClient(clientId, clientSecret, refreshToken)
GetDatasources(ac)
}
Copiedimport com.zoho.analytics.client.*;
import org.json.*;
public class Test {
private long orgId = 55522777l;
private long workspaceId = 35130000001055707l;
public static void main(String args[]){
String clientId = "1000.xxxxxxx";
String clientSecret = "xxxxxxx";
String refreshToken = "1000.xxxxxxx.xxxxxxx";
Test tObj = new Test();
AnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
try {
tObj.getDatasources(ac);
}
catch (ServerException ex) {
System.out.println("Server exception - ErrorCode : " + ex.getErrorCode() + ", ErrorMessage : " + ex.getErrorMessage());
}
catch (ParseException ex) {
System.out.println("Parser exception - ErrorMessage : " + ex.getResponseMessage());
}
catch (Exception ex) {
System.out.println("Other exception - ");
ex.printStackTrace();
}
}
public void getDatasources(AnalyticsClient ac) throws Exception {
WorkspaceAPI workspace = ac.getWorkspaceInstance(orgId, workspaceId);
JSONArray result = workspace.getDatasources();
System.out.println(result);
}
}
Copied<?php
require 'AnalyticsClient.php';
class Test
{
public $ac = NULL;
public $client_id = "1000.xxxxxxx";
public $client_secret = "xxxxxxx";
public $refresh_token = "1000.xxxxxxx.xxxxxxx";
public $org_id = "55522777";
public $workspace_id = "35130000001055707";
function __construct() {
$this->ac = new AnalyticsClient($this->client_id, $this->client_secret, $this->refresh_token);
}
function getDatasources() {
$workspace = $this->ac->getWorkspaceInstance($this->org_id, $this->workspace_id);
$response = $workspace->getDatasources();
print_r($response);
}
}
$test_obj = new Test();
try {
$test_obj->getDatasources();
}
catch(ServerException $se) {
echo "Server exception : " . $se->getErrorMessage() . "\n";
}
catch(IOException $ioe) {
echo "IO exception : " . $ioe->getErrorMessage() . "\n";
}
catch(ParseException $pe) {
echo "Parser exception : " . $pe->getErrorMessage() . "\n";
}
catch(Exception $e) {
echo "Exception : " . $e->getErrorMessage() . "\n";
}
?>
Copiedfrom __future__ import with_statement
from AnalyticsClient import AnalyticsClient
import sys
import json
class Config:
CLIENTID = "1000.xxxxxxx";
CLIENTSECRET = "xxxxxxx";
REFRESHTOKEN = "1000.xxxxxxx.xxxxxxx";
ORGID = "55522777";
WORKSPACEID = "35130000001055707";
class sample:
ac = AnalyticsClient(Config.CLIENTID, Config.CLIENTSECRET, Config.REFRESHTOKEN)
def get_datasources(self, ac):
workspace = ac.get_workspace_instance(Config.ORGID, Config.WORKSPACEID)
result = workspace.get_datasources()
print(result)
try:
obj = sample()
obj.get_datasources(obj.ac);
except Exception as e:
print(str(e))
Copiedvar nodelib = require('./ZAnalyticsClient');
var clientId = '1000.xxxxxxx';
var clientSecret = 'xxxxxxx';
var refreshtoken = '1000.xxxxxxx.xxxxxxx';
var orgId = '55522777';
var workspaceId = '35130000001055707';
var ac = new analyticsClient(clientId, clientSecret, refreshtoken);
var workspace = ac.getWorkspaceInstance(orgId, workspaceId);
workspace.getDatasources().then((response) => {
console.log(response);
}).catch((error) => {
console.log('errorCode : '+error.errorCode);
console.log('errorMessage : '+error.errorMessage);
});
CopiedorgId = "55522777";
workspaceId = "35130000001055707";
headersMap = Map();
headersMap.put("ZANALYTICS-ORGID",orgId);
response = invokeurl
[
url :"https://analyticsapi.zoho.com/restapi/v2/workspaces/" + workspaceId + "/datasources"
type :GET
headers:headersMap
connection:"analytics_oauth_connection"
];
info response;
Download client libraries: C# | GO | JAVA | PHP | PYTHON | NodeJS
Sample Response:
Copied{
"status": "success",
"summary": "Fetch Datasources",
"data": {
"dataSources": [
{
"datasourceName": "Amazon RDS MySQL",
"datasourceId": "100003000000032016",
"source": "relmodel",
"lastDataSyncStatus": "Not Applicable",
"lastDataSyncTime": "03 August, 2024 03:39:16 PM IST",
"schedule": "Every 15 Minutes",
"nextScheduleTime": "03 August, 2024 03:52:56 PM IST",
"syncUsed": "0",
"syncIntervalId":"100003000000032134",
"totalSyncAllowed": "5",
"tableDetails": [
{
"viewName": "Check_3",
"viewId": "100003000000032019",
"sourceName": "Check_3",
"lastSyncTime": "03 August, 2024 03:39:13 PM IST",
"syncStatus": "Success"
},
{
"viewName": "Dip",
"viewId": "100003000000032515",
"sourceName": "Dip",
"lastSyncTime": "03 August, 2024 03:39:09 PM IST",
"syncStatus": "Success"
},
{
"viewName": "TinyIntTest2",
"viewId": "100003000000032644",
"sourceName": "TinyIntTest2",
"lastSyncTime": "03 August, 2024 03:39:16 PM IST",
"syncStatus": "Success"
}
]
},
{
"datasourceName": "Web",
"source": "https://css.zohostatic.com/analytics/samples/m4/StoreSales.csv",
"fileType": "CSV",
"lastDataSyncStatus": "Sync Success",
"lastDataSyncTime": "02 August, 2024 01:38:34 PM IST",
"schedule": "Weekly. Every Sunday at 00:00 hrs IST",
"nextScheduleTime": "04 August, 2024 12:00:00 AM IST",
"tableDetails": [
{
"viewName": "Untitled-1",
"viewId": "100003000000037715",
"lastSyncTime": "02 August, 2024 01:38:34 PM IST",
"syncStatus": "Success"
}
]
},
{
"datasourceName": "MongoDB Atlas",
"datasourceId": "100003000000011018",
"source": "sample_mflix",
"totalSyncAllowed": "5",
"syncIntervals": [
{
"syncIntervalId": "100003000000011019",
"lastDataSyncStatus": "Not Applicable",
"lastDataSyncTime": "01 August, 2024 10:14:05 AM IST",
"schedule": "Not Scheduled",
"nextScheduleTime": "-",
"syncUsed": "0",
"tableDetails": [
{
"viewName": "movies.cast",
"viewId": "100003000000011495",
"sourceName": "movies.cast",
"lastSyncTime": "01 August, 2024 07:37:02 PM IST",
"syncStatus": "Success"
},
{
"viewName": "movies.writers",
"viewId": "100003000000011553",
"sourceName": "movies.writers",
"lastSyncTime": "01 August, 2024 07:36:02 PM IST",
"syncStatus": "Success"
}
]
},
{
"syncIntervalId": "100003000000014015",
"lastDataSyncStatus": "Not Applicable",
"lastDataSyncTime": "01 August, 2024 07:10:04 PM IST",
"schedule": "Weekly. Every Monday at 10:30 hrs IST",
"nextScheduleTime": "05 August, 2024 10:30:00 AM IST",
"syncUsed": "0",
"tableDetails": [
{
"viewName": "movies.languages",
"viewId": "100003000000011611",
"sourceName": "movies.languages",
"lastSyncTime": "01 August, 2024 07:37:02 PM IST",
"syncStatus": "Success"
}
]
},
{
"syncIntervalId": "100003000000031040",
"lastDataSyncStatus": "Not Applicable",
"lastDataSyncTime": "01 August, 2024 07:37:04 PM IST",
"schedule": "Monthly. Every month 1st at 19:35 hrs IST",
"nextScheduleTime": "01 September, 2024 07:35:00 PM IST",
"syncUsed": "0",
"tableDetails": [
{
"viewName": "movies",
"viewId": "100003000000011137",
"sourceName": "movies",
"lastSyncTime": "01 August, 2024 07:37:04 PM IST",
"syncStatus": "Partial Success"
}
]
}
]
}
]
}
}