我在AAD上查询图谱API以获取组成员资格信息。从这里,我得到一个包含用户所属的一个或多个组的JSON字符串。我知道我可以对一个结构进行反向工程并对其进行反序列化,但是我可以利用某种契约来使用Graph API结构吗?
我找到了针对获取原始字符串数据的Graph API的查询示例,但我确实可以使用一个简单的示例,其中某人提取原始信息(例如,组ID或组名称)并在结构中使用它
答案 0 :(得分:0)
创建一个用户类,如下所示
public class ActiveDirectoryUser
{
public bool accountEnabled { get; set; }
public List<SignInName> signInNames { get; set; }
public string creationType { get; set; }
public string displayName { get; set; }
public string mailNickname { get; set; }
[JsonProperty("passwordProfile", NullValueHandling = NullValueHandling.Ignore)]
public PasswordProfile PasswordProfile { get; set; }
[JsonProperty("passwordPolicies", NullValueHandling = NullValueHandling.Ignore)]
public string PasswordPolicies { get; set; }
public string city { get; set; }
public object country { get; set; }
public object facsimileTelephoneNumber { get; set; }
public string givenName { get; set; }
public object mail { get; set; }
public object mobile { get; set; }
//public List<object> otherMails { get; set; }
public string postalCode { get; set; }
public object preferredLanguage { get; set; }
public string state { get; set; }
public object streetAddress { get; set; }
public string surname { get; set; }
public Guid objectId { get; set; }
public object telephoneNumber { get; set; }
}
public class SignInName
{
public string type { get; set; }
public string value { get; set; }
}
public class PasswordProfile
{
public string password { get; set; }
public bool forceChangePasswordNextLogin { get; set; }
}
从AD获取响应时,使用newtonsoft.json序列化到相应的类,如下所示。
var response = await httpClient.SendAsync(request);
if (response.IsSuccessStatusCode)
{
var result = response.Content.ReadAsStringAsync().Result;
return JsonConvert.DeserializeObject<ActiveDirectoryUser>(result);
}
Trick是JsonConvert.DeserializeObject&lt;&gt;(结果);