使用Microsoft Graph归档Teams时,部分SharePoint站点无法设为只读
解决Microsoft Graph归档Teams时SP站点URL不可用的400错误
在批量归档Teams并同步设置对应SharePoint站点为只读时,部分Teams返回400错误,提示Tenant/teams service Admin Could not update Sharepoint site permissions / archival state because the team's site url is not available,但实际站点存在且URL未修改,可通过以下方法排查解决:
确认Team与SP站点的关联有效性
先用Graph API获取Team对应的根站点信息,验证关联是否正常:GET https://graph.microsoft.com/v1.0/teams/{team-id}/sites/root如果返回正常,说明关联没问题;如果返回404,大概率是Team和站点的隐性关联异常,可尝试先取消归档再重新触发归档操作,或者用PowerShell同步关联。
检查SP站点的权限与状态
确保操作账号拥有目标SP站点的站点管理员权限——哪怕Team操作权限足够,SP站点权限不足也会触发报错。另外,排查站点是否处于迁移、锁定等特殊状态,这些状态会阻止只读设置的修改。拆分操作步骤,避免同步执行
不要在归档Team的同时设置SP站点只读,分两步执行:- 先单独归档Team(不带
shouldSetSpoSiteReadOnlyForMembers参数):{ "uri": "https://graph.microsoft.com/v1.0/teams/{team-id}/archive", "method": "POST", "headers": { "Content-type": "application/json", "Authorization": "Bearer {token}" }, "body": {} } - 归档完成后,单独调用SP站点API设置只读:
请求体:POST https://graph.microsoft.com/v1.0/sites/{site-id}/setReadOnly
也可以用PowerShell命令直接设置:{ "readOnly": true, "reason": "Team archived" }Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/your-team-site" -LockState ReadOnly
- 先单独归档Team(不带
修复隐性关联异常
对于关联状态正常但仍报错的情况,用PowerShell强制同步Team和站点:Connect-MicrosoftTeams # 先取消归档 Get-Team -GroupId {team-group-id} | Set-Team -Archived $false # 等待3-5分钟让同步完成,再重新归档并设置SP只读 Get-Team -GroupId {team-group-id} | Set-Team -Archived $true -SetSpoSiteReadOnlyForMembers $true
内容的提问来源于stack exchange,提问作者Jimmy Tak
相关产品推荐
相关产品推荐

