Hooky17
Hooky17

Reputation: 47

Google PageSpeed API dotnet .net

I have set up a basic C# application to run a PageSpeed test on a website that I specify using the Google.Apis.Pagespeedonline.v2 nuget package.

The set up is simple enough and I have a variable that I can specify the url which is then past in to the Service

        // Create the service.
        var service = new PagespeedonlineService(new BaseClientService.Initializer
        {
            ApplicationName = "PageSpeed Sample",
            ApiKey = "[API_KEY_HERE]"
        });

        var url = "URL_TO_TEST";

        // Run the request.          
        var result = await service.Pagespeedapi.Runpagespeed(url).ExecuteAsync();

The problem being the .Runpagespeed method ONLY accepts URL. I need to be able to specify, at minimum, the 'Mobile' strategy so I can obtain scores for both Desktop and Mobile. I know this is possible in other libraries but seems to be missing in .NET. Is anybody aware of a way to do this using the .NET library? In the reference documentation it implies that the method accepts further optional parameters but it does not in the code.

Upvotes: 4

Views: 1469

Answers (1)

Linda Lawton - DaImTo
Linda Lawton - DaImTo

Reputation: 117096

Pagespeedapi: runpagespeed has an optional value called strategy

strategy string The analysis strategy to use

Acceptable values are:
"desktop": Fetch and analyze the URL for desktop browsers
"mobile": Fetch and analyze the URL for mobile devices

Example:

 var request = service.Pagespeedapi.Runpagespeed(url);
 request.Strategy = Google.Apis.Pagespeedonline.v2.PagespeedapiResource.RunpagespeedRequest.StrategyEnum.Mobile;
 var results = request.Execute();

Upvotes: 9

Related Questions