You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于通过Microsoft Graph获取用户区域设置/语言的技术咨询

Let's tackle your three questions one by one—this is a common scenario when working with Microsoft Graph language settings:

1. Is empty mailBoxSettings/language normal behavior?

Yes, this is totally expected. The mailBoxSettings/language field isn't automatically set for all users. It only gets populated if a user has intentionally configured their mailbox-specific language preference—either through Outlook (web or desktop app settings) or via Microsoft 365 admin policies that explicitly set this value. If a user never touches their mailbox language settings (sticking with the tenant default), this field will remain empty.

2. Do all Outlook users have this field filled?

Nope. Using Outlook alone doesn't trigger this field to be populated. Many users use Outlook without ever adjusting their mailbox language settings, so the field remains blank. Only users who actively modify their language preference in Outlook (e.g., changing the display language for their inbox) will have data here.

3. Better ways to get language info without extra permissions?

Absolutely—there's a more reliable option that uses the same basic permissions you already have (like User.Read or User.ReadBasic.All, no additional permissions required):

  • Use the preferredLanguage attribute on the User object: This is a user-level preferred language setting that applies across Microsoft 365 services, not just the mailbox. It's often more consistently populated than mailBoxSettings/language because it can be set via Azure AD, Microsoft 365 profile settings, or even during user onboarding. To retrieve it, use this Graph API query:
    GET /me?$select=preferredLanguage
    
    Or for a specific user:
    GET /users/{user-id}?$select=preferredLanguage
    

If your users are synchronized from on-premises Active Directory, you can also check the onPremisesPreferredLanguage attribute (if your tenant is configured to sync this field), but preferredLanguage is the go-to for most cases since it's more universal.

内容的提问来源于stack exchange,提问作者Konrad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:55:40