Fsharp.Data HttpRequestBody 获取“缺少必需的 'grant_type' 参数”

Fsharp.Data HttpRequestBody getting 'The mandatory 'grant_type' parameter is missing'

我正在使用 Fsharp.Data 男性 HttpRequests。 我想从 URL 获取我的令牌。 我试过了(从这里

let request () =
    async {
      let url = tokenUrl
      return! Http.AsyncRequestString
        ( url,
          headers = [ ContentType HttpContentTypes.FormValues;
           Origin "https://www....;
           Referer "https://www.../login";
           Accept "application/json, text/plain, */*"],
          body = TextRequest """ {"grant_type": "password",
                            "password": "xxx",
                            "username": "y@..."} """ )
    } |>  Async.Catch

但是我明白了

'The mandatory 'grant_type' parameter is missing'

我在 Python 中使用了相同的参数,但它起作用了。

有什么想法吗? 谢谢

我认为这里的问题是您将正文发送为 JSON,而 it should be form values:

body =
    FormValues [
        "grant_type", "password"
        "password", "xxx"
        "username", "y@..."
    ]

不过我还没有测试过。