从 Facebook Marketing 中检索原始大小的图像 API

Retrieving original size image from Facebook Marketing API

所以,我正在使用 Facebook 的营销 API 来提取一些广告数据。数据包含一些图像 Urls.

例如:

https://fbcdn-creative-a.akamaihd.net/hads-ak-xaf1/t45.1600-4/s110x80/10156615_6017073002888_1171145694_n.png

即缩略图大小,这不是我的要求。通过删除实际上是维度的 "s110x80" 修改 url 之后,我得到了我需要的东西。

所以,问题就像如何在 c# 中处理这种情况,我们没有必要在每个请求上都得到 "sXxY"。

Url 可能是

https://fbcdn-creative-a.akamaihd.net/hads-ak-xpf1/t45.1600-4/10550663_6020611914088_842271416_n.png 没有任何维度

Attempts:
  1. 我考虑过使用 Regex,但不确定它是否有效。因为没有固定的模式
  2. 使用 URI 删除倒数第二个元素,但对于没有任何维度的 url 它将失败。

为了这个,我创造了fiddle,如果你们想试试 https://dotnetfiddle.net/Kn2B8H

https://dotnetfiddle.net/bQcgZN

using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
        string url1 = "https://fbcdn-creative-a.akamaihd.net/hads-ak-xaf1/t45.1600-4/s110x80/10156615_6017073002888_1171145694_n.png";
        string url2 = "https://fbcdn-creative-a.akamaihd.net/hads-ak-xaf1/t45.1600-4/10156615_6017073002888_1171145694_n.png";

        Regex reg = new Regex("s\d+x\d+/");

        Console.WriteLine(reg.Replace(url1, ""));
        Console.WriteLine(reg.Replace(url2, ""));
    }
}