将标头中的标记传递给Prophet 21 API

时间:2017-09-01 16:19:38

标签: php postman epicorerp api-authorization epicor

这是我第一次与Epicor合作先知21。在使用用户帐户进行身份验证后,我很难确定如何在HTTP请求标头中传递令牌。

https://localhost:4443/api/security/token/?username= {USERNAME}&安培;密码= {} PASSWORD

返回令牌,但我不确定应将请求头设置为什么。我尝试了Token,AccessToken和其他一些组合,但我总是收到这条消息:

<TokenError xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <Description>Token Validation Exception Occured</Description>
    <Error>invalid_request</Error>
    <Uri/>
</TokenError>

这是我正在尝试的一个例子:

https://localhost:4443/api/inventory/v2/parts/

标题

Token = token eoWffZR0PlReRLwHopOTNSoBccwj96VSkjGYX2QnGdLjqY10mREmjwh4GDXqpf7HBBHrFImN3T4RtHEPjBK+VQ5EniquqnBbOAvlzf+5amV3rKDB67w5XbyoOzD2YSiFOULoRRY2Iaxe7pAy5JaWQ==

Token = eoWffZR0PlReRLwHopOTNSoBccwj96VSkjGYX2QnGdLjqY10mREmjwh4GDXqpf7HBBHrFImN3T4RtHEPjBK+VQ5EniquqnBbOAvlzf+5amV3rKDB67w5XbyoOzD2YSiFOULoRRY2Iaxe7pAy5JaWQ==

我不会包含更多示例,但我尝试了各种组合。我还查看了SDK文档,这是非常没用的。例如,这里是JavaScript代码示例,但它包含了文档中没有的函数,因此我无法看到它是如何构造请求的。

<script type="text/javascript">
     var gToken;

     function getTokenUI(){
         var userName = $('#name').val();
         var passWord = $('#password').val();
         var jsonToken = getToken(userName, passWord)
         gToken = jsonToken.AccessToken
         $('#return ul').append('<li>' + gToken + '</li>');
     }   

     function getOppUI() {
         var oppID = $('#oppid').val();
         var xhr = ajaxRequest("GET", OppResourceURL(oppID), null, "json", gToken);
         $('#restreturn ul').append('<li>' + xhr.responseText + '</li>');

         var jsonObj = $.parseJSON(xhr.responseText);

         $.each(jsonObj, function(key, val) {
             $('body').append('<div>' + key + ": " + val + '</div>');
         });
     }
 </script>

我基本上是在寻找一些构建标题的帮助,以便我可以通过令牌发送。我想使用Laravel PHP框架来做到这一点。

提前感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:2)

事实证明,这种身份验证非常标准,我只是被文档中的Token引用所抛弃。

设置授权=承载{令牌}有效。