GET请求在浏览器中有效,但是使用Postman时我未获得授权

l--*_*''' 4 c# http http-get postman dynamics-crm-2016

我通过Chrome发布请求:

[org]/api/data/v8.1/accounts?$select=name,accountid&$top=3
Run Code Online (Sandbox Code Playgroud)

我得到一个合理的答复:

{
  "@odata.context":"[org]/api/data/v8.1/$metadata#accounts(name,accountid)","value":[
    {
      "@odata.etag":"W/\"769209\"","name":"Telco","accountid":"c6ed63e0-9664-e411-940d-00155d104b35"
    },{
      "@odata.etag":"W/\"752021\"","name":"Fourth Coffee","accountid":"d1eefc0a-3ebc-e611-80be-24be051ac8a1"
    },{
      "@odata.etag":"W/\"768036\"","name":"Fourth Coffee","accountid":"3cbb8d24-20bd-e611-80c0-24be051ac8a1"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但是,当尝试通过邮递员执行相同的GET时,我得到了401未经授权!

我尝试了完全没有标题以及基本身份验证:

Authorization:Basic Y2hybGFiXxxxxxxxxxxxxxcmQxMjM=
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我需要在CRM中进行一些更改以允许我从邮递员那里进行GET吗?

以下是Chrome使用的标题(DevTools提供了此标题):

  • 接受:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp,/ ; q = 0.8
  • 接受编码:gzip,deflate,sdch
  • 接受语言:en-US,en; q = 0.8
  • 授权:协商TlRMTVNTUAADAAAAGAAYAIoAAABkAWQBogAAAAwADABYAAAADgAOAGQAAAAYABgggAAABAAEAAGAgAAFYKI4gYBsR0AAAAPai35LURprYMgYVSwMQXi // XXRVVEUuj0yT
  • 快取控制:max-age = 0
  • Cookie:ReqClientId = 42484e9a-f488-41a9-a016-1cd6e5820b3c
  • 主持人:myhost ....
  • 代理连接:保持活动状态
  • 不安全升级请求:1
  • 用户代理:Mozilla / 5.0(Linux; Android 6.0; Nexus 5 Build / MRA58N)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 57.0.2987.133移动Safari / 537.36

Ale*_*lex 5

首先,登录到CRM,然后将标签保留在那里。

进入POSTMan

启用拦截器(见图) 拦截器

输入网址,然后点击发送。POSTMan会自行处理cookie和标头,您将看到结果。

如果您从CRM中注销,则POSTMan显然将不再能够发出请求,而将返回401。