You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript通过租户ID等信息验证MS Graph并调用API?

使用JavaScript通过客户端凭证流调用Graph API

你的自动化程序无用户交互场景,适合采用客户端凭证流完成身份验证,以下是具体实现步骤:

1. 安装依赖

先安装官方身份验证与Graph客户端库:

npm install @azure/identity @microsoft/microsoft-graph-client

2. 实现认证与API调用

创建JavaScript文件(如graph-auto.js),写入以下代码:

const { ClientSecretCredential } = require('@azure/identity');
const { Client } = require('@microsoft/microsoft-graph-client');
const { TokenCredentialAuthenticationProvider } = require('@microsoft/microsoft-graph-client/authProviders/azureTokenCredentials');

// 替换为你的Azure应用信息
const tenantId = '你的租户ID';
const clientId = '你的客户端ID';
const clientSecret = '你的客户端密钥';

// 初始化身份凭证
const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);

// 配置Graph客户端认证器
const authProvider = new TokenCredentialAuthenticationProvider(credential, {
  scopes: ['https://graph.microsoft.com/.default'] // 自动包含所有已授权的应用权限
});

// 创建Graph客户端实例
const graphClient = Client.initWithMiddleware({
  authProvider: authProvider
});

// 示例:调用Graph API获取租户用户列表
async function fetchTenantUsers() {
  try {
    const users = await graphClient.api('/users').get();
    console.log('租户用户数据:', users.value);
  } catch (err) {
    console.error('API调用失败:', err.message);
  }
}

// 执行示例逻辑
fetchTenantUsers();

关键注意事项

  • 确认Azure门户中配置的是应用权限(而非委派权限),且已完成管理员同意,否则会触发权限不足错误。
  • 客户端密钥请勿硬编码,建议通过环境变量管理(如process.env.CLIENT_SECRET)。

内容的提问来源于stack exchange,提问作者noonenine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 03:07:10