【发布时间】:2020-02-14 00:06:00
【问题描述】:
我有一个 Azure FHIR 服务器,我已经使用 POSTMAN 进行了测试,我能够使用 POSTMAN 和 Oauth 令牌读取患者以及 POST 患者。
我现在创建了一个 JavaScript Post 方法,以便我可以从我自己的方法而不是使用 POSTMAN 发布数据。 我已经遵循了这里的基本指导Creating a resource 我可以使用 POSTMAN 获取访问令牌,并在我的 POST 方法中使用该访问令牌。
我的方法和发布数据如下。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
(async () => {
const rawResponse = await fetch('https://smarthealth.azurehealthcareapis.com/Patient', {
method: 'POST',
Authorization: 'Bearer DGRijc8LrnjCrhRFRSn2Jnf89q2wGT_gxNHtJt',
headers: {
'Access-Control-Allow-Origin': '*',
'Accept': 'application/json',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': 'http://localhost:3000',
'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS'
},
body: JSON.stringify({
"resourceType": "Patient",
"id": "9184e31a-a2b3-4b8d-9032-d5377cabaa08",
"extension": [
{
"url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race",
"extension": [
{
"url": "ombCategory",
"valueCoding": {
"system": "urn:oid:2.16.840.1.113883.6.238",
"code": "2106-3",
"display": "White"
}
},
{
"url": "text",
"valueString": "White"
}
]
},
{
"url": "http://hl7.org/fhir/StructureDefinition/patient-birthPlace",
"valueAddress": {
"city": "Mashpee",
"state": "Massachusetts",
"country": "US"
}
},
],
"name": [
{
"use": "official",
"family": "Kutch",
"given": [
"Sherron"
]
}
],
"gender": "female",
"birthDate": "2009-04-29",
})
});
const content = await rawResponse.json();
console.log(content);
})();
</script>
</head>
<body>
Javascript Azure FHIR Post Request Test
</body>
</html>
【问题讨论】:
-
我认为你没有以正确的方式发送令牌,
Authorization: 'Bearer DGRijc8LrnjCrhRFRSn2Jnf89q2wGT_gxNHtJt'我怀疑这条线。 -
是的,你到底是从哪里得到这个令牌的?
-
@MichaelHansen 我正在使用 POSTMAN 检索令牌,然后在我的方法中使用它。它在 POSTMAN 中运行良好。
-
这看起来不像是一个有效的令牌。返回标头说什么(您可以在 Fiddler 或类似的东西中检查)。
-
与之前的评论者一样,您似乎没有以正确的方式添加该标题。为什么不与其他标题一起使用。我会检查 Fiddler 以确保您确实以正确的方式发送令牌(并确保它确实是有效的令牌)。
标签: javascript azure http post hl7-fhir