这是我第一次使用 Epicor 的 Prophet 21。在使用用户帐户进行身份验证后,我很难弄清楚如何在 HTTP 请求 header 中传递 token 。
https://localhost:4443/api/security/token/?username= {USERNAME}&password={PASSWORD}
返回 token ,但我不确定请求 header 应该设置成什么。我尝试了 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>
我基本上是在寻求一些有关构建 header 的帮助,以便我可以发送 token 。我想使用 Laravel PHP 框架来执行此操作。
在此先感谢您抽出宝贵的时间和协助。
最佳答案
事实证明这种身份验证是非常标准的,我只是被文档中的 Token 引用搞糊涂了。
设置 Authorization = Bearer {token} 有效。
关于php - 将 header 中的 token 传递给 Prophet 21 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46004354/