#lang scribble/manual @(require planet/scribble (for-label racket)) @title{Page Speed Online API v1} @margin-note{This documentation has been automatically generated using information supplied by the Google API Discovery service.} Lets you analyze the performance of a web page and get tailored suggestions to make that page faster. @hyperlink["https://developers.google.com/speed/docs/insights/v1/getting_started" "Google documentation."] @table-of-contents{} @defmodule[gapi/macro] @racket[(require-gapi-doc "pagespeedonline.v1.js")] @section{API Parameters} The following optional keyword arguments may be passed to @italic{all} functions for this web service: @defproc[(_ [#:alt alt string? 'N/A] [#:fields fields string? 'N/A] [#:key key string? (api-key)] [#:oauth_token oauth_token string? 'N/A] [#:prettyPrint prettyPrint string? 'N/A] [#:quotaUser quotaUser string? 'N/A] [#:userIp userIp string? 'N/A] ) jsexpr?]{ @margin-note{This is not actually a function. This is just using Scribble's defproc form to list the optional keyword arguments that may be passed to @italic{all} functions for this service.} @racket[alt]: Data format for the response. @racket[fields]: Selector specifying which fields to include in a partial response. @racket[key]: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. @racket[oauth_token]: OAuth 2.0 token for the current user. @racket[prettyPrint]: Returns response with indentations and line breaks. @racket[quotaUser]: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided. @racket[userIp]: IP address of the site where the request originates. Use this if you want to enforce per-user limits. } @section{Resources} @subsection{pagespeedapi} @defproc[(pagespeedonline-pagespeedapi-runpagespeed [#:url url string?] [#:locale locale string? 'N/A] [#:rule rule string? 'N/A] [#:strategy strategy string? 'N/A] [#:alt alt string? 'N/A] [#:fields fields string? 'N/A] [#:key key string? (api-key)] [#:oauth_token oauth_token string? 'N/A] [#:prettyPrint prettyPrint string? 'N/A] [#:quotaUser quotaUser string? 'N/A] [#:userIp userIp string? 'N/A] ) jsexpr?]{ Runs Page Speed analysis on the page at the specified URL, and returns a Page Speed score, a list of suggestions to make that page faster, and other information. @racket[url]: The URL to fetch and analyze @racket[locale]: The locale used to localize formatted results @racket[rule]: A Page Speed rule to run; if none are given, all rules are run @racket[strategy]: The analysis strategy to use }