使用 Power Query 迭代 Web API 页面

Posted

技术标签:

【中文标题】使用 Power Query 迭代 Web API 页面【英文标题】:Iterate Over Web API Pages With Power Query 【发布时间】:2017-10-25 15:24:49 【问题描述】:

我需要一点帮助。我可以访问 API 数据:

我正在使用以下代码检索 API 数据:

let iterations = 10,

url = "https://graph.facebook.com/v2.10/[ACCOUNT ID]/insights?access_token=[ACCESS TOKEN]",

FnGetOnePage =
  (url) as record =>
   let
    Source = Json.Document(Web.Contents(url)),
    data = try Source[data] otherwise null,
    next = try Source[paging][next] otherwise null,
    res = [Data=data, Next=next]
   in
    res,

 GeneratedList =
  List.Generate(
   ()=>[i=0, res = FnGetOnePage(url)],
   each [i]<iterations and [res][Data]<>null,
   each [i=[i]+1, res = FnGetOnePage([res][Next])],
   each [res][Data])
 in
  GeneratedList

现在我正在尝试检索此 API 数据:

为此我需要对原始代码进行哪些更改?

非常感谢任何帮助、建议或指导!

非常感谢, 塔尼姆

【问题讨论】:

【参考方案1】:

通过复制和粘贴新 API 数据的最后一行来修复它,它基本上摆脱了额外的“client_pages”位并且像魅力一样工作。看来自助是最好的帮助!

【讨论】:

以上是关于使用 Power Query 迭代 Web API 页面的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Power Query 从 Toggl API 中提取数据?

Power Query (M) 使用带有 API 的函数获取信息

如何使用 Power Query 的 Web.Contents 发布多部分/表单数据

Power Query API 调用 POST 方法 - 不记名令牌

Power Query 缺少对 Windows 身份验证和 REST API POST 正文的支持

使用 Power Query 通过 REST API 查询分页 XML