2016-05-25 5 views
0

J'ai essayé de créer un alias pour le groupe dans Office 365 en utilisant le code ci-dessous, mais il montre un certain error.how pour résoudre ce problème. J'ai essayé d'utiliser le service à la méthode des appels de service. J'ai obtenu le jeton généré. Comment vérifier son valide ou non? Est-il possible de créer un alias en utilisant api pour le groupe sans option powershell? si personne ne me conseiller de bien vouloir d'autres options ..Service aux appels de service à l'aide des informations d'identification du client

string clientId = "************"; 
string clientsecret = "******"; 
string tenantId = "********"; 
//string resourceUri = "http://office.microsoft.com/outlook/"; 
string redirectUri = "https://login.live.com/oauth20_desktop.srf"; 
var authUri = "https://login.windows.net/" + tenantId + "/oauth2/authorize/"; 
var RESOURCE_URL = "https://graph.windows.net"; 

HttpClient client = new HttpClient(); 
var authContext = new AuthenticationContext(authUri); 
var credential = new ClientCredential(clientId: clientId, clientSecret: clientsecret); 
var result = authContext.AcquireTokenAsync(RESOURCE_URL, credential).Result; 
client.DefaultRequestHeaders.Add("Authorization", "bearer " + result.AccessToken); 
string content = @"{ 
       'displayName': 'mailgrouptest', 
       'groupTypes': ['Unified'], 
       'mailEnabled': true, 
       'mailNickname': 'mailalias1', 
       'securityEnabled': false 
     }"; 

var httpContent = new StringContent(content, Encoding.GetEncoding("utf-8"), "application/json"); 
var response = client.PostAsync("https://graph.microsoft.com/v1.0/groups", httpContent).Result; 
Console.WriteLine(response.Content.ReadAsStringAsync().Result); 

Quand je lance ce code dans la console, il affiche une erreur comme ça .... est le problème avec jeton? ou identifiant du locataire?

{ 
    "error": { 
"code": "InvalidAuthenticationToken", 
"message": "Access token validation failure.", 
"innerError": {`` 
    "request-id": "*****-***-", 
    "date": "2016-05-25T04:53:08" 
    } 
    } 
} 

me conseiller de bien vouloir créer alias pour le groupe dans api

Répondre

1

Le mailNickName du groupe ne peut pas mettre à jour en utilisant le Microsoft Graph à l'heure actuelle. Pour contourner le problème, nous pouvons créer un nouveau groupe avec le mailNickName spécifique que vous souhaitez et utiliser le nouveau groupe. Voici le code pour créer un groupe avec mailNicekName pour votre référence:

 string clientId = ""; 
     string clientsecret = ""; 
     string tenant = "yourdomain.onmicrosoft.com"; 

     var authUri = "https://login.microsoftonline.com/"+tenant+"/oauth2/token"; 
     var RESOURCE_URL = "https://graph.microsoft.com"; 

     HttpClient client = new HttpClient(); 
     var authContext = new AuthenticationContext(authUri); 
     var credential = new ClientCredential(clientId: clientId, clientSecret: clientsecret); 
     var result = authContext.AcquireTokenAsync(RESOURCE_URL, credential).Result; 
     client.DefaultRequestHeaders.Add("Authorization", "bearer " + result.AccessToken); 

     string content = @"{ 
'description': 'description-value', 
    'displayName': 'displayName-value', 
    'groupTypes': [ 
    'Unified' 
    ], 
    'mailEnabled': true, 
    'mailNickname': 'mailNickname-value', 
    'securityEnabled': false 
}"; 
     var httpContent = new StringContent(content, Encoding.GetEncoding("utf-8"), "application/json"); 
     //var response = client.GetAsync("https://graph.microsoft.com/v1.0/groups").Result; 
     var response = client.PostAsync("https://graph.microsoft.com/v1.0/groups",httpContent).Result; 
     Console.WriteLine(response.Content.ReadAsStringAsync().Result); 

Plus de détails sur l'API REST Goupr, s'il vous plaît se référer à here. Pour l'erreur "InvalidAuthenticationToken", vous avez demandé le jeton d'accès avec une ressource incorrecte. Pour utiliser l'API Microsoft Graph, nous devons spécifier la ressource avec "https://graph.microsoft.com" au lieu de "https://graph.windows.net".

De plus, si vous voulez que le mailNickName du groupe soit modifiable, vous pouvez essayer de soumettre les commentaires de here.

+0

Merci. Maintenant, son erreur est libre.J'ai un doute est-il possible de créer un alias e-mail pour un e-mail existant en utilisant l'API graphique de la même manière? – bijupranavam

+0

Est-il possible d'ajouter plus d'un nom d'alias [mailNickName] pour l'email de l'utilisateur en utilisant api? [Pas à l'heure créée à la place, à chaque fois que nous voulons ajouter plus de nom d'alias] – bijupranavam

+0

Non. L'utilisateur n'a qu'un seul mailNickName. Vous pouvez vous référer au [document] (https://graph.microsoft.io/fr-fr/docs/api-reference/v1.0/api/user_update), le type de ce paramètre est une chaîne au lieu de collection. –