Google 安全浏览 API 使用 C# 的 v4 实现 returns 空响应

Google Safe Browsing API v4 implementation with C# returns null response

我正在尝试 lookup/scan 使用 Google 安全浏览 API v4 的 URL 状态,我尝试了我在此 link [=15] 中找到的方法=],但我收到一个空响应。

代码如下:

private async void checkUrlBtn_Click(object sender, EventArgs e)
{
    var service = new SafebrowsingService(new BaseClientService.Initializer
    {
        ApplicationName = "dotnet-client",
        ApiKey = "MY_API"
    });

    var request = service.ThreatMatches.Find(new FindThreatMatchesRequest()
    {
        Client = new ClientInfo
        {
            ClientId = "Dotnet-client",
            ClientVersion = "1.5.2"
        },
        ThreatInfo = new ThreatInfo()
        {
            ThreatTypes = new List<string> { "SOCIAL_ENGINEERING" },
            PlatformTypes = new List<string> { "PLATFORM_TYPE_UNSPECIFIED" },
            ThreatEntryTypes = new List<string> { "URL" },
            ThreatEntries = new List<ThreatEntry>
            {
                new ThreatEntry
                {
                    Url = "https://someurlIGotFromPhishtank.com"
                }
            }
        }
    });
    var response = await request.ExecuteAsync();
    string json = JsonConvert.SerializeObject(response);
    string jsonFormatted = JToken.Parse(json).ToString(Formatting.Indented);
    Console.WriteLine(jsonFormatted);
}   

我的回复:

{
  "matches": null,
  "ETag": null
}

在这一点上,我觉得我做错了什么,我需要帮助!!!

首先,我觉得有必要指出您刚刚在 public 论坛上发布了您的 private Google API 密钥。您需要在阅读此回复后立即去撤销此 API 密钥。

其次,您应该知道,仅仅因为您从表明它是恶意 URL 的来源获得 URL,并不意味着 Google 安全浏览将在fact return 是恶意的响应。因此,您那里的空响应可能只是表明 Google 安全浏览确实没有匹配 URL。

最后,如果我没记错的话(但我需要仔细检查才能确定),您在发出请求时不能为平台类型指定 PLATFORM_TYPE_UNSPECIFIED。您需要在请求中指定一种或多种特定平台类型。也许试试看?