Share Views
Share views to the specified users.
REQUEST URI
https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<workspace-id>/share
Post
oauthscope: ZohoAnalytics.share.create
QUERY PARAMETERS
| Description |
---|---|
CONFIG* | JSONObject Config parameter specifications are available in the below section. |
FIELDS FOR CONFIG JSON
Key | Description |
---|---|
emailIds* | JSONArray The email address of the users to whom the views need to be shared. Sample: ["emailId1","emailId2"] |
viewIds* | JSONArray View ids which to be shared. Sample: ["viewId1","viewId2"] |
groupIds | JSONArray The ids of the groups to which the views need to be shared. |
permissions* | JSONObject Permissions JSON object (permission attributes table). Sample: {"read":true,"vud":true,"export":true} |
criteria | String To apply filter criteria while sharing a view to users. The specified criteria will be applied to the reports shared, thereby filtering the data viewed, when the report is accessed by the shared user. Sample: {"criteria":"\"SalesTable\".\"Region\"='East'"} Refer this |
inheritParentFilterCriteria | Boolean This is valid only for reports(not tables). If true, then its parent tables’ criteria is also taken into account while sharing. |
inviteMail | Boolean To send the invitation mail to the provided email addresses. |
inviteMailCCMe | Boolean to CC the invitation mail to you on sharing. |
mailSubject | String Invitation mail subject. |
mailMessage | String Invitation mail messasge. |
domainName | String Name of domian. To to share views to the white label domain. |
columns | Array of JSONObject To limit the share option to specified columns from specified tables. Sample: [{"tableName":"table1","columnNames":["column1","column2"]}] |
vudColumns | Array of JSONObject To limit the view underlying data option to specified columns from specified tables. This will be valid only if the vud permission is set to true .Sample: [{"tableName":"table1","columnNames":["column1","column2"]}] |
drillColumns | Array of JSONObject To limit the drill down option to specified columns from specified tables. This will be valid only if the drillDown permission is set to true .Sample: [{"tableName":"table1","columnNames":["column1","column2"]}] |
includeAllColsForVUD | Boolean To specify if all columns in the table included in the underlying data. Default value - false. |
PERMISSION ATTRIBUTES
Key | Description |
---|---|
read* | Boolean Permission to access the view. Should be true. |
export | Boolean Permission to export the view data. Default value - false. |
vud | Boolean Permission to view the underlying data. Default value - false. |
drillDown | Boolean Permission to drill down in a chart. Default value - false. |
addRow | Boolean Permission to add a row in the table. Default value - false. |
updateRow | Boolean Permission to update a row in the table. Default value - false. |
deleteRow | Boolean Permission to delete a row in the table. Default value - false. |
deleteAllRows | Boolean Permission to delete all rows in the table. Default value - false. |
importAppend | Boolean Permission to import data into the table using APPEND option. Default value - false. |
importAddOrUpdate | Boolean Permission to import data into the table using UPDATEADD option. Default value - false. |
importDeleteAllAdd | Boolean Permission to import data into the table using the TRUNCATEADD option. Default value - false. |
share | Boolean Permission to share the view to other users. Default value - false. |
discussion | Boolean Permission to allow commenting in the view. Default value - false. |
POSSIBLE ERROR CODES
7103, 7104, 7301, 7387, 8060, 8078, 8079, 8083, 8504, 8518, 8535
Sample Request:
Copiedcurl https://analyticsapi.zoho.com/restapi/v2/workspaces/<workspace-id>/share?CONFIG=<encoded_json_value>
-X 'POST'
-H 'ZANALYTICS-ORGID: <org-id>'
-H 'Authorization: Zoho-oauthtoken <access_token>'
Copiedusing System;
using System.Collections.Generic;
using ZohoAnalytics;
namespace ZohoAnalyticsTest
{
class Program
{
long orgId = 55522777;
long workspaceId = 35130000001055707;
public void ShareViews(IAnalyticsClient ac)
{
List<long> viewIds = new List<long>();
viewIds.Add(35730000007354002);
List<string> emailIds = new List<string>();
emailIds.Add("testuser+1@zoho.com");
Dictionary<string, bool> permissions = new Dictionary<string, bool>();
permissions.Add("read", true);
IWorkspaceAPI ws = ac.GetWorkspaceInstance(orgId, workspaceId);
ws.ShareViews(viewIds, emailIds, permissions, null);
Console.WriteLine("success");
}
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.ShareViews(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 ShareViews(ac ZAnalytics.Client) {
viewids := [1]string{}
viewids[0] = "35130000001354002"
emailids := [1]string{}
emailids[0] = "user+1@zoho.com"
permissions := map[string]bool{}
permissions["read"] = true
config := map[string]interface{}{}
workspace := ZAnalytics.GetWorkspaceInstance(&ac, orgId, workspaceId)
err := workspace.ShareViews(viewids, emailids, permissions, config)
if(err != nil){
fmt.Println("Error - " + err.ErrorMessage)
}else{
fmt.Println("success")
}
}
func main() {
ac := ZAnalytics.GetAnalyticsClient(clientId, clientSecret, refreshToken)
ShareViews(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.shareViews(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 shareViews(AnalyticsClient ac) throws Exception {
WorkspaceAPI workspace = ac.getWorkspaceInstance(orgId, workspaceId);
JSONArray emailIds = new JSONArray();
emailIds.put("user+1@zoho.com");
emailIds.put("user+2@zoho.com");
JSONArray viewIds = new JSONArray();
viewIds.put("35730000007354002");
JSONObject permissions = new JSONObject();
permissions.put("read", true);
workspace.shareViews(viewIds, emailIds, permissions, null);
System.out.println("success");
}
}
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 shareViews() {
$view_ids = array("35130000001353002", "35130000001355005");
$email_ids = array("user+1@zoho.com", "user+2@zoho.com");
$permissions = array();
$permissions["read"] = "true";
$workspace = $this->ac->getWorkspaceInstance($this->org_id, $this->workspace_id);
$workspace->shareViews($view_ids, $email_ids, $permissions);
echo "success\n";
}
}
$test_obj = new Test();
try {
$test_obj->shareViews();
}
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 share_views(self, ac):
view_ids = []
view_ids.append("35730000007354002")
email_ids = []
email_ids.append("user+1@zoho.com")
permissions = {}
permissions["read"] = True
workspace = ac.get_workspace_instance(Config.ORGID, Config.WORKSPACEID)
workspace.share_views(view_ids, email_ids, permissions)
print("success")
try:
obj = sample()
obj.share_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 viewIds = [];
var emailIds = [];
var permissions = {};
var ac = new analyticsClient(clientId, clientSecret, refreshtoken);
var config = {};
viewIds.push('');
viewIds.push('');
emailIds.push('');
emailIds.push('');
permissions['read'] = true;
permissions['share'] = true;
var workspace = ac.getWorkspaceInstance(orgId, workspaceId);
workspace.shareViews(viewIds, emailIds, permissions, config).catch((error) => {
console.log('errorCode : '+error.errorCode);
console.log('errorMessage : '+error.errorMessage);
});
CopiedorgId = "55522777";
workspaceId = "35130000001055707";
headersMap = Map();
headersMap.put("ZANALYTICS-ORGID",orgId);
emailIds = {};
emailIds.add("user+1@zoho.com");
emailIds.add("user+2@zoho.com");
viewIds = {};
viewIds.add("35130000001354002");
viewIds.add("35130000001355005");
permissions = Map();
permissions.put("read","true");
permissions.put("export","true");
config = Map();
config.put("emailIds",emailIds);
config.put("viewIds",viewIds);
config.put("permissions",permissions);
paramsMap = Map();
paramsMap.put("CONFIG",config.toString());
response = invokeurl
[
url :"https://analyticsapi.zoho.com/restapi/v2/workspaces/" + workspaceId + "/share"
type :POST
parameters:paramsMap
headers:headersMap
connection:"analytics_oauth_connection"
];
Sample value for CONFIG parameter:
Copied{
"emailIds": ["<email-id1>", "<email-id2>"],
"viewIds": ["<view-id1>", "<view-id2>"],
"permissions": {
"read": "true",
"export": "true"
}
}