如何使用策略模板在MS Power Automate(Flow)自定义连接器中设置HTTP标头

时间:2020-01-27 23:38:48

标签: json power-automate

我正在尝试在MS Flow中创建自定义连接器(现已更名为MS Power Automate)。我正在尝试使用连接中的值在操作请求中添加自定义标头,我阅读了使用策略模板可以实现此目的的文档:https://docs.microsoft.com/en-us/connectors/custom-connectors/policy-templates/setheader/setheader#input-parameters

在Microsoft在此处提供的示例中,也可能:https://github.com/microsoft/PowerPlatformConnectors/blob/master/samples/Facebook/apiProperties.json

这是我在apiProperties.json中进行设置的方法。用户首次建立连接时,我会要求他们提供IP,用户名和密码。使用简单的身份验证类型。

{
  "properties": {
    "capabilities": [],
    "connectionParameters": {
      "ip": {
        "type": "string",
        "uiDefinition": {
          "constraints": {
            "clearText": true,
            "required": "true",
            "tabIndex": 0
          },
          "description": "Your IP",
          "displayName": "IP",
          "tooltip": "Provide your IP"
        }
      },
      "username": {
        "type": "string",
        "uiDefinition": {
          "constraints": {
            "clearText": true,
            "required": "true",
            "tabIndex": 1
          },
          "description": "Your username",
          "displayName": "Username",
          "tooltip": "Provide your username"
        }
      },
      "password": {
        "type": "securestring",
        "uiDefinition": {
          "constraints": {
            "clearText": false,
            "required": "true",
            "tabIndex": 2
          },
          "description": "Your password",
          "displayName": "Password",
          "tooltip": "Provide your password"
        }
      }
    },
    "iconBrandColor": "#ff5c10",
    "policyTemplateInstances": [
      {
        "parameters": {
          "x-ms-apimTemplate-operationName": [
            "MyAction"
          ],
          "x-ms-apimTemplate-policySection": "Request",
          "x-ms-apimTemplateParameter.existsAction": "override",
          "x-ms-apimTemplateParameter.name": "IP",
          "x-ms-apimTemplateParameter.value": "@connectionParameters('ip')"
        },
        "templateId": "setheader",
        "title": "IP"
      }
    ]
  }
}

在policyTemplateInstances部分中,您可以看到我将IP变量作为标头参数传递。

在apiDefinitions文件中,我将安全性设置为基本:

  "securityDefinitions": {
    "undefined": {
      "type": "basic"
    }
  },

所以我遇到的错误是它实际上没有在操作标头中传递控制室ip,我在做什么错了?

1 个答案:

答案 0 :(得分:0)

事实证明我的解决方案确实有效,它将留给以后的观看者