首页 > 解决方案 > 在 Google.Apis.Pagespeedonline.v5 中,如何一次调用所有类别?

问题描述

我正在使用Google.Apis.Pagespeedonline.v5(nuget)在我的网站上执行分析。

通过直接从 API Explorer 站点执行分析,您可以对所有五个类别执行测试。

https://developers.google.com/speed/docs/insights/v5/reference/pagespeedapi/runpagespeed

但是,使用 dotnet api,category 参数只接受一个 CategoryEnum,因此,我每次请求只能获得一个类别的结果。

我想知道是否可以在一个请求中获取所有类别

var initializer = new Initializer()
{
     ApiKey = "XXXXXXXXXXXXXXX",
     BaseUri = "https://www.googleapis.com/pagespeedonline/v5/runPagespeed",
     GZipEnabled = true
};

var service = new PagespeedonlineService(initializer);

var request = new RunpagespeedRequest(service, "https://www.google.com");

request.Category = CategoryEnum.Accessibility;
request.Locale = "pt";
request.Strategy = StrategyEnum.Desktop;

var response = request.Execute();

标签: c#google-api-dotnet-client

解决方案


好吧,你可以这样做:

GET https://pagespeedonline.googleapis.com/pagespeedonline/v5/runPagespeed?category=ACCESSIBILITY&category=PERFORMANCE&locale=pt&strategy=DESKTOP&url=https%3A%2F%2Fwww.google.com%2F&prettyPrint=true&key=[YOUR_API_KEY] HTTP/1.1

但在您的情况下,也许您可​​以将基本 URL 更改为如下所示:

BaseUri = "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?category=ACCESSIBILITY&category=PERFORMANCE"

试试这个方法


推荐阅读