2016-05-25 4 views
0

以下のコードを使用してoffice 365でグループのエイリアスを作成しようとしましたが、これを解決するためにerror.howが表示されます。サービスコールメソッドにサービスを使用しようとしました。トークンが生成されました。有効かどうかを確認するには? PowerShellオプションを持たないグループにapiを使ってエイリアスを作成することは可能ですか?私は問題がトークンである....それは、このようなエラーを示しコンソールでこのコードを実行すると何が親切..他のオプションのためにクライアントクレデンシャルを使用したサービスコールへのサービス

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); 

を私にアドバイスしない場合は?またはテナントIDですか?

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

親切グループのmailNickNameは、現時点でのMicrosoftグラフを使用して更新することはできないAPIで

答えて

1

をグループのエイリアスを作成するために、私にアドバイス。

回避策として、必要なmailNickNameを指定して新しいグループを作成し、新しいグループを使用することができます。ここにあなたの参考のためにmailNicekNameでグループを作成するためのコードです:Goupr REST APIについて

 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); 

より詳しくは、hereを参照してください。

エラー "InvalidAuthenticationToken"に対して、不正なリソースでアクセストークンを要求しました。 Microsoft Graph APIを使用するには、 "https://graph.windows.net"の代わりに "https://graph.microsoft.com"のリソースを指定する必要があります。

また、グループのmailNickNameを更新可能にしたい場合は、hereからのフィードバックを送信することができます。

+0

ありがとうございました。今、そのエラーfree.Iは1つの疑問は同じ方法でグラフのAPIを使用して既存の電子メールの電子メールエイリアスを作成することは可能ですか? – bijupranavam

+0

apiを使用して複数のエイリアス名[mailNickName]をユーザーのメールに追加することはできますか? [作成した時にではなく、別名を追加したいとき] – bijupranavam

+0

いいえ。ユーザーは1つのmailNickNameしか持っていません。 [document](https://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/user_update)を参照することができます。このパラメータの型は、コレクションではなく文字列です。 –

関連する問題