Copy Views

Copy the specified views from one workspace to another workspace.

Note: For ZANALYTICS-ORGID header, provide the source organization id as the value.

REQUEST URI

https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<source-workspace-id>/views/copy

Post

oauthscopeZohoAnalytics.modeling.create

QUERY PARAMETERS

Parameter NameDescription
CONFIG*JSONObject

Config parameter specifications are available in the below section.

FIELDS FOR CONFIG JSON

KeyDescription
viewIds*JSONArray

The id of the views to be copied.

Sample: ["viewId1","viewId2"]
destWorkspaceId*

Long

The destination workspace id.

workspaceKeyString

The secret key used for allowing the user to copy the views from one organization to another organization.
copyWithDataBoolean

To copy the table with data.
copyWithDependentViewsBoolean

The copy the views with dependents.

REQUEST HEADERS (ACTION SPECIFIC)

NameValueDescription
ZANALYTICS-DEST-ORGID<destination-org-id>Id of the organization where the destination workspace is present.

POSSIBLE ERROR CODES

7103 , 7138 , 8504 , 8506 , 8516 , 15000 , 15001 , 15002 , 15005 , 15007 , 15012

Sample Request:

Copiedcurl https://analyticsapi.zoho.com/restapi/v2/workspaces/<source-workspace-id>/views/copy?CONFIG=<encoded_json_value> 
-X 'POST' 
-H 'ZANALYTICS-ORGID: <source-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 = 55522777;
        long workspaceId = 35130000001055707;

        public void CopyViews(IAnalyticsClient ac)
        {
            long workspaceId = 1148746000002449012;
            List<long> viewIds = new List<long>();
            viewIds.Add(1148746000002457001);
            long destWorkspaceId = 1148746000002556007;
            IWorkspaceAPI ws = ac.GetWorkspaceInstance(orgId, workspaceId);
            JsonElement views = ws.CopyViews(viewIds, destWorkspaceId, null, null);
            Console.WriteLine(views);
        }

        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.CopyViews(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 CopyViews(ac ZAnalytics.Client) {
    config := map[string]interface{}{}
    destworkspaceid := "35130000001055707"
    destorgid := ""
    viewids := [2]string{}
    viewids[0] = "1148746000002449007"
    viewids[1] = "1148746000002449008"
    workspace := ZAnalytics.GetWorkspaceInstance(&ac, orgId, workspaceId)
    result, exception := workspace.CopyViews(viewids, destworkspaceid, config, destorgid)
    if(exception != nil){
        fmt.Println(exception.ErrorMessage)
    }else{
        fmt.Println(result)
    }
}

func main() {

    ac := ZAnalytics.GetAnalyticsClient(clientId, clientSecret, refreshToken)
    CopyViews(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.copyViews(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 copyViews(AnalyticsClient ac) throws Exception {
        JSONArray viewIds = new JSONArray();
        viewIds.put(35730000007354002l);
        long destWorkspaceId = 35130000001055707l;
        WorkspaceAPI workspace = ac.getWorkspaceInstance(orgId, workspaceId);
        JSONArray result = workspace.copyViews(viewIds, destWorkspaceId, null, null);
        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 copyViews() {
            $dest_workspace_id = "1148746000002449089";
            $view_ids = array("1148746000002449094", "1148746000002449095");
            $workspace = $this->ac->getWorkspaceInstance($this->org_id, $this->workspace_id);
            $response = $workspace->copyViews($view_ids, $dest_workspace_id);
            print_r($response);
        }
    }

    $test_obj = new Test();

    try {
        $test_obj->copyViews();
    }
    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 copy_views(self, ac):
        view_ids = []
        view_ids.append("1148746000002457001")
        dest_workspace_id = "1148746000002575005"
        workspace = ac.get_workspace_instance(Config.ORGID, Config.WORKSPACEID)
        result = workspace.copy_views(view_ids, dest_workspace_id)
        print(result)

try:
    obj = sample()
    obj.copy_views(obj.ac);

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

var clientId = '1000.xxxxxxx';
var clientSecret = 'xxxxxxx';
var refreshtoken = '1000.xxxxxxx.xxxxxxx';
var orgId = '55522777';
var workspaceId = '35130000001055707';
var destWorkspaceId = '';

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

var viewIds = [];
viewIds.push("");
viewIds.push("");

var config = {};
var workspace = ac.getWorkspaceInstance(orgId, workspaceId);
workspace.copyViews(viewIds, destWorkspaceId, config).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);

views = {};
views.add("35130000001360048");
destWorkspaceId = "35130000001677807";

config = Map();
config.put("viewIds",views);
config.put("destWorkspaceId",destWorkspaceId);

paramsMap = Map();
paramsMap.put("CONFIG",config.toString());

response = invokeurl
[
  url :"https://analyticsapi.zoho.com/restapi/v2/workspaces/" + workspaceId + "/views/copy"
  type :POST
  parameters: paramsMap
  headers:headersMap
  connection:"analytics_oauth_connection"
];
info response;

Download client libraries:  C# | GO | JAVA | PHP | PYTHON | NodeJS

Sample value for CONFIG parameter:

Copied{
  "viewIds": ["<view-id1>", "<view-id2>"],
  "destWorkspaceId": "<workspace-id>"
}

Sample Response:

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

{
    "status": "success",
    "summary": "Copy views",
    "data": {
        "views": [
            {
                "sourceViewId": "1767024000004221089",
                "destViewId": "2102449000000625001"
            },
            {
                "sourceViewId": "1767024000004221093",
                "destViewId": "2102449000000625005"
            }
        ]
    }
}