2017-04-06 114 views
1

当用户填写我网站上的联系表单时,我想将这些数据作为新的潜在客户加入Dynamics CRM。当我使用我的access_token命中CRM时,我不断收到401错误。Azure身份验证和动态CRM

以下步骤就可以:https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service


第1步:

获得访问令牌与客户端凭证(我只是用邮差)。

POST

https://login.microsoftonline.com/{my_tenat_id}/oauth2/token 

BODY

grant_type:client_credentials 
client_id:{my_client_id} 
resource:https://{my_organization}.crm.dynamics.com 
client_secret:{client_secret} 

响应

{ 
    "token_type": "Bearer", 
    "expires_in": "3600", 
    "ext_expires_in": "0", 
    "expires_on": "1491514124", 
    "not_before": "1491510224", 
    "resource": "https://{my_organization}.crm.dynamics.com", 
    "access_token": "abc{...}" 
} 

步骤2.

Access Dynamics CRM API。我现在只是要求提供基本的联系人列表。

GET

https://{my_organization}.crm.dynamics.com/api/data/v8.1/contacts?$select=fullname 

集管

Cache-Control:no-cache 
Accept:application/json 
OData-Version:4.0 
Authorization:Bearer abc{...} 

响应

HTTP Error 401 - Unauthorized: Access is denied 

我错过了什么?我觉得有些东西一定是错误的配置,但我不知道在哪里寻找。

+1

您是否有关于错误的更多信息? [此博客文章](http://phuocle.net/crm/dynamics-365-online-s2s-authentication-full-explain.aspx)通过引入应用程序用户来解决401错误。 –

+0

@Dave Clark谢谢! - 我有同样的问题,博客是答案 - 在他使用SDK客户端的文章中,但解决方案是相同的(我也使用邮递员)。 – user627752

回答