ZOHO Partner
ZOHO Partner
Впровадження, навчання, інтеграція додатків Zoho

Копирование Zoho Analytics Workspace с помощью Postman

23.02.22 04:22 PM By Alexander

Как скопировать Workspace из одной учетной записи в другую

Распространенные случаи когда вам может понадобиться копировать рабочее пространство Zoho Analytics:

  • полное резервное копирование не только данных, но и запросов и других метаданных;
  • тестовая среда, чтобы изолировать ваших разработчиков и предоставить им безопасное пространство для экспериментов;
  • продавать готовые дашборды своим клиентам.

Ключевой концепцией является ZOHO_COPY_DB_KEY — ключ, позволяющий целевой учетной записи получать доступ к метаданным из исходной учетной записи. Используя токены OAuth "Self Client" можно сгенерировать ключ из исходной учетной записи, а затем использовать ключ в новой учетной записи с действительным токеном OAuth.

Я надеюсь, что вы найдете этот документ ценным инструментом в вашей работе.
ПЕРЕД НАЧАЛОМ
Внимание. Рабочее пространство можно копировать только в пределах одного дата-центра. Вы можете определить свой дата-центр за доменом верхнего уровня:
Вам также потребуется установить Postman.
Шаг 1: Войдите в систему

Войдите в исходную и целевую учетные записи в разных браузерах (например, Chrome и Firefox), либо в разных окнах Chrome.

Шаг 2. Создайте Self Clients для каждой учетной записи

Создайте Self Clients для каждой учетной записи, используя API Console в зависимости от местоположения вашего центра обработки данных :
https://api-console.zoho.com/ 
https://api-console.zoho.eu/ 
https://api-console.zoho.in/ 








Шаг 3. Сгенирируйте Code, Client ID и Client Secret для каждой учетной записи
Вам понадобится Code, Client ID и Client Secret для 4-го шага.
Для этого я использовала ZohoAnalytics.fullaccess.all чтобы заполнить поле Scope, но вы можете использовать Scope более низкого уровня.
Вы можете увидеть список всех доступных Scope в Zoho Analytics по ссылке

 
В этом шаге получаем Code, который будет использоваться в следующем шаге. Скопируйте его:


Этот шаг нужно выполнить для каждой учетной записи.

В результате этого шага Вы получите  Code, Client ID и  Client Secret для исходной и целевой учетных записей.


Шаг 4. Создайте токены OAuth для каждой учетной записи


Используя Postman, нужно сделать два POST-запроса используя следующий URL-запрос и помещая полученные значения для каждой учетной записи из 3-го шага.

POST

https://accounts.zoho.com/oauth/v2/token?client_id=client_id&code=code&client_secret=client_secret&grant_type=authorization_code



Этот шаг нужно выполнить для каждой учетной записи.

В результате получаем токены доступа для каждой учетной записи.
Больше информации: https://www.zoho.com/analytics/api/#oauth
Как создать токены OAuth: https://workdrive.zohoexternal.com/file/7j0ooe272fabba9dc49b9ae6a46d91065c245
Шаг 5. Сгенерируйте Copy DB Key используя исходную учетную запись
Используя Postman, нужно сделать запрос GET используя следующий URL-запрос.
Поместите адрес электронной почты учетной записи с правами администратора, и имя рабочей области в выбранные параметры.
GET
https://analyticsapi.zoho.com/api/email@crmoz/Workspace%20Name?ZOHO_ACTION=GETCOPYDBKEY&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&ZOHO_API_VERSION=1.0



Затем вставьте значение access_token для исходной учетной записи из 4-го шага в качестве заголовка (Header):





Примечание. Не пропустите пробел в значении между Zoho-oauthtoken и access_token.
В результате получаем dbkey для следующего шага.
Больше информации: https://www.zoho.com/analytics/api/#copy-workspace-key
Шаг 6: Скопируйте базу данных в целевую учетную запись

На этом этапе  параметры в API предназначены для ИСХОДНОЙ учетной записи, а токен OAuth — для ЦЕЛЕВОЙ учетной записи.
Вставьте адрес электронной почты исходной учетной записи (с правами администратора), и имя рабочей области в выбранные параметры, а также, вставьте название нового воркспейса целевой учетной записи в параметр ZOHO_DATABASE_NAME.

GET

https://analyticsapi.zoho.com/api/email@crmoz/Workspace%20Name?ZOHO_ACTION=COPYDATABASE&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=XML&ZOHO_API_VERSION=1.0&ZOHO_DATABASE_NAME=NewWorkspace%20Name&ZOHO_COPY_DB_KEY=dbkey&ZOHO_COPY_WITHDATA=true



Затем вставьте значение access_token для целевой учетной записи в качестве заголовка (Header):


В результате, мы скопировали воркспейс в целевую учетную запись:




Пример API: https://workdrive.zohoexternal.com/file/7j0oo932bb59f77de499daffa36aa13d6fc0f
Больше информации: https://www.zoho.com/analytics/api/#copy-workspace
Пожалуй, на этом мы можем закончить. Я успешно использую описанный подход для создания копий воркспейсов из одной учетной записи в другую.
Удачи 😉😎