Get Datasources

Returns list of datasources for the specified workspace.

REQUEST URI

https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<workspace-id>/datasources

Get

oauthscopeZohoAnalytics.metadata.read

POSSIBLE ERROR CODES

7103, 7301, 7387, 8518, 8535

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