2016-05-04 1 views
0

Я хочу образец приложения в C# .net, который может создавать пользователей в офисе 365 с помощью Microsoft api. Любой, пожалуйста, помогите. Я хочу сделать это в коде, не используя силовую оболочку.создавать учетные записи пользователей в офисе 365 с использованием кода C# .net динамически

ответ

4

Вы можете использовать Microsoft Graph API - Create User:

Зарегистрировать Native Client App на Лазурном AD, назначьте "Microsoft Graph"> "Чтение и запись каталога данных" разрешение.

enter image description here

  string authority = "https://login.windows.net/yourdomain.onmicrosoft.com"; 

      string clientId = "{app_client_id}"; 

      Uri redirectUri = new Uri("http://localhost"); 

      string resourceUrl = "https://graph.microsoft.com"; 

      HttpClient client = new HttpClient(); 

      AuthenticationContext authenticationContext = new AuthenticationContext(authority, false); 

      AuthenticationResult authenticationResult = authenticationContext.AcquireToken(resourceUrl, 
       clientId, redirectUri, PromptBehavior.Always); 

      client.DefaultRequestHeaders.Add("Authorization", "Bearer " + authenticationResult.AccessToken); 

      string content = @"{ 
       'accountEnabled': true, 
       'displayName': 'testuser', 
       'mailNickname': 'test', 
       'passwordProfile': { 
        'forceChangePasswordNextSignIn': true, 
        'password': '[email protected]' 
       }, 
       'userPrincipalName': '[email protected]' 
      }"; 

      var httpContent = new StringContent(content, Encoding.GetEncoding("utf-8"), "application/json"); 

      var response = client.PostAsync("https://graph.microsoft.com/v1.0/users", httpContent).Result; 

      Console.WriteLine(response.Content.ReadAsStringAsync().Result); 
+0

Необработанное исключение типа «System.FormatException» произошло в Microsoft.IdentityModel.Clients.ActiveDirectory.dll – bijupranavam

+0

Дополнительная информация: Индекс (с нуля) должно быть больше или равно нулю и меньше размера списка аргументов. – bijupranavam

+0

Пожалуйста, убедитесь, что вы заменили «app_client_id» на фактический идентификатор клиента приложения (например, dcd68e75-54d4-xxxx-9dfb-xxxx3833ec1a, без «{» и «}»). И убедитесь, что вы заменили «yourdomain» на свое фактическое доменное имя. –

Смежные вопросы