Отсутствие поддержки Microsoft Graph в Power Query

Подключение к Microsoft Graph REST API через Power Query не рекомендуется и не поддерживается. Вместо этого мы рекомендуем пользователям изучить альтернативные решения для получения аналитических данных на основе Graph, например подключения к данным Microsoft Graph.

Вы могли бы обнаружить, что некоторые вызовы REST к конечным точкам API Microsoft Graph можно выполнить через функции Web.Contents или OData.Feed, но в долгосрочной перспективе эти методы ненадежны.

В этой статье описываются проблемы, связанные с подключением Microsoft Graph из Power Query, и объясняется, почему это не рекомендуется.

Authentication

Встроенный поток аутентификации учетной записи организации для функций Power Query Web.Contents и OData.Feed несовместим с большинством конечных точек Graph API. В частности, клиент Microsoft Entra ID Power Query запрашивает user_impersonation область, которая несовместима с моделью безопасности Graph. Graph использует широкий набор разрешений, недоступных через наши универсальные соединители Web и OData.

Реализация собственных потоков извлечения учетных данных Microsoft Entra ID непосредственно из запроса или использование жестко заданных или встроенных учетных данных также не рекомендуется по соображениям безопасности.

Несовместимость библиотек OData

Для некоторых конечных точек и расширений Graph может потребоваться использование библиотек и функций OData, которые не поддерживаются встроенной OData.Feed функцией Power Query, так как Graph и Power Query могут использовать две разные версии библиотек OData. Эти проблемы обычно приводят к ошибкам при извлечении документа службы $metadata. Вы можете обнаружить общие рекомендации по передаче опции Implementation = "2.0" вызову функции OData.Feed, чтобы обеспечить использование последних поддерживаемых библиотек OData. В то время как этот подход разрешает определенные несовместимости OData, с течением времени могут возникать ошибки, так как Graph и Power Query принимают новые версии библиотек OData в разное время.

Performance

API Microsoft Graph предназначен для поддержки многих сценариев приложений, но является неоптимальным для получения крупномасштабных данных, необходимых для большинства сценариев аналитики. Если вы пытаетесь получить большие объемы данных из API Graph, могут возникнуть проблемы с производительностью. Подробные сведения о применимости сценария см. в документации по Graph.

Использование пользовательского соединителя

Некоторые пользователи Power Query включили подключение Graph через пользовательские соединители, ограничивая их функциональные возможности определенными частями API Graph. Этот подход позволяет разработчикам соединителей устранять общие проблемы аутентификации, определяя собственный клиент Microsoft Entra ID с разрешениями, специфичными для Graph. Некоторые пользовательские соединители обходят проблемы OData, используя Web.Contents и имитируя поддержку OData в логике соединителя. Однако этот подход не рекомендуется, так как пользователи часто обращаются к проблемам производительности и масштабируемости, описанным выше. Разработчики, которые выбирают этот путь, должны учитывать эти ограничения.