有没有办法,我们可以使用域级访问令牌获取/写入域中所有用户的联系人。
目前,我发现我们可以使用管理员同意来获取组织的域级访问令牌。
但是此访问令牌不会包含有关用户的任何详细信息。 那么我们如何指定哪个用户,我们正在尝试获取联系人?
有没有办法,我们可以使用tenant-id和user-id来获取用户特定的访问令牌,而无需他在管理员同意的情况下登录一次?
答案 0 :(得分:0)
“域级访问令牌”是否意味着您检查应用程序权限以阅读所有联系人信息,如下图所示:
Office 365 API和Microsoft Graph API支持获取个人联系人。来自“授权代码授予流程”和“客户端凭据”的令牌获取之间的区别在于我们需要通过 ID 或 userPrincipalName 而不是别名来指定用户上下文的我强>:
REST API:
GET /me/contacts
GET /users/<id | userPrincipalName>/contacts
样品申请:
GET /Users/fx@msdnofficedev.onmicrosoft.com/contacts
如果您正在开发单个租户方案,由于该应用程序已在Azure AD租户上注册,因此无需再次同意。
否则,如果您正在开发多租户应用程序,当应用程序第一次运行时,用户需要管理员权限才能同意该应用程序以及#34;阅读所有邮箱中的联系人&#34;。
有关Microsoft Graph权限范围的更多详细信息,您可以参考以下链接: https://graph.microsoft.io/en-us/docs/authorization/permission_scopes