【问题标题】:Problem connecting with Dynamics Web Api after getting the token (node.js)获取令牌 (node.js) 后与 Dynamics Web Api 连接时出现问题
【发布时间】:2021-03-01 17:08:34
【问题描述】:

我在调用 Dynamics Web Api 的方法时遇到了一些麻烦。

有了阿达尔,我得到了令牌,工作顺利

function acquireToken(dynamicsWebApiCallback){
    //a callback for adal-node
    function adalCallback(error, token) {
        if (!error){
            //call DynamicsWebApi callback only when a token has been retrieved
            tokenTemp=token.accessToken;
            dynamicsWebApiCallback(token);
            callback(null,tokenTemp);
        }else{
            console.log('Token has not been retrieved. Error: ' + error.stack);
            callback(error,null);
        }
    }
    //call a necessary function in adal-node object to get a token
    adalContext.acquireTokenWithClientCredentials(resource, clientId, secret, adalCallback);
}

但是,拿到令牌后,我尝试了 WhoAmI 功能,但失败了

var dynamicsWebApi = new DynamicsWebApi({
    webApiUrl: resource+'/api/data/v9.1/',
    onTokenRefresh: acquireToken
});

//call any function
dynamicsWebApi.executeUnboundFunction("WhoAmI").then(function (response) {
    console.log('Hello Dynamics 365! My id is: ' + response.UserId);
    callback(null,tokenTemp);
}).catch(function(error){
    console.log(error);
    callback(error,null);
});

错误:

{ 代码:'0x80072560', message: '该用户不是该组织的成员。', 状态:403, statusMessage: '禁止', 标题:'[对象]' }


我仔细检查了目录租户、客户端 ID、密钥。没关系。

输入错误的参数,我无法正确创建令牌。所以……没关系

有什么想法吗?

亲切的问候

【问题讨论】:

  • 使用您从response.UserId 获得的报酬,您可以查询https://YOURORG.api.dynamics.com/api/data/v9.1/systemusers(YOURUSRID)? 您的令牌可能来自另一个环境
  • 原因可能是您没有为客户端凭据流创建应用程序用户。请检查此article: 3 中的第 3 步。创建一个新的 Dynamics 365 应用程序用户。如果有帮助,请告诉我。
  • 如评论中所述,您似乎没有在 D365 中创建应用程序用户。创建应用程序用户并为其分配适当的权限。让我知道这是否有帮助。
  • 正确,需要使用应用程序ID创建应用程序用户并分配必要的角色。

标签: node.js azure-active-directory dynamics-crm


【解决方案1】:

为了解决这个问题,有必要创建一个具有 application_id 的应用程序用户并(重要)分配所有必要的角色。

更多信息在这里:

https://docs.microsoft.com/en-us/power-platform/admin/create-users-assign-online-security-roles#create-an-application-user

【讨论】:

    猜你喜欢
    • 2019-12-19
    • 2017-07-12
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多