Экспорт в таблицы

Строка на достигнутую цель в вашей таблице или списке — для коллег, которые никогда не откроют BI.

1. Что выбрать

Задача одинакова. Разница — в системе, где уже работает компания.

Google SheetsMicrosoft 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 нет деловых отношений с поставщиками.