Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье объясняется, как получить доступ к данным о доходах с помощью API-интерфейсов "Доходы" вместо пользовательского интерфейса Центра партнеров. Эти API предоставляют программный способ предоставления возможности функции экспорта данных в Центре партнеров.
Это важно
Azure Active Directory (Azure AD) Graph не рекомендуется использовать с 30 июня 2023 г. В дальнейшем мы не планируем делать дальнейших инвестиций в Azure AD Graph. API Azure AD Graph не имеют соглашения об уровне обслуживания или обязательств по обслуживанию, за исключением исправлений, касающихся безопасности. Инвестиции в новые функции и функциональные возможности будут сделаны только в Microsoft Graph.
Мы будем постепенно выводить Azure AD Graph из эксплуатации, чтобы у вас было достаточно времени для переноса приложений на API Microsoft Graph. На более позднюю дату, которую мы объявим, мы заблокируем создание новых приложений с помощью Azure AD Graph.
Для получения дополнительных сведений см. Важно: прекращение поддержки Azure AD Graph и устаревание модуля PowerShell.
Доступные интерфейсы API
Ознакомьтесь со всеми доступными API-интерфейсами в партнерских выплатах.
Предпосылки
- На портале Azure есть рабочая подписка.
- Доступ к веб-браузеру.
- Возможность выполнять вызовы REST API программным способом или с помощью выделенного программного обеспечения.
Регистрация приложения в платформе идентификации Microsoft
Следуйте инструкциям по регистрации приложения в платформе идентификации Microsoft.
Предоставьте приложению соответствующие делегированные разрешения.
- В созданной регистрации приложения перейдите к разделу "Управление разрешениями API →". Выберите "Добавить разрешение".
- Выберите вкладку "API, используемые моей организацией", а затем найдите AppId "4990cffe-04e8-4e8b-808a-1175604b879f" или по названию "Microsoft Dev Center". Для разрешений выберите "user_impersonation". Выберите "Добавить разрешения".
-
Устранение неполадок. Если поиск API Центра разработки не возвращает результатов, может потребоваться создать субъекты-службы, необходимые для доступа к этим API вручную. Их можно создать с помощью AzCLI:
После этого разрешения API должны быть доступны для выбора в диалоговом окне поиска.az ad sp create --id 4990cffe-04e8-4e8b-808a-1175604b879f
-
Устранение неполадок. Если поиск API Центра разработки не возвращает результатов, может потребоваться создать субъекты-службы, необходимые для доступа к этим API вручную. Их можно создать с помощью AzCLI:
- Кроме того, убедитесь, что ваше приложение имеет разрешение "User.Read" в Microsoft Graph. Если это не так, добавьте его, выбрав Microsoft Graph на вкладке API Майкрософт.
- Выберите "Предоставить согласие администратора" для всех трех полученных разрешений.
- Разрешения приложения должны выглядеть следующим образом (обратите внимание на зеленый галок рядом с каждым разрешением
- В созданной регистрации приложения перейдите к разделу "Управление разрешениями API →". Выберите "Добавить разрешение".
Настройте URI перенаправления для веб-платформы.
- Перейдите к разделу "Управление проверкой подлинности →". Выберите "Добавить платформу".
- Выберите "Интернет".
- В поле URI перенаправления введите URI, который вы хотите использовать для своего приложения, например
https://localhost:3000. Запишите этот универсальный код ресурса (URI) для последующего использования. Нажмите кнопку "Настроить".
- Перейдите к разделу "Управление проверкой подлинности →". Выберите "Добавить платформу".
Создайте секрет клиента, чтобы использовать при получении токенов доступа.
- Перейдите к разделу "Управление сертификатами и секретами →". Перейдите на вкладку "Секреты клиента", выберите "Новый секрет клиента".
- Введите требуемое имя и длительность.
- Выберите "Добавить секрет".
- Запишите значение в другом месте. Не забудьте сохранить его в безопасном расположении, например хранилище ключей. Этот секрет используется при запросе AccessToken и RefreshToken.
- Перейдите к разделу "Управление сертификатами и секретами →". Перейдите на вкладку "Секреты клиента", выберите "Новый секрет клиента".
Получение токена доступа — учетные записи с включённым MFA
API-интерфейсы "Доходы" требуют предоставления AccessToken в качестве маркера носителя авторизации в запросе с префиксом Bearer <access-token> в заголовке авторизации. Вы можете получить этот токен, войдя в систему с помощью вашей учетной записи; однако токены доступа имеют ограниченный срок действия. Вход в учетную запись с поддержкой MFA для генерации токена при каждом вызове API нецелесообразен для рабочих процессов, связанных с автоматизацией.
Эти шаги помогут вам в процессе создания RefreshToken. Он имеет более длительный срок жизни (около 3 месяцев) и может использоваться для получения AccessToken. Сохраняя RefreshToken в безопасном расположении, его можно использовать для автоматического получения AccessToken для вызова API прибыли.
Примечание. ОбновитьToken можно использовать только один раз, после чего он становится устаревшим. В ответе возвращается новый RefreshToken вместе с AccessToken. Обязательно замените старое значение RefreshToken в безопасном хранилище при каждом использовании RefreshToken.
Получите AuthCode через браузер. В настоящее время этот процесс должен быть выполнен с помощью пользовательского интерфейса веб-браузера и не может быть выполнен программным способом.
- Следуйте шаблону, чтобы создать URL-адрес, используемый для получения AuthCode.
- Используйте идентификатор арендатора и идентификатор клиента для созданного приложения.
- Задайте для
https://api.partner.microsoft.com/.defaultобласти значение . - Установите URL-адрес перенаправления на ранее настроенный URL-адрес перенаправления.
Шаблон URL-адреса:
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize?client_id=<client-id>&response_type=code&redirect_uri=<redirect-uri>&scope=https%3A%2F%2Fapi.partner.microsoft.com%2F.default
- Перейдите по встроенному URL-адресу и войдите с помощью учетных данных авторизованного пользователя.
- После успешного входа браузер пытается открыть URL-адрес формата
<redirect-uri>/?code=<auth-code>&session_state=<state-id>#. Для примера URI перенаправления на предыдущем шаге url-адрес, который вы отправляете, должен бытьhttps://localhost:3000/?code=<auth-code>?session_state=<state-id>#. Сохраните возвращенный код AuthCode где-то безопасно.- Так как обычно нет приложения, прослушивающего localhost:3000, браузер выдает сообщение об ошибке "не удается подключиться". Эта ошибка ожидается, так как нам просто нужно вручную скопировать значение AuthCode из параметра запроса URL-адреса, показанного
codeранее. - В решении prod можно создать приложение, которое автоматически обрабатывает эту часть процесса проверки подлинности. Например, это может быть рабочий процесс, в котором пользователь переходит в одностраничное приложение (SPA). Пользователь нажимает кнопку "вход", которая направляет его на ранее созданный URL-адрес. После входа SPA извлекает значение AuthCode и сохраняет его в хранилище. Затем SPA использует AuthCode для получения RefreshToken и AccessToken, как описано в следующих шагах.
- Так как обычно нет приложения, прослушивающего localhost:3000, браузер выдает сообщение об ошибке "не удается подключиться". Эта ошибка ожидается, так как нам просто нужно вручную скопировать значение AuthCode из параметра запроса URL-адреса, показанного
- Следуйте шаблону, чтобы создать URL-адрес, используемый для получения AuthCode.
Используйте AuthCode для получения RefreshToken и начального AccessToken. Примечание. Срок действия RefreshToken истекает каждые 3 месяца и должен быть повторно получен и сохранен в каком-либо хранилище ключей.
- Создайте запрос API POST после шаблона, предоставленного здесь.
- Используйте те же значения для идентификатора арендатора/клиента и URL-адреса перенаправления.
- Задайте область
https://api.partner.microsoft.com/.default offline_access. - Задайте код для authCode, полученного на шаге ранее.
- Задайте client_secret секрету, созданному для созданного приложения.
Затем URL-адрес должен быть структурирован следующим образом:
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
- Создайте запрос API POST после шаблона, предоставленного здесь.
Позже вы можете использовать RefreshToken для получения нового AccessToken.
- Создайте запрос API POST после шаблона, предоставленного здесь.
- Используйте те же значения для tenant/client ID и URL-адреса перенаправления.
- Установите область на
https://api.partner.microsoft.com/.default - Задайте для refresh_token значение RefreshToken, полученное на предыдущем шаге
- Установите client_secret на секрет, сгенерированный для созданного приложения.
- Создайте запрос API POST после шаблона, предоставленного здесь.
Получение токена доступа — учетные записи без MFA
- Получите AccessToken с помощью сведений о регистрации нового приложения.
- Создайте запрос API POST после шаблона, предоставленного здесь.
- Используйте те же значения для идентификатора арендатора или клиента
- Установите область на
https://api.partner.microsoft.com/.default - Используйте имя пользователя и пароль для авторизованного пользователя, URL-адрес должен быть структурирован следующим образом:
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
- Запрос возвращает AccessToken и новый RefreshToken. Обязательно обновите сохраненное значение для RefreshToken, так как вы больше не можете использовать старое значение.
- Создайте запрос API POST после шаблона, предоставленного здесь.
Доход от звонков (ранее "transactionhistory")/Платежи
- Используйте AccessToken, полученный ранее, с префиксом
Bearer <access-token>в заголовке авторизации, чтобы создать новые отчеты о доходах (ранее transactionhistory) или отчеты о выплатах.