Get Table Metadata

Returns metadata details such as available columns and their attributes for the specified table.

REQUEST URI

https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<workspace-id>/views/{{view-id}}/metadata

Get

oauthscopeZohoAnalytics.metadata.read

Sample Request:

Copiedcurl https://analyticsapi.zoho.com/restapi/v2/workspaces/<workspace-id>/views/<view-id>/metadata
-H 'ZANALYTICS-ORGID: <org-id>'
-H 'Authorization: Zoho-oauthtoken <access_token>'
CopiedorgId = "55522777";
workspaceId = "<workspace-id>";
viewId = "<view-id>";

headersMap = Map();
headersMap.put("ZANALYTICS-ORGID", orgId);

response = invokeurl
[
  url :"https://analyticsapi.zoho.com/restapi/v2/workspaces/" + workspaceId + "/views/" + viewId + "/metadata"
  type :GET
  headers:headersMap
  connection:"analytics_oauth_connection"
];

info response;
Copiedusing System;
using System.Collections.Generic;
using ZohoAnalytics;
using System.Text.Json;

namespace ZohoAnalyticsTest
{
    class Program
    {
        long orgId = 55522777;
        long workspaceId = 35130000001055707;
        long viewId = 35730000007354002;

        public void GetTableMetadata(IAnalyticsClient ac)
        {
            IViewAPI view = ac.GetViewInstance(orgId, workspaceId, viewId);
            JsonElement result = view.GetTableMetadata();
            Console.WriteLine(result.ToString());
        }

        static void Main(string[] args)
        {
            string clientId = "1000.xxxxxxx";
            string clientSecret = "xxxxxxx";
            string refreshToken = "1000.xxxxxxx.xxxxxxx";

            try
            {
                IAnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
                Program obj = new Program();
                obj.GetTableMetadata(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"
    viewId = "35130000001053670"
)

func GetTableMetadata(ac ZAnalytics.Client) {
    view := ZAnalytics.GetViewInstance(&ac, orgId, workspaceId, viewId)

    result, exception := view.GetTableMetadata()
    if exception != nil {
        fmt.Println("Error:", exception)
        return
    }

    fmt.Println(result)
}

func main() {
    ac := ZAnalytics.GetAnalyticsClient(clientId, clientSecret, refreshToken)
    GetTableMetadata(ac)
}
Copiedimport com.zoho.analytics.client.*;
import org.json.*;

public class Test {

    private long orgId = 55522777l;
    private long workspaceId = 35130000001055707l;
    private long viewId = 35130000005594013l;

    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.getTableMetadata(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 getTableMetadata(AnalyticsClient ac) throws Exception {

        ViewAPI view = ac.getViewInstance(orgId, workspaceId, viewId);

        JSONObject result = view.getTableMetadata();
        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";
    public $view_id = "35130000006310013";

    function __construct() {
        $this->ac = new AnalyticsClient($this->client_id, $this->client_secret, $this->refresh_token);
    }

    function getTableMetadata() {
        $view = $this->ac->getViewInstance($this->org_id, $this->workspace_id, $this->view_id);
        $result = $view->getTableMetadata();
        print_r($result);
    }
}

$test_obj = new Test();

try {
    $test_obj->getTableMetadata();
}
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->getMessage() . "\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"
    VIEWID = "35130000006310013"

class Sample:

    ac = AnalyticsClient(Config.CLIENTID, Config.CLIENTSECRET, Config.REFRESHTOKEN)

    def get_table_metadata(self, ac):
        view = ac.get_view_instance(Config.ORGID, Config.WORKSPACEID, Config.VIEWID)
        result = view.get_table_metadata()
        print(result)

try:
    obj = Sample()
    obj.get_table_metadata(obj.ac)

except Exception as e:
    print(str(e))
Copiedvar analyticsClient = require('./AnalyticsClient');

var clientId = '';
var clientSecret = '';
var refreshToken = '';
var orgId = '';
var workspaceId = '';
var viewId = '';

var ac = new analyticsClient(clientId, clientSecret, refreshToken);

var view = ac.getViewInstance(orgId, workspaceId, viewId);

view.getTableMetadata()
.then((response) => {
    console.log(response);
})
.catch((error) => {
    console.log('errorCode : ' + error.errorCode);
    console.log('errorMessage : ' + error.errorMessage);
});
Copiedrequire 'zoho_analytics_client'

class Config
  CLIENT_ID     = "1000.xxxxxxx"
  CLIENT_SECRET = "xxxxxxx"
  REFRESH_TOKEN = "1000.xxxxxxx.xxxxxxx"

  ORG_ID        = "55522777"
  WORKSPACE_ID  = "35130000001055707"
  VIEW_ID       = "35130000006310013"
end

class Sample
  def initialize
    @ac = AnalyticsClient.new
           .with_data_center("US")
           .with_oauth({
             "clientId"     => Config::CLIENT_ID,
             "clientSecret" => Config::CLIENT_SECRET,
             "refreshToken" => Config::REFRESH_TOKEN
           })
           #.with_token_store_path("/home/admin/analytics_ruby_sdk/tokens") # Optional – specify a directory path to securely store the encrypted access token
           .build
  end

  def get_table_metadata
    view = @ac.get_view_instance(Config::ORG_ID, Config::WORKSPACE_ID, Config::VIEW_ID)
    result = view.get_table_metadata
    puts result
  end
end

begin
  obj = Sample.new
  obj.get_table_metadata
rescue ServerError => e
  puts "Server Error: #{e.response_content}"
rescue StandardError => e
  puts e.message
  puts e.backtrace.join("\n")
end

Download SDKs:  C# | GO | JAVA | PHP | PYTHON | NodeJS | Ruby

Sample Response

CopiedHTTP/1.1 200 OK
Content-Type:application/json;charset=UTF-8

{
  "status": "success",
  "summary": "Get table metadata",
  "data": {
    "columns": [
      {
        "columnId": "466206000000069003",
        "columnName": "Product",
        "dataType": "PLAIN",
        "dataTypeId": 1,
        "dataTypeName": "Plain Text",
        "columnIndex": 1,
        "columnDesc": "",
        "columnMaxSize": 253,
        "isNullable": true,
        "defaultValue": "",
        "pkTableName": "",
        "pkColumnName": "",
        "formulaDisplayName": "",
        "isHidden": false,
        "sortedOrder": 0,
        "sortedIndex": -1
      },
      {
        "columnId": "466206000000073014",
        "columnName": "precol",
        "dataType": "PLAIN",
        "dataTypeId": 1,
        "dataTypeName": "Plain Text",
        "columnIndex": 2,
        "columnDesc": "",
        "columnMaxSize": 253,
        "isNullable": true,
        "defaultValue": "",
        "pkTableName": "",
        "pkColumnName": "",
        "formulaDisplayName": "",
        "isHidden": false,
        "sortedOrder": 0,
        "sortedIndex": -1
      },
      {
        "columnId": "466206000000073013",
        "columnName": "Sales",
        "dataType": "CURRENCY",
        "dataTypeId": 7,
        "dataTypeName": "Currency",
        "columnIndex": 3,
        "columnDesc": "",
        "columnMaxSize": 22,
        "isNullable": true,
        "defaultValue": "",
        "pkTableName": "",
        "pkColumnName": "",
        "formulaDisplayName": "",
        "currencyFormat": "en;US;",
        "thousandSeparator": ",",
        "decimalSeparator": ".",
        "decimalPlaces": 2,
        "isHidden": false,
        "sortedOrder": 0,
        "sortedIndex": -1
      }
    ]
  }
}