使用 Power Query 结果作为后续查询的 URL?

使用 Power Query 结果作为后续查询的 URL?

我不确定这是否可行,但我正在使用一个 API,它提供了一个 URI 作为值,我希望将其作为其他查询(针对每个结果)的来源。想象一下初始 Web 查询返回这样的值(想象一下一些小而有意义的东西,例如 100 个结果):

https://.../用户

{ "users": [
    { "name": "foo",
      "email": "foo@localhost",
      "uri": "https://example.com/user/admin-foo"
    },
    { "name": "bar",
      "email": "bar@localhost",
      "uri": "https://example.com/user/anon-bar"
    },
  ]
}

Power Query 结果:

姓名 电子邮件 乌里
foo@localhost https://example.com/user/admin-foo
酒吧 酒吧@本地主机 https://example.com/user/anon-bar

我想要做的是遍历每一行并使用 URL 获取更多详细信息(例如,发出https://example.com/user/admin-foo和 的查询https://exmaple.com/user/anon-bar)以加入初始查询。

例子

https://.../用户/管理员-foo

{ "foo": {
    "name": "foo",
    "is_admin": true,
    "is_local": false,
    "ip_address": "192.168.1.100/32"
  }
}

https://.../用户/anon-bar

{ "bar": {
    "name": "bar",
    "is_admin": false,
    "is_local": false,
    "ip_address": "192.168.1.101/32"
  }
}
姓名 电子邮件 乌里 Ext.is_active Ext.is_local
foo@localhost https://example.com/user/admin-foo 真的 错误的
酒吧 酒吧@本地主机 https://example.com/user/anon-bar 错误的 错误的

答案1

非常简单,类似于:

   Calls = List.Accumulate(#"Your Sample Table"[uri],{}, (state, current)=> state & {Web.Contents(current)})

将返回列中每个 uri 的 Web 内容列表(可能是二进制文件)uri

对于您的特定 uri,每个 uri 在解码时都会返回一条错误消息:

DataSource.Error: Web.Contents failed to get contents from 'https://example.com/user/admin-foo' (404): Not Found
Details:
    DataSourceKind=Web
    DataSourcePath=https://example.com/user/admin-foo
    Url=https://example.com/user/admin-foo
DataSource.Error: Web.Contents failed to get contents from 'https://example.com/user/anon-bar' (404): Not Found
Details:
    DataSourceKind=Web
    DataSourcePath=https://example.com/user/anon-bar
    Url=https://example.com/user/anon-bar

相关内容