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

推荐订阅源

月光博客
月光博客
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
量子位
小众软件
小众软件
The Cloudflare Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
G
Google Developers Blog
博客园 - 叶小钗
H
Help Net Security
Jina AI
Jina AI
Y
Y Combinator Blog
Last Week in AI
Last Week in AI
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Vercel News
Vercel News

博客园 - 霖雨

用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

  结束语

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