Azure 为什么要得到这个;身份验证“U MissingOrMalformed”;调用Microsoft Graph API时出错?
我想使用azure graph sdk获取所有用户列表。但是在调用client.users.list()函数之后,我得到了错误(“Authentication\u MissingOrMalformed”)。如何修复此错误并获取所有用户列表。Azure 为什么要得到这个;身份验证“U MissingOrMalformed”;调用Microsoft Graph API时出错?,azure,azure-active-directory,azure-functions,azure-web-app-service,azure-sdk,Azure,Azure Active Directory,Azure Functions,Azure Web App Service,Azure Sdk,我想使用azure graph sdk获取所有用户列表。但是在调用client.users.list()函数之后,我得到了错误(“Authentication\u MissingOrMalformed”)。如何修复此错误并获取所有用户列表。 如何使用Azure Graph SDK(Nodejs)从Azure Active Directory获取所有用户列表?主要问题是缺少{tokenAcademy:'Graph'},请参阅我的代码: const msRestAzure = require('ms
如何使用Azure Graph SDK(Nodejs)从Azure Active Directory获取所有用户列表?主要问题是缺少
{tokenAcademy:'Graph'}
,请参阅我的代码:
const msRestAzure = require('ms-rest-azure');
const { GraphRbacManagementClient } = require('azure-graph');
module.exports = async function (context, req) {
try{
const credentials = await msRestAzure.loginWithServicePrincipalSecret(clientId, clientSecret, tanent);
const client = new GraphRbacManagementClient(credentials, tenantId);
const results = await client.users.list();
context.res = {
body: results
};
} catch (error) {
console.log('error==> ',error); // Getting error: Authentication_MissingOrMalformed
context.res = {
body: error
};
}
}
运行上述代码后,如果广告中的用户数大于100,它将输出100
,因为graph api可以在一个页面中响应100个用户(默认值为100)
=================================================更新================================
请检查是否已将权限添加到Azure AD中注册的应用程序。如果未添加权限,请按照以下步骤操作:
1。转到在Azure广告中注册的应用程序(您使用其clientId
)
2.添加权限
3.单击“为xxx授予管理员许可”。
4。几分钟后,再次运行代码。是否尝试。。。正在读取错误消息。。。思考一下它的建议?嗨,请参考下面我提供的解决方案。如果这有助于解决您的问题,请将其作为答案(单击“我的答案”旁边的复选标记,将其从灰色变为填充)。提前感谢~l{“code”:“Authorization_RequestDenied”,“message”:{“lang”:“en”,“value”:“权限不足,无法完成此操作”。}Hi@Param错误消息表示您没有权限执行此操作。您需要添加权限,请参阅“更新”在我的回答中。@Param您是否成功运行了代码?如果仍然有任何问题,请让我知道。我真的很抱歉延迟回复您。事实上我没有API权限,这就是为什么我出现上述错误的原因。我与管理员进行了交谈,我将在更新后尽快获得权限。再次感谢!!
const msRestAzure = require('ms-rest-azure');
const { GraphRbacManagementClient } = require('azure-graph');
module.exports = async function (context, req) {
try{
msRestAzure.loginWithServicePrincipalSecret("clientId", "clientSecret", "tenantId", { tokenAudience: 'graph' }, function (err, credentials) {
if (err) return console.log(err);
const client = new GraphRbacManagementClient(credentials, "tenantId");
client.users.list((err, results, request, response) => {
if (err) return console.log(err);
console.log(JSON.parse(response.body).value.length);
});
});
} catch (error) {
console.log('error==> ',error);
context.res = {
body: error
};
}
}