sharepoint怎么获取site的clientId、clientSecrets、clientTenant
这是一个非常常见的概念混淆。**SharePoint 站点Site本身并没有 clientId、clientSecret 或 clientTenant。**这三个参数属于 **Microsoft Entra ID原 Azure AD中的“应用程序注册” (App Registration)**。* **Tenant ID (clientTenant)**代表你的 **组织/租户** 身份。* **Client ID (clientId)**代表你注册的 **应用程序** 身份。* **Client Secret (clientSecret)**代表该应用程序的 **密码**。你需要先在 Entra ID 中注册一个应用获取这些凭证然后使用该应用的身份去访问 SharePoint 站点。以下是获取这些参数的详细步骤以及如何获取真正的 **SharePoint Site ID**。---### 1. 获取 Tenant ID (租户 ID)这是你的 Microsoft 365 组织的唯一标识符。**方法 A通过 Microsoft Entra 管理中心**1. 登录 [https://entra.microsoft.com](https://entra.microsoft.com) (或 portal.azure.com)。2. 在左侧菜单选择 **标识 (Identity)** - **概述 (Overview)** - **租户属性 (Tenant properties)**。3. 找到 **租户 ID (Tenant ID)**复制该 GUID。**方法 B通过 SharePoint URL**在某些 SharePoint 页面加载时或者通过以下 API 调用也可以获取GET https://graph.microsoft.com/v1.0/organization返回结果中的 id 字段即为 Tenant ID。---### 2. 获取 Client ID 和 Client Secret (应用程序凭证)你需要创建一个“服务主体”来代表你的代码访问 SharePoint。**步骤**1. 登录 [Microsoft Entra 管理中心](https://entra.microsoft.com)。2. 导航到 **标识 (Identity)** - **应用程序 (Applications)** - **应用注册 (App registrations)**。3. 点击 ** 新注册 (New registration)**。* **名称**随便填例如 MySharePointApp。* **支持的账户类型**通常选择“仅此组织目录中的账户”。* 点击 **注册 (Register)**。4. **获取 Client ID*** 注册成功后在 **概述 (Overview)** 页面复制 **应用程序 (客户端) ID (Application (client) ID)**。这就是你的 clientId。5. **获取 Client Secret*** 在左侧菜单选择 **证书和机密 (Certificates secrets)**。* 点击 ** 新客户端机密 (New client secret)**。* 添加描述选择过期时间点击 **添加 (Add)**。* **重要**立即复制 **值 (Value)** 列显示的字符串。这就是你的 clientSecret。**一旦刷新页面你将无法再次查看此值**只能重新创建。---### 3. 配置 API 权限 (关键步骤)获取了 ID 和密钥后还必须授权该应用访问 SharePoint。1. 在应用注册页面左侧选择 **API 权限 (API permissions)**。2. 点击 ** 添加权限 (Add a permission)** - **Microsoft Graph**。3. 选择 **应用程序权限 (Application permissions)** (如果是后台脚本) 或 **委派权限 (Delegated permissions)** (如果是用户登录)。4. 搜索并勾选以下权限根据需要* Sites.Read.All (读取所有站点)* Sites.ReadWrite.All (读写所有站点)* Sites.FullControl.All (完全控制)5. 点击 **添加权限**然后点击 **代表 {租户名} 授予管理员同意 (Grant admin consent)**。---### 4. 获取 SharePoint Site ID (你可能真正想要的)如果你是想在 API 调用中替换 {site-id} 占位符你需要的是 **SharePoint 站点 ID**而不是 Client ID。**通过 Graph API 获取 Site ID**httpGET https://graph.microsoft.com/v1.0/sites/{hostname}:/{server-relative-path}**示例**httpGET https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/sites/Marketing**返回结果中的 id 字段** 才是你在调用 lists 或 drive 接口时需要的 {site-id}。格式通常为hostname,site-collection-id,web-id (例如contoso.sharepoint.com,1234...,5678...)。---### 5. 如何使用这些参数 (OAuth 2.0 流程)获取上述信息后你的代码流程如下1. **请求 Access Token** (使用 Client ID, Secret, Tenant ID)httpPOST https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/tokenContent-Type: application/x-www-form-urlencodedclient_id{client-id}scopehttps://graph.microsoft.com/.defaultclient_secret{client-secret}grant_typeclient_credentials2. **使用 Token 访问 SharePoint**将返回的 access_token 放入 HeaderhttpGET https://graph.microsoft.com/v1.0/sites/{site-id}/listsAuthorization: Bearer {access_token}### 总结对照表| 你问的参数 | 实际含义 | 获取位置 | 用途 || :--- | :--- | :--- | :--- || **clientTenant** | **Tenant ID** | Entra ID - 租户属性 | 标识你的公司/组织 || **clientId** | **Application ID** | Entra ID - 应用注册 - 概述 | 标识你的代码/程序 || **clientSecret** | **Client Secret** | Entra ID - 应用注册 - 证书和机密 | 程序的密码 (用于换 Token) || **site-id** | **SharePoint Site ID** | Graph API GET /sites/... | 标识具体的 SharePoint 站点资源 |**安全警告*** **Client Secret** 等同于密码**切勿** 上传到 GitHub 或公开代码库。* 在生产环境中建议使用 **证书 (Certificate)** 代替 Client Secret 进行身份验证更安全。

