Невозможно создать вызов VoIP с помощью Microsoft Graph и команд - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь заменить существующий щелчок для набора функций в приложении. NET, которое в настоящее время использует «Skype для бизнеса / Lyn c», и переключить его на «Microsoft Teams». Не похоже, что есть много примеров этого онлайн. Примеры, которые я нашел, похоже, не работают для меня. Пример для отображения в нескольких источниках приведен ниже:

IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
                                                                                .Create(clientId)
                                                                                .WithTenantId(tenantID)
                                                                                .WithClientSecret(clientSecret)
                                                                                .Build();

            ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);

            GraphServiceClient graphClient = new GraphServiceClient(authProvider);

            var call = new Call
            {
                CallbackUri = redirectUri,
                Targets = new List<InvitationParticipantInfo>()
            {
                new InvitationParticipantInfo
                {
                    Identity = new IdentitySet
                    {
                        User = new Identity
                        {
                            DisplayName = "John",
                            Id = userId
                        }
                    }
                }
            },
                RequestedModalities = new List<Modality>()
            {
                Modality.Audio
            },
                MediaConfig = new ServiceHostedMediaConfig
                {
                }
            };

            var response = graphClient.Communications.Calls
                .Request()
                .AddAsync(call).GetAwaiter().GetResult();

Этот код в конечном итоге возвращает ошибку

Message: {"errorCode":"7503","message":"Application is not registered in our store.","instanceAnnotations":[]}

Существует не так много документации по этой ошибке. Я зарегистрировал бота в Azure Active Directory и включил все необходимые значения в переменные в приведенном выше фрагменте кода.

Я также попытался запустить этот код в Postman, используя пример из этого ссылка , которая также содержит пример C#. Почтальон возвращает точно такую ​​же ошибку.

Я также могу подтвердить, что у меня есть разрешения API Calls.Initialte, предоставленные с согласия администратора.

enter image description here Кто-нибудь добился успеха исходящий звонок в C# через Microsoft Graph / Teams?

1 Ответ

4 голосов
/ 31 марта 2020

Создать вызов позволяет вашему боту создавать одноранговый или групповой вызов. Вам необходимо зарегистрировать вызывающего бота и назначить следующие разрешения приложения:

Calls.JoinGroupCallsasGuest.All, Calls.JoinGroupCalls.All, 
Calls.Initiate.All, Calls.InitiateGroupCalls.All 

1. Чтобы создать одноранговый VoIP-вызов с размещенным на сервисе носителем

Note: This call needs the Calls.Initiate.All Application permission.

при регистрации вашего бота, вам необходимо включить функцию вызова для вашего бота и сделать так, чтобы ваш бот участвовать в аудио- и видеозвонках Вам необходимо установить supportsCalling и supportsVideo на true в манифесте приложения.

...