惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
N
Netflix TechBlog - Medium
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
T
Tailwind CSS Blog
IT之家
IT之家
博客园 - Franky
雷峰网
雷峰网
博客园 - 聂微东
腾讯CDC
M
MIT News - Artificial intelligence
B
Blog RSS Feed
博客园_首页
罗磊的独立博客
S
SegmentFault 最新的问题
I
InfoQ
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
D
Docker
宝玉的分享
宝玉的分享
B
Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - 霖雨

用PowerShell命令一次启动多个前后端应用 Visual Studio Code中配置Cline 解决MSSQLLocalDB连接失败的问题 使用App Registration 访问 SharePoint Online (二) SharePoint Online 文档库的还原功能 SharePoint Online 快捷方式功能 SharePoint Online 文档库的收藏功能 使用豆包开发SharePoint Framework项目 Power Automate 还原误删的 Flow PowerShell 获取已删除的 Automate Flow PowerShell 新建 Address Book Policy PowerShell 批量添加用户到组 PowerShell 批量下载 SharePoint Online 文档 PowerShell 清空 SharePoint Online 列表数据 PowerShell 新建 SharePoint Online 列表 PowerShell 获取 SharePoint Online 站点信息 PowerShell 启用 SharePoint Online CDN SharePoint Online 定时发布页面 SharePoint Online 页面诊断 Microsoft Whiteboard 的使用 SharePoint Online 网站配置时区 SharePoint Online 集成 Viva Connections SharePoint Online 分区模板 SharePoint Online 嵌入 Power BI 报表
使用App Registration 访问 SharePoint Online (一)
霖雨 · 2026-07-08 · via 博客园 - 霖雨

  前言

  最近,因为ACS不能使用了,需要切换用App做认证访问SharePoint Online。

  正文

  1.新建App Registration,权限选择Site.Selected,如下图:

image

  2.新建证书,添加secret,如下图:

image

  3.新建证书的命令:

# 生成证书存入当前用户库
$cert = New-SelfSignedCertificate `
    -Subject "CN=SPOAppCert" `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -KeyExportPolicy Exportable `
    -NotAfter (Get-Date).AddYears(2)

# 导出cer公钥到C:\temp(上传Entra门户)
$cert | Export-Certificate -FilePath "C:\temp\spoapp1.cer"

# 导出pfx私钥到C:\temp
$pwd = ConvertTo-SecureString "123456ABC!" -AsPlainText -Force
$cert | Export-PfxCertificate -FilePath "C:\temp\spoapp1.pfx" -Password $pwd

4.执行命令,给站点赋权

# 配置变量
$siteUrl = "https://test.sharepoint.com/sites/test"
# 替换上面命令输出的ClientId
$pnpClientId = "73a9cd19-84a7-49b6-bd1d-75a798d971e9"
# 你要授权的后台Entra应用ClientId(给站点权限的那个App)
$targetEntraAppId = "bda3bd11-0fca-4399-8dc4-f4facf787120"

# 正确连接:必须带 -ClientId -Interactive
$connection = Connect-PnPOnline `
    -Url $siteUrl `
    -ClientId $pnpClientId `
    -Interactive `
    -ReturnConnection

# 授予站点应用权限(不会再报错)
Grant-PnPAzureADAppSitePermission `
    -Connection $connection `
    -AppId $targetEntraAppId `
    -Site $siteUrl `
    -Permissions Write

# 验证授权
Get-PnPAzureADAppSitePermission -Connection $connection

# 断开
Disconnect-PnPOnline -Connection $connection

  结束语

  这篇是准备环境,下一篇会介绍如何连接。