返回值以记录时出现表达式错误

Posted

技术标签:

【中文标题】返回值以记录时出现表达式错误【英文标题】:Expression Error When Returning Value to Record 【发布时间】:2021-07-17 02:06:00 【问题描述】:

我正在尝试发出此 POST 请求以检索要作为记录存储在表中的 JWT 令牌。它确实检索令牌。但是,我收到错误“Expression.Error:我们无法将值“eyJhbGciOiJIUzI1NiIs...”转换为类型 Record.Type=[Type]”。想想我哪里出错了?

let
    url = "https://sapif.callminer.net/security/getToken", 
    body = """Username"": ""xxxxx"", ""Password"": ""xxxx"", ""ApiKey"": ""xxxxxx""",
    Parsed_JSON = Json.Document(body),
    BuildQueryString = Uri.BuildQueryString(Parsed_JSON),
    token = Json.Document(Web.Contents(url,[Headers = [#"Content-Type"="application/json; charset=utf-8"], Content = Text.ToBinary(body) ] )),
#"Converted in table" = Record.ToTable(token)
in
#"Converted in table"

【问题讨论】:

【参考方案1】:

想通了: let url = "https://sapif.callminer.net/security/getToken", body = """Username"": ""svc-piautomation@alegeus.com"", ""Password"": ""3tmvF7c_U=ZCHywW"", ""ApiKey"": ""alegeus""", Parsed_JSON = Json.Document(body), BuildQueryString = Uri.BuildQueryString(Parsed_JSON), token = Json.Document(Web.Contents(url,[Headers = [#"Content-Type"="application/json; charset=utf-8"], Content = Text.ToBinary(body) ] )), #"Converted in table" = Record.ToTable([Token = token]) in #"Converted in table"

【讨论】:

我不明白这个答案,希望您能提供帮助。 body 是提前定义的,然后将其转换为 JSON 并构建为 BuildQueryString 的查询字符串。但是BuildQueryString 没有在您的Web.Contents 请求中使用——body 是。但是body 没有被修改。您在请求中是否使用了bodyBuildQueryString

以上是关于返回值以记录时出现表达式错误的主要内容,如果未能解决你的问题,请参考以下文章

比较两个 typeid 表达式是不是相等时出现编译器错误

在 JavaScript 正则表达式中使用 1+ 所有格量词时出现正则表达式错误

使用 require 时出现打字稿错误 - 此表达式不可调用。类型“typeof import(...)”没有调用签名.ts(2349)

在 CREATE VIEW 内的 WITH...AS 中使用多个表表达式时出现“找不到对象”错误

通过 db2-luw 上的 xmlquery 使用正则表达式执行更新语句时出现 SQL 错误

VS2013 调试时出现“表达式计算器中发生内部错误”的问题解决办法