簡體   English   中英

從OAuth到Microsoft Dynamics Marketing OData提要

[英]OAuth to Microsoft Dynamics Marketing OData Feed

我正在嘗試連接到Microsoft Dynamics營銷OData數據服務。 該頁面列出了僅准備就緒訪問的OData提要,但沒有有關如何對其進行身份驗證的任何信息。

我一直在嘗試使用Microsoft.IdentityModel.Clients.ActiveDirectory -Version 1.0.4來獲取訪問令牌,如下所示:

var authenticationContext = new AuthenticationContext("https://login.windows.net/" + domainName);
var authenticationResult = authenticationContext.AcquireToken(resource, clientId, redirectUri);
var token = authenticationResult.AccessToken;

domainName類似於contoso.onmicrosoft.com但我不知道將什么用於clientIdredirectUriresource

我嘗試了許多不同的組合,並遇到了諸如以下的錯誤:

invalid_request: AADSTS90027: The client 'xxxxxxxx-9068-486b-bdd2-dac26b8a5a7a' and resource 'Microsoft.DynamicsMarketing' identify the same application.

access_denied: AADSTS65005: The client application has requested access to resource 'Microsoft.DynamicsMarketing'. This request has failed because the client has not specified this resource in its requiredResourceAccess list.

我想我對此很滿意。 我已經在Azure AD中將應用程序注冊為本機客戶端應用程序,並使用其clientIdredirectUriMicrosoft.DynamicsMarketing作為資源。 我使用“用於Windows PowerShell的Windows Azure Active Directory模塊”在服務主體列表Get-MsolServicePrincipal找到了這一點。

這些是正確的參數嗎?我只需要對許可進行一些整理,或者我應該如何處理?

更新正確的resourcehttps://marketing-infra.dynamics.com/ ,它是列出的服務主體名稱之一,與我以前使用的Microsoft.DynamicsMarketing 這與我從Power Query從Fiddler捕獲的clientIdredirectUri一起使用。 我非常確定,要使其與我的clientId一起使用,我需要在Azure應用程序注冊中為Dynamics Marketing授予權限,即“對其他應用程序的許可”。 問題是Dynamics Marketing不是可添加的應用程序,並且Dynamics CRM委托權限沒有對Dynamics Marketing起作用。

確實可以訪問提要。 但是您必須在Azure Active Directory中注冊一個應用程序,並授權該應用程序訪問Dynamics Marketing。

請在此處查看有關此主題的我的BlogPost-包括步驟和示例代碼:-)

我還在GitHub上發布了PowerShell cmdlet,這樣做是一種更通用的方法,並且不對數據模型使用代理類。 PowerShell cmdlet通過OData和SDK訪問MDM

我從Microsoft得到的答案是,不支持Power Query以外的其他客戶端。 因此,我上面的代碼是正確的,尚不支持添加使用其他應用程序對其進行訪問的權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM