Экспорт в таблицы
Строка на достигнутую цель в вашей таблице или списке — для коллег, которые никогда не откроют BI.
1. Что выбрать
Задача одинакова. Разница — в системе, где уже работает компания.
| Google Sheets | Microsoft SharePoint | |
|---|---|---|
| Строка становится | новой строкой листа | элементом списка |
| Вы указываете | ключ сервисного аккаунта, ID таблицы | арендатора, ID клиента, секрет клиента, ID сайта, ID списка |
| Столбцы | восемь в фиксированном порядке | имеющиеся в списке — сначала спрашиваем |
| Настройка | создать сервисный аккаунт, открыть ему таблицу | зарегистрировать приложение, разрешить один сайт |
Младший родственник BigQuery. Тот для команд данных с SQL, этот — для тех, кто сортирует по ценности и отправляет десятку продажам.
2. Google Sheets: забываемый общий доступ
Сервисный аккаунт — отдельный пользователь с почтой, оканчивающейся на .iam.gserviceaccount.com. Одного ключа мало: откройте таблицу этому адресу как коллеге.
Без этого каждая запись даёт 403. Мы прямо называем причину: Google её не указывает, и люди полдня проверяют ключ.
Можно вставить полный URL
ID таблицы — часть между /d/ и /edit. Вставьте весь адрес: мы выделим нужное.
Значения намеренно пишутся сырыми
Не как «введено пользователем». Иначе Google счёл бы ID клиента вроде 00123 числом и удалил начальные нули, а значение с = стало бы формулой.
3. SharePoint: читаем столбцы до записи
SharePoint отклоняет элемент с отсутствующим столбцом; внутренние имена выбираете вы при создании списка. Считать их фиксированными — проигрышная ставка для каждого второго клиента.
Поэтому раз в час читаем столбцы и пишем лишь существующие доступные для записи. Список только со стандартным столбцом Title получает имя цели без ошибок на каждой цели.
Необязательные столбцы, если создадите: MPSession, MPChannel, MPUser, MPValue, MPCurrency, MPUrl, MPTime.
Рекомендованное Microsoft разрешение вам не нужно
Документация Microsoft указывает Sites.ReadWrite.All как минимальное для вызова. Это запись на все сайты арендатора для интеграции одного списка.
Вместо этого используйте Sites.Selected : по умолчанию у приложения нет доступа, администратор даёт запись ровно на один сайт. Выдача обоих отменяет ограничение — узкое разрешение работает, лишь пока нет других.
4. Содержимое строки
Время, проект, сеанс, ID клиента, имя цели, ценность, валюта, ссылка записи. В SharePoint те же значения пишутся в существующие столбцы по их типам: гиперссылка получает объект ссылки, текст — адрес текстом.
Пустая ячейка — «ценность не задана», не ноль
Цель без денежной ценности оставляет пусто. Ноль вошёл бы в несуществующую сумму таблицы.
ID клиента ищется при доставке
Не при срабатывании цели. Идентификация обычно при входе, то есть часто после цели. Поиск спустя несколько секунд дешевле для потока событий и чаще находит имя.
Оба набора учётных данных хранятся с шифрованием AES-256-GCM, не показываются повторно и не попадают во внутреннюю очередь задачи.
Все названные товарные знаки принадлежат владельцам. У MousePlayer нет деловых отношений с поставщиками.