PowerShell调用Graph API创建M365组报Invalid audience无效受众错误
解决方案
根因
你遇到的Access token validation failure. Invalid audience报错是令牌受众不匹配导致的:
Microsoft Graph API要求传入的访问令牌受众必须为https://graph.microsoft.com,但你通过Get-PnPGraphAccessToken获取的令牌受众是SharePoint站点地址https://tenant.sharepoint.com,该类令牌仅可用于调用SharePoint REST接口,无法用于调用Microsoft Graph接口。
此前脚本正常运行是因为旧版本PnP PowerShell的Get-PnPGraphAccessToken默认返回Graph受众令牌,模块版本更新后默认行为变更才触发本次报错。
修复方案
你可以选择以下任意一种方案调整脚本:
- 方案一:直接使用Microsoft Graph PowerShell自带的身份验证逻辑,无需通过PnP获取令牌
替换原有身份验证代码即可:# 权限范围可按需调整,创建M365组至少需要Group.ReadWrite.All权限 Connect-MgGraph -Scopes "Group.ReadWrite.All" New-MgGroup - 方案二:如果业务需要保留PnP连接,可明确指定令牌的资源为Microsoft Graph
调整令牌获取参数即可:Connect-PnPOnline -Url https://tenant.sharepoint.com -Interactive # 明确指定返回Graph受众的访问令牌 $graphToken = Get-PnPGraphAccessToken -Resource "https://graph.microsoft.com" Connect-MgGraph -AccessToken $graphToken New-MgGroup - 方案三:回退PnP PowerShell到之前可正常运行的历史版本,该方案兼容性较差,不推荐使用。
内容的提问来源于stack exchange,提问作者ddev89
相关产品推荐
相关产品推荐

