Ошибка при подключении двух клиентов с помощью веб-API в Microsoft Dynamics 365: пользователь не является членом организации

Я пытаюсь установить соединение между двумя арендаторами, принадлежащими разным учетным записям Azure.

Я подписался на пост: https://stackoverflow.com/a/78437433/4373243

Моя цель — использовать веб-API арендатора B, но с идентификатором клиента и секретным ключом клиента от арендатора A. Однако в настоящее время я использую tenant_id, связанный с арендатором B, а также область действия (конечную точку веб-API) арендатора B. .

Конечная точка веб-API клиента B: https://org8885b353.api.crm.dynamics.com/

$response = $this->client->post("https://login.microsoftonline.com/{tenantB_id}/oauth2/v2.0/token", [
'timeout' => 30,
'form_params' => [
'client_id' => 'tenantA_clientId',
'client_secret' => 'tenantA_clientSecret',
'scope' => 'https://org8885b353.api.crm.dynamics.com/.default',
'grant_type' => 'client_credentials',
],
]);

Когда я вызываю URL-адрес ниже, чтобы получить список всех объектов с токеном доступа из $response, мне выдается ошибка:

https://org8885b353.api.crm.dynamics.com/api/data/v9.2
"error": {
"code": "0x80072560",
"message": "The user is not a member of the organization."
}

ниже приведен скриншот разрешений API

Можете ли вы также отредактировать вопрос, вставив снимок экрана с разрешениями API, предоставленными приложению?

Rukmini 16.05.2024 15:00
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
1
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ошибка «Пользователь не является членом организации» обычно возникает, если пользователь приложения не создан путем добавления Application ID приложения Microsoft Entra ID в центре администрирования Power Platform.

В TenantA создано приложение и предоставлено разрешение API, как показано ниже:

В TenantB приложение добавляется как корпоративное приложение, как показано ниже:

Сгенерирован токен доступа с использованием параметров, как показано ниже:

GET https://login.microsoftonline.com/TenantBID/oauth2/token

client_id:TenantAAppID
client_secret:TenantASecret
scope: https://orgxxxxxx.crm.dynamics.com
grant_type:client_credentials

И получил ту же ошибку:

GET 
https://orgXXX.api.crm.dynamics.com/api/data/v9.2

Чтобы устранить эту ошибку, создайте пользователя приложения, добавив Application ID приложения Microsoft Entra ID.

Перейдите в Центр администрирования Power Platform -> Среды -> Выберите свою организацию -> Настройки -> Пользователи + разрешения -> Выбрать пользователей приложения.

Нажмите «Новый пользователь приложения» -> «Добавить приложение» -> «Найдите приложение по идентификатору приложения» -> «Добавить».

В разделе Business Unit выберите свою организацию, назначьте роль системного администратора и выберите «Создать»:

Снова сгенерируйте токен доступа, и я смогу успешно получить ответ, как показано ниже:

GET 
https://orgXXX.api.crm.dynamics.com/api/data/v9.2

Другие вопросы по теме

Похожие вопросы

Во время выполнения самостоятельной интеграции не удалось найти ключ аутентификации с помощью пакета SDK Azure.ResourceManager.DataFactory
Python — Служба приложений Azure для контейнеров, запускающая несколько экземпляров Celery Beat и дублирующих задачи
Каналы Django: НЕИЗВЕСТНАЯ ошибка при записи в сокет. Соединение потеряно
Как удалить виртуальную машину Azure и связанные с ней ресурсы, такие как (ip, nsg, nic, disk), с помощью вызовов REST API?
Не удалось создать конвейер в Azure DevOps с помощью rest API — значение не может быть нулевым. Имя параметра: имя_репозитория
Могу ли я использовать Azure Data Explorer (Kusto) для запроса данных (например, групп) в Microsoft Entra Admin Center?
В React CRA внешние автономные сценарии Azure Map (azure-maps-geolocation-control.js) не могут читать пространство имен Azure Map SDK
Обеспечение рабочего процесса и подключения API для стандартного приложения логики с помощью шаблонов/скриптов Bicep
Столбцы с нулевым выходом в разделе Sink Error Solution
Почему версия NodeJS на Kudu отличается от версии моего приложения?