2016-06-01 21 views

答えて

2

メールアドレスがユーザーかグループかを検索することで、メールアドレスがユーザーかグループかどうかを判断できます。例えば、我々は以下のRESTを経由して特定のグループを取得することができます:

https://graph.microsoft.com/v1.0/groups ?$filter=mail+eq+'[email protected]」を私たちが提供する電子メールがユーザーの場合

、レスポンスは空の値を持ち、それ以外の場合はこのグループの情報を返します。

そして、特定のグループのメンバーを取得し、我々は、上記の要求によりIDリターンで要求を行うことができるために:

https://graph.microsoft.com/v1.0/groups/ {グループID} /メンバー

そして、ここでグループを取得するためのコードですあなたの参照のためのメンバー。より柔軟で効率的なので、HttpClient経由でRESTを作成することをお勧めします。タスクのgetGroup(文字列mailAddress)非同期

公共 {

var groups = await graphserviceClient.Groups.Request().Top(10).GetAsync(); 

    foreach (var group in groups.CurrentPage) 
    { 
     Console.WriteLine(group.Mail); 
     if (mailAddress.Equals(group.Mail)) 
      return group.Id; 
    } 

    while (groups.NextPageRequest != null) 
    { 
     groups = await groups.NextPageRequest.GetAsync(); 

     foreach (var group in groups.CurrentPage) 
     { 
      Console.WriteLine(group.Mail); 
      if (mailAddress.Equals(group.Mail)) 
       return group.Id; 
     } 
    } 

    return null; 

} 

public async void GetMembers(string groupId) 
{ 

    HttpClient client = new HttpClient(); 
    client.DefaultRequestHeaders.Add("Authorization", "bearer " + _accessToken); 

    string serviceURL = String.Format("https://graph.microsoft.com/v1.0/groups/{0}/members?$select=mail", groupId); 
    var response = client.GetAsync(serviceURL).Result; 

    JObject json = JObject.Parse(response.Content.ReadAsStringAsync().Result); 
    foreach (var mail in json["value"].Values("mail")) 
    { 
     Console.WriteLine(mail); 
    } 
} 

私たちは、グループを読み取るために、 "Group.Read.All" スコープを持っている必要があります更新

enter image description here

+0

ありがとうございます。 https://graph.microsoft.com/v1.0/groups?$filter=mail+eq+'[email protected] 'APIには管理者レベルの承認が必要なようです。ユーザーレベルの認証でこれを行う方法はありますか? – GraphUser2016

+1

いいえ管理者レベルの承認なしにグループ情報を取得することはできません。ただし、ユーザーレベルの認証でソリューションを完成させることは可能です。アプリケーションに「Group.Read.All」スコープがあることを確認するだけです。上記のスクリーンショットを参照してください。 –

+1

Group.Read、すべてには管理者権限が必要です。ユーザーが同意するための新しいグループアクセス許可を作成中です。 –

関連する問題