我正在使用Microsoft Graph Users API根据我们的ActiveDirectory验证用户名或电子邮件地址列表。名称搜索:
https://graph.microsoft.com/v1.0/me/people/?$search=John.Smith
返回其他数据,如OfficeLocation
和JobTitle
。但如果我使用电子邮件搜索:
我是否需要额外的权限来获取相同的数据?
更新:我按照下面的建议在https://developer.microsoft.com/en-us/Graph/graph-explorer中尝试了这一操作,它起作用了,但是Graph Explorer默认带有这些权限,这些权限不能被禁用:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")/people",
"value": [{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"displayName": "John Smith",
"givenName": "John",
"surname": "Smith",
"birthday": "",
"personNotes": "",
"isFavorite": False,
"jobTitle": "Software Engineer",
"companyName": "Company",
"yomiCompany": "",
"department": "Fish",
"officeLocation": "London",
"profession": "",
"userPrincipalName": "John.Smith@company.com",
"imAddress": "sip:John.Smith@company.com",
"scoredEmailAddresses": [{
"address": "John.Smith@company.com",
"relevanceScore": -6.0991198031917175,
"selectionLikelihood": "notSpecified"
}
],
"phones": [],
"postalAddresses": [],
"websites": [],
"personType": {
"class": "Person",
"subclass": "OrganizationUser"
}
}
]
}
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
"businessPhones": [],
"displayName": "John Smith",
"givenName": "John",
"jobTitle": None,
"mail": "John.Smith@company.com",
"mobilePhone": None,
"officeLocation": None,
"preferredLanguage": None,
"surname": "Smith",
"userPrincipalName": "John.Smith@company.com",
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
基于我的测试,我发现这两个API获得的信息来自不同的地方。
从/me/people
返回的“OfficeLocation”似乎在SharePoint中得到维护。您可以登录https://apc.delve.office.com/?u=3df5295a-e4b1-46fe-8969-e715ccd11077&v=editprofile进行检查。
从/ME
或/users/{id userPrincipalName}
返回的“OfficeLocation”在Azure AD中维护。所以您可以在Azure ad->users中查看它。
问题内容: 我运行了跟随脚本(java),它给了我奇怪的结果。有人可以帮忙解释吗? 记录结果(彼此不同): - - 背景 - - 我想将自己的keyGenrator用于@Cacheable批注(Spring和ehCache)。 在这种情况下,我发现缓存总是丢失的。 然后,我必须更改为: 谢谢 问题答案: 这是因为for 不会被覆盖。即使条目相同,也没有理由为什么的两个实例应该具有相同的值。 试试这
问题内容: 今天,我了解并决定将其使用和测试。我知道整数是不可变的,因此id应该是(?)相同。但是,当我在提示中进行测试时,我注意到了一些细微的差异,并想找出其背后的原因。 凉!到目前为止,所有签出。但是之后… 好的,所以测试一下,我注意到此行为一直持续到256年。id最多可以是8位数字,然后257将返回更大的id,可以是15位数字。因此类型必须是8个字节。 所以我发现它与8个字节长有关,但是任何
} 我得到了下面的结果。但是在这个结果中,高亮显示的行具有相同的列名,但是别名不同。为什么hibernate会得到相同的Cloumn? 冬眠:删除表,如果存在hibernate_sequence hibernate:删除表(如果存在)UserDetails Hibernate:如果存在,则删除表车辆Hibernate:创建表hibernate_sequence(next_val bigint)En
允许您执行以下操作: 但不是这个: 可能是因为返回类型不是函数签名的一部分。但是是一个类类型,它被赋予一个返回类型,并且知道构造它的函数对象的返回类型。所以这里可能有编译器错误。 为什么没有编译器错误?
问题内容: 我正在阅读Head First Java的书中的一句话: 关键是哈希码可以相同,而不必保证对象相等,因为该方法中使用的“哈希算法” 可能会为多个对象返回相同的值。 为什么该方法可能为不同的对象返回相同的值?这不会引起问题吗? 问题答案: *对对象进行 *散列 意味着“ 找到可以由相同实例一次又一次地再现的良好的描述性值(数字) ”。由于Java的哈希码类型为,因此只能具有不同的值。这就
我总是发现自己在使用时会重塑我的数据,这很烦人,让我的代码变得丑陋。为什么不能使库能够处理各种数据形状并进行适当的解释?例如,要使用线性回归量,我需要做 但是如果我想使用支持向量回归器,那么我不会重塑自变量: 我想图书馆以这种方式设计是有原因的。任何人都可以照亮我吗?