javascript - 发布到 Azure FHIR 服务器方法失败身份验证失败 401

标签 javascript azure http post hl7-fhir

我有一个 Azure FHIR 服务器,我已经使用 POSTMAN 对其进行了测试,我能够使用 POSTMAN 和 Oauth token 读取患者以及 POST 患者。

我现在创建了一个 JavaScript Post 方法,以便我可以通过自己的方法而不是使用 POSTMAN 发布数据。 我遵循了这里的基本指导Creating a resource 我可以使用 POSTMAN 获取访问 token ,并在 POST 方法中使用该访问 token 。

我的方法和发布数据如下。

<!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>

Authentication Failed Image here

最佳答案

您可以尝试按照以下格式发送您的请求。

  $("#btnPostToAzureFHIR").click(function () {
        var yourPostDataFormat = {
            resourceType: "Patient",
            id: "9184e31a-a2b3-4b8d-9032-d5377cabaa08"
        }
        $.ajax({
            type: "POST",
            url: "https://smarthealth.azurehealthcareapis.com/Patient",
            data: JSON.stringify(yourPostDataFormat),
            beforeSend: function (xhr) {
                xhr.setRequestHeader('Authorization','Bearer DGRijc8LrnjCrhRFRSn2Jnf89q2wGT_gxNHtJt');
            },
            dataType: "json",
            contentType: "application/json",
            success: function (data) {
                console.log(data);

            }
        });

Note: Bind your parameter in key value pair on yourPostDataFormat then pass on JSON.stringify(yourPostDataFormat) section. Hope it would post your request with token

关于javascript - 发布到 Azure FHIR 服务器方法失败身份验证失败 401,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60192848/

相关文章:

azure - POCO 属性上的触发过滤器

json - USQL 调用读取 json 数组,无需 key

java - 轴2选项: setAction()

java - Java HTTP 服务器错误 : Unexpected end of file from server

javascript - 如何在javascript数组中创建动态键和值

javascript - 绘制后将 Canvas 调整为整个屏幕

javascript - Wordpress/TinyMCE - Hook /过滤器在 url 中添加目标 ="_blank"

javascript - 如何在不刷新的情况下在 Rails 4 中提交表单和更新页面元素

web-services - 如何使用网络安全组仅允许我的 Web 应用程序与我的 Web 服务通信

php - 如何使用 javascript 获取和显示 youtube 视频列表