LOGI C APPS - получение всех URL-адресов из триггера электронной почты Outlook и создание массива - PullRequest
0 голосов
/ 12 апреля 2020

В приложениях logi c из блока электронной почты триггера тело извлекается и сохраняется в переменной в формате HTML. EMail будет содержать один или несколько URL-адресов изображений. Задача состоит в том, чтобы извлечь весь URL изображения и создать массив и сохранить. Для каждого URL-адреса в массиве выполните некоторые действия с OneDrive.

В настоящее время я застрял в извлечении всех URL-адресов изображений и сохранении их в массиве. Если кто-то может предложить какое-то решение будет полезно. Ниже приведен пример содержимого электронной почты

===================================== ==================

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta content="text/html; charset=utf-8">
   </head>
   <body>
      <div dir="ltr">
         <br>
         <br>
         <div class="gmail_quote">
            <div dir="ltr" class="gmail_attr"><span style="color:rgb(80,0,80)">Images from&nbsp;&#43;9190020498901 to&nbsp;&#43;9191232615.</span><br></div>
            <div dir="ltr">
               <div class="gmail_quote">
                  <div dir="ltr">
                     <div class="gmail_quote">
                        <div dir="ltr">
                           <div class="gmail_quote">
                              <div dir="ltr">
                                 <div class="gmail_quote">
                                    <div dir="ltr">
                                       <div class="gmail_quote">
                                          <div dir="ltr">
                                             <div class="gmail_quote">
                                                <div dir="ltr">
                                                   <div class="gmail_quote">
                                                      <div dir="ltr">
                                                         <div>
                                                            <div style="color:rgb(80,0,80)"><br></div>
                                                            <a href="https://www.ema.europa.eu/sites/default/files/emabuilding2019_en_1.jpg" target="_blank">https://www.ema.europa.eu/sites/default/files/emabuilding2019_en_1.jpg</a>&nbsp;&nbsp;
                                                         </div>
                                                         <a href="https://www.se.com/ww/en/assets/564/media/44518/560/87591358-490x280.jpg" target="_blank">https://www.se.com/ww/en/assets/564/media/44518/560/87591358-490x280.jpg</a>&nbsp;&nbsp;
                                                      </div>
                                                      <a href="https://realtynxt.com/wp-content/uploads/2018/05/489.jpg" target="_blank">https://realtynxt.com/wp-content/uploads/2018/05/489.jpg</a>&nbsp;&nbsp;
                                                   </div>
                                                </div>
                                             </div>
                                          </div>
                                       </div>
                                       <div><br></div>
                                    </div>
                                 </div>
                              </div>
                           </div>
                        </div>
                     </div>
                  </div>
               </div>
               -- <br>
            </div>
         </div>
         <br clear="all">
         <div><br></div>
         -- <br>
      </div>
      </div>
      <br clear="all">
      <div><br></div>
      -- <br>
      <div dir="ltr" class="gmail_signature">
         <div dir="ltr">Thanks
         </div>
      </div>
      </div>
   </body>
</html>

1 Ответ

0 голосов
/ 14 апреля 2020

Полагаю, вы можете использовать функциональный разъем azure для его реализации. Я пишу локальную функцию и развертываю ее.

Ниже моя функция триггера http возвращает список URL.

        [FunctionName("Function1")]
        public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            string query = req.Query["html"];

            List<string> list = new List<string>();

            Regex regex = new Regex("(?:href|src)=[\"|']?(.*?)[\"|'|>]+", RegexOptions.Singleline | RegexOptions.CultureInvariant);
            if (regex.IsMatch(query))
            {
                foreach (Match match in regex.Matches(query))
                {
                    list.Add(match.Groups[1].Value);
                }
            }
            return new OkObjectResult(list);
        }

Ниже приведен мой поток приложений logi c, сохраните html в переменной и передайте его с параметром запроса.

enter image description here

Вот результат, предположим, что это то, что вам нужно.

enter image description here

...