Вам придется работать с системным администратором по вопросам безопасности. Любой, кто знает, как работает компания, может ли все пользователи видеть все, есть ли единая регистрация, какова вероятность изменения отчета ...
Вам понадобится учетная запись пользователя, чтобы получить данные. Вам нужно решить, будет ли это какая-то «системная учетная запись» (вы знаете имя пользователя и пароль и храните их в своем приложении), или она будет работать для любого пользователя в этой организации. Это может не иметь большого значения, но отчеты "весело". Если через 6 месяцев будут проблемы с отображением данных, вам будет предложено убедиться, что отчет отображает только французские данные для французских пользователей и т. Д. c ... вы можете сделать это в фильтрах отчетов или иметь несколько отчетов - или вы может просто использовать текущий доступ пользователей, и тогда это системный администратор, который должен правильно установить правила обмена. (Вы когда-нибудь задумывались об упаковке того, что вы делали, и повторном использовании в другом экземпляре SF? Создание из этого мобильного приложения? Подобные вещи могут показаться глупыми сейчас, но помогут вам выбрать оптимальный путь)
пользователю (будь то системная учетная запись или пользователь) необходимы права доступа профиля *, например, "API включен" + все, что вам обычно требуется ("Запуск отчетов" и c). Если вы склонны делать это с системным пользователем - возможно, вы захотите взглянуть на Политики паролей и, возможно, установить пароль на Никогда не истекает. Теперь это немного опасно, поэтому есть другие вещи, о которых вы можете прочитать: «API only user» (невозможно войти на сайт), возможно, даже заблокировать учетную запись, чтобы он мог войти только с определенных диапазонов IP или по адресу определенные моменты, когда задание должно быть запланировано ...
Подключенные приложения и OAUth2 - это хорошая идея, если да, то создать. Технически вам не нужно, вы можете использовать SOAP API для вызова входа в систему, получения идентификатора сеанса ... Но он немного слаб, OAuth2 даст вам больше контроля над безопасностью. Если у вас есть песочницы - есть малоизвестная хитрость. Вы можете создать подключенное приложение в рабочей среде (или даже полностью не связанное с Developer Edition) и использовать идентификатор клиента и секретный ключ для входа в песочницы. Если вы создаете приложение в песочнице и обновляете sh it - ключи перестают работать. (Возвращаясь к разделу «Безопасность» - в подключенном приложении вы можете разрешить / запретить доступ любому пользователю, или системный администратор разрешит только этим 3 пользователям подключаться, «предварительная авторизация». Может быть удобно)
Вход - несколько способов REST API для входа в систему . Зависит от вашего решения. если у вас есть 1 выделенный пользователь, вы, вероятно, go с «потоком веб-сервера». Я добавил пример { ссылка }, если у вас нет готовой библиотеки SF-соединений на вашем языке программирования. Если вы разрешите пользователям входить со своими учетными данными, OAuth будет «танцевать» при переходе на целевую страницу (Google login, LinkedIn, Twitter ...) и обратно в ваше приложение в случае успеха. Это даже работает, если на клиенте включена единая регистрация. Или вы можете позволить людям вводить свое имя пользователя и входить в ваше приложение, но это не очень удачное решение.
Получите уже готовый отчет
Как только вы получите идентификатор сеанса. Официальным способом было бы использовать Reporting API, например https://developer.salesforce.com/docs/atlas.en-us.api_analytics.meta/api_analytics/sforce_analytics_rest_api_get_reportdata.htm
Быстрая и грязная и официально не поддерживаемая вещь - это mimi c, что происходит, когда пользователь нажимает на экспорт отчета в UI. Составьте запрос GET с правильным поваром ie, и вы станете золотым. См. { ссылка }. Не знаю, сработает ли это, если вы заходите с выделенной учетной записью и разрешением «Только доступ к API».