相关新闻

论文答辩 PPT 高效制作指南:PaperXie AI PPT 如何让学术演示一键达标

论文答辩 PPT 高效制作指南:PaperXie AI PPT 如何让学术演示一键达标

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/aippthttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 毕业季的核心挑战从来不是写完论文,而是将数万字研究成果浓缩成逻辑清晰、专业美观的论文答辩 PPT。如何从冗长文…

2026/7/4 10:50:01 阅读更多 →
第7课:多场景拓展——学习、自媒体与生活自动化实战

第7课:多场景拓展——学习、自媒体与生活自动化实战

在人工智能技术快速渗透各行各业的当下,“自动化”已不再局限于专业技术领域,而是逐步成为普通群体提升工作与学习效率、释放时间成本的核心支撑工具。据相关行业报告显示,2025年全球自动化工具用户规模已突破8亿人,其中中国用户占比达32%,同比增长28%,自动化工具的应用场…

2026/5/17 1:37:45 阅读更多 →
H3CNE--8.命令行操作基础

H3CNE--8.命令行操作基础

命令行操作基础 配置网络设备的方法 有五种方式配置: 通过Console口本地访问通过AUX口远程访问使用Telnet终端访问使用SSH终端访问通过异步串口访问 但是第二种和第五种都被淘汰了,因为太慢了,带宽只有64k console口连接 就是在网络设备…

2026/7/2 21:44:41 阅读更多 →

最新新闻

Spark MLlib ALS 参数调优指南:5组超参数对比与RMSE优化实践

Spark MLlib ALS 参数调优指南:5组超参数对比与RMSE优化实践

Spark MLlib ALS 参数调优实战:从网格搜索到RMSE优化的完整指南1. 理解ALS算法的核心参数协同过滤推荐系统中,交替最小二乘法(ALS)是最常用的矩阵分解技术之一。要充分发挥其性能,必须深入理解以下三个关键参数&#x…

2026/7/6 1:35:37 阅读更多 →
PointPillars vs VoxelNet vs SECOND:3种点云编码器在RTX 4090上的速度与精度对比

PointPillars vs VoxelNet vs SECOND:3种点云编码器在RTX 4090上的速度与精度对比

PointPillars、VoxelNet与SECOND:RTX 4090平台下的三维点云检测架构深度评测当自动驾驶系统以120公里时速行驶时,每100毫秒的延迟意味着3.3米的盲区距离。这正是三维点云检测算法需要解决的现实挑战——如何在保证精度的前提下实现实时处理。本文将基于N…

2026/7/6 1:35:37 阅读更多 →
如何快速部署euler-copilot-vectorize-agent?5分钟入门教程

如何快速部署euler-copilot-vectorize-agent?5分钟入门教程

如何快速部署euler-copilot-vectorize-agent?5分钟入门教程 【免费下载链接】euler-copilot-vectorize-agent A microservice for data vectorization. 项目地址: https://gitcode.com/openeuler/euler-copilot-vectorize-agent 前往项目官网免费下载&#x…

2026/7/6 1:33:36 阅读更多 →
QGC V5.0 gstreamer视频流在安卓端画面卡顿、冻结,硬件解码失败的问题解决方案

QGC V5.0 gstreamer视频流在安卓端画面卡顿、冻结,硬件解码失败的问题解决方案

主要原因1.低端设备CPU软件解码性能不足2.硬件解码着色器未嵌入,导致硬件解码失败回退软解3.gstreamer的gl上下文丢失导致画面冻结解决方法一、启用硬件解码我使用的gstreamer版本是1.26.2,直接更改findgstreamer中的版本似乎会报错。硬件解码器&#xf…

2026/7/6 1:33:36 阅读更多 →
2026最新2款AI编程工具平替之选深度实测

2026最新2款AI编程工具平替之选深度实测

上周花了整周时间,我把 5 款 AI 编程工具分别用在 5 个不同模块上——一个工具一个模块,看最终代码质量差异。我当时选的模块里就包含了Node.js Express的用户行程文件上传功能,测试过程里我全程用vibe coding的方式,只靠口述需求…

2026/7/6 1:31:36 阅读更多 →
Halcon 标定板像素当量标定:单图法 vs 多图法,3种场景精度对比实测

Halcon 标定板像素当量标定:单图法 vs 多图法,3种场景精度对比实测

Halcon 标定板像素当量标定:单图法 vs 多图法,3种场景精度对比实测在工业视觉测量领域,像素当量标定的精度直接影响着整个系统的测量准确性。面对产线节拍和精度的双重需求,工程师们常常需要在单图快速标定与多图高精度标定之间做…

2026/7/6 1:29:36 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