【问题标题】:To build a flow using Power Automate to download linked csv report in gmail使用 Power Automate 构建流以在 gmail 中下载链接的 csv 报告
【发布时间】:2021-03-16 10:28:57
【问题描述】:

我正在尝试使用 Power Automate 创建一个流程(我对它很陌生)可以在我每天收到的电子邮件中获取链接/URL,然后下载.csv 文件,通常单击链接会执行此操作,然后将文件保存到给定的本地文件夹

我收到的电子邮件示例Screenshot of the email I get daily

我在 Power Automate 社区中进行了搜索,发现 这个富有洞察力的 LINK 帖子和答案几乎解决了它。但是,在按照这些步骤构建流程之后,在撰写步骤中一直失败

流程和错误消息的屏幕截图 The flow Error message

使用的表达式: substring(body('Html_to_text'),add(indexOf(body('Html_to_text'),'here'),5),sub(indexOf(body('Html_to_text'),'Name'),5))

似乎表达式无法真正获取 URL/链接?我不确定并搜索了但找不到更多可以提供帮助的帖子。

请分享您认为可以帮助我解决问题的方法或解决方法的所有见解,并衷心感谢!

PPPPPPisces

【问题讨论】:

    标签: power-automate


    【解决方案1】:

    我们需要在这里分解需要 3 位信息的函数位

    substring(1个要搜索的文本,2个你想要的文本的起始位置,3个文本的长度)

    例如,如果您试图从文本 dog 4567 bird 返回一个未知数字

    我们的函数将包含 3 个部分。

    1. body('Html_to_text'),这个位得到我们正在搜索的文本
    2. add(indexOf(body('Html_to_text'),'dog'),4), 这个位在文本中查找单词 dog 开始后 4 个字符的位置(dog 的 3 个字母 + 空格)
    3. sub(sub(indexOf(body('Html_to_text'),'bird'),2)),add(indexOf(body('Html_to_text'),'dog'),4)), 我这里更改了你的代码结构,因为这部分需要返回 URL 的长度,而不是结束位置。所以在这里,我们取 URL 的结尾位置(单词 bird 的位置减去两个空格),然后从 URL 的开头位置(单词 dog 的位置 + 4 个空格)减去它,得到长度。

    在您的 HTML 到文本输出中,您需要检查 HTML 的外观,并在 URL 开始之前搜索一个单词,在 URL 开始之后搜索一个单词,并计算到达 URL 的确切空格数。然后,您可以将这些单词和计数放入您的代码中。

    更一般地说,当您遇到需要解决的复杂问题时,您可以将其分解为多个步骤。例如。与其将一大堆代码放在一个块中,不如将每一块代码放在自己的组合中,然后最后组合将它们全部组合在一起——这样当你运行它时,你可以看到每一位的信息正在释放或失败的地方,并从那里进行实验以发现问题所在。

    【讨论】:

    • 嗨@Cazzym Hawkins,非常感谢您的彻底回答,它确实帮助我解决了问题!我终于在 Compose ^ ^ 上得到了 URL 的输出。遗憾的是,该流程在 HTTP 步骤仍然失败,并给出了 HTML 状态代码 307。我想也许报告提供者的服务器不允许使用 MS Flow >
    • @PPPPPPPPisces 这是 URL 重定向的代码。这意味着服务器告诉您“实际上,这不是您要的东西的最终位置,让我给您最终 URL 并发送给您”。如果在流程运行中您可以看到如何访问失败的 HTTP 吐出的 URL,您可以在以下步骤中使用它并使用它向新的真实位置发出第二个 HTTP 请求。您只需将操作设置更改为 Run After -> Failed,这样第二部分即使在第一个引发投诉后也会运行,因为它无法从 URL 获取任何内容。
    猜你喜欢
    • 2021-09-04
    • 2021-10-23
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 2015-11-22
    • 2020-11-04
    相关资源
    最近更新 更多