2019-03-17 20:19:56 +01:00
// Copyright 2019 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
2018-06-19 15:30:26 +02:00
// Package searchconsole provides access to the Google Search Console URL Testing Tools API.
//
2019-03-17 20:19:56 +01:00
// For product documentation, see: https://developers.google.com/webmaster-tools/search-console-api/
//
// Creating a client
2018-06-19 15:30:26 +02:00
//
// Usage example:
//
// import "google.golang.org/api/searchconsole/v1"
// ...
2019-03-17 20:19:56 +01:00
// ctx := context.Background()
// searchconsoleService, err := searchconsole.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// searchconsoleService, err := searchconsole.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// searchconsoleService, err := searchconsole.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
2018-06-19 15:30:26 +02:00
package searchconsole // import "google.golang.org/api/searchconsole/v1"
import (
"bytes"
2019-03-17 20:19:56 +01:00
"context"
2018-06-19 15:30:26 +02:00
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
2019-03-17 20:19:56 +01:00
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
option "google.golang.org/api/option"
htransport "google.golang.org/api/transport/http"
2018-06-19 15:30:26 +02:00
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes . NewBuffer
var _ = strconv . Itoa
var _ = fmt . Sprintf
var _ = json . NewDecoder
var _ = io . Copy
var _ = url . Parse
var _ = gensupport . MarshalJSON
var _ = googleapi . Version
var _ = errors . New
var _ = strings . Replace
var _ = context . Canceled
const apiId = "searchconsole:v1"
const apiName = "searchconsole"
const apiVersion = "v1"
const basePath = "https://searchconsole.googleapis.com/"
2019-03-17 20:19:56 +01:00
// NewService creates a new Service.
func NewService ( ctx context . Context , opts ... option . ClientOption ) ( * Service , error ) {
client , endpoint , err := htransport . NewClient ( ctx , opts ... )
if err != nil {
return nil , err
}
s , err := New ( client )
if err != nil {
return nil , err
}
if endpoint != "" {
s . BasePath = endpoint
}
return s , nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
2018-06-19 15:30:26 +02:00
func New ( client * http . Client ) ( * Service , error ) {
if client == nil {
return nil , errors . New ( "client is nil" )
}
s := & Service { client : client , BasePath : basePath }
s . UrlTestingTools = NewUrlTestingToolsService ( s )
return s , nil
}
type Service struct {
client * http . Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
UrlTestingTools * UrlTestingToolsService
}
func ( s * Service ) userAgent ( ) string {
if s . UserAgent == "" {
return googleapi . UserAgent
}
return googleapi . UserAgent + " " + s . UserAgent
}
func NewUrlTestingToolsService ( s * Service ) * UrlTestingToolsService {
rs := & UrlTestingToolsService { s : s }
rs . MobileFriendlyTest = NewUrlTestingToolsMobileFriendlyTestService ( s )
return rs
}
type UrlTestingToolsService struct {
s * Service
MobileFriendlyTest * UrlTestingToolsMobileFriendlyTestService
}
func NewUrlTestingToolsMobileFriendlyTestService ( s * Service ) * UrlTestingToolsMobileFriendlyTestService {
rs := & UrlTestingToolsMobileFriendlyTestService { s : s }
return rs
}
type UrlTestingToolsMobileFriendlyTestService struct {
s * Service
}
// BlockedResource: Blocked resource.
type BlockedResource struct {
// Url: URL of the blocked resource.
Url string ` json:"url,omitempty" `
// ForceSendFields is a list of field names (e.g. "Url") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Url") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * BlockedResource ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod BlockedResource
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// Image: Describe image data.
type Image struct {
// Data: Image data in format determined by the mime type. Currently,
// the format
// will always be "image/png", but this might change in the future.
Data string ` json:"data,omitempty" `
// MimeType: The mime-type of the image data.
MimeType string ` json:"mimeType,omitempty" `
// ForceSendFields is a list of field names (e.g. "Data") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Data") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * Image ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod Image
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// MobileFriendlyIssue: Mobile-friendly issue.
type MobileFriendlyIssue struct {
// Rule: Rule violated.
//
// Possible values:
// "MOBILE_FRIENDLY_RULE_UNSPECIFIED" - Unknown rule. Sorry, we don't
// have any description for the rule that was
// broken.
// "USES_INCOMPATIBLE_PLUGINS" - Plugins incompatible with mobile
// devices are being used. [Learn
// more]
// (https://support.google.com/webmasters/answer/6352293#flash_usag
// e).
// "CONFIGURE_VIEWPORT" - Viewsport is not specified using the meta
// viewport tag. [Learn
// more]
// (https://support.google.com/webmasters/answer/6352293#viewport_n
// ot_configured).
// "FIXED_WIDTH_VIEWPORT" - Viewport defined to a fixed width. [Learn
// more]
// (https://support.google.com/webmasters/answer/6352293#fixed-widt
// h_viewport).
// "SIZE_CONTENT_TO_VIEWPORT" - Content not sized to viewport. [Learn
// more]
// (https://support.google.com/webmasters/answer/6352293#content_no
// t_sized_to_viewport).
// "USE_LEGIBLE_FONT_SIZES" - Font size is too small for easy reading
// on a small screen. [Learn
// More]
// (https://support.google.com/webmasters/answer/6352293#small_font
// _size).
// "TAP_TARGETS_TOO_CLOSE" - Touch elements are too close to each
// other. [Learn
// more]
// (https://support.google.com/webmasters/answer/6352293#touch_elem
// ents_too_close).
Rule string ` json:"rule,omitempty" `
// ForceSendFields is a list of field names (e.g. "Rule") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Rule") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * MobileFriendlyIssue ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod MobileFriendlyIssue
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// ResourceIssue: Information about a resource with issue.
type ResourceIssue struct {
// BlockedResource: Describes a blocked resource issue.
BlockedResource * BlockedResource ` json:"blockedResource,omitempty" `
// ForceSendFields is a list of field names (e.g. "BlockedResource") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "BlockedResource") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields [ ] string ` json:"-" `
}
func ( s * ResourceIssue ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod ResourceIssue
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RunMobileFriendlyTestRequest: Mobile-friendly test request.
type RunMobileFriendlyTestRequest struct {
// RequestScreenshot: Whether or not screenshot is requested. Default is
// false.
RequestScreenshot bool ` json:"requestScreenshot,omitempty" `
// Url: URL for inspection.
Url string ` json:"url,omitempty" `
// ForceSendFields is a list of field names (e.g. "RequestScreenshot")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "RequestScreenshot") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RunMobileFriendlyTestRequest ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RunMobileFriendlyTestRequest
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// RunMobileFriendlyTestResponse: Mobile-friendly test response,
// including mobile-friendly issues and resource
// issues.
type RunMobileFriendlyTestResponse struct {
// MobileFriendliness: Test verdict, whether the page is mobile friendly
// or not.
//
// Possible values:
// "MOBILE_FRIENDLY_TEST_RESULT_UNSPECIFIED" - Internal error when
// running this test. Please try running the test again.
// "MOBILE_FRIENDLY" - The page is mobile friendly.
// "NOT_MOBILE_FRIENDLY" - The page is not mobile friendly.
MobileFriendliness string ` json:"mobileFriendliness,omitempty" `
// MobileFriendlyIssues: List of mobile-usability issues.
MobileFriendlyIssues [ ] * MobileFriendlyIssue ` json:"mobileFriendlyIssues,omitempty" `
// ResourceIssues: Information about embedded resources issues.
ResourceIssues [ ] * ResourceIssue ` json:"resourceIssues,omitempty" `
// Screenshot: Screenshot of the requested URL.
Screenshot * Image ` json:"screenshot,omitempty" `
// TestStatus: Final state of the test, can be either complete or an
// error.
TestStatus * TestStatus ` json:"testStatus,omitempty" `
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi . ServerResponse ` json:"-" `
// ForceSendFields is a list of field names (e.g. "MobileFriendliness")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "MobileFriendliness") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields [ ] string ` json:"-" `
}
func ( s * RunMobileFriendlyTestResponse ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod RunMobileFriendlyTestResponse
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// TestStatus: Final state of the test, including error details if
// necessary.
type TestStatus struct {
// Details: Error details if applicable.
Details string ` json:"details,omitempty" `
// Status: Status of the test.
//
// Possible values:
// "TEST_STATUS_UNSPECIFIED" - Internal error when running this test.
// Please try running the test again.
// "COMPLETE" - Inspection has completed without errors.
// "INTERNAL_ERROR" - Inspection terminated in an error state. This
// indicates a problem in
// Google's infrastructure, not a user error. Please try again later.
// "PAGE_UNREACHABLE" - Google can not access the URL because of a
// user error such as a robots.txt
// blockage, a 403 or 500 code etc. Please make sure that the URL
// provided is
// accessible by Googlebot and is not password protected.
Status string ` json:"status,omitempty" `
// ForceSendFields is a list of field names (e.g. "Details") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields [ ] string ` json:"-" `
// NullFields is a list of field names (e.g. "Details") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields [ ] string ` json:"-" `
}
func ( s * TestStatus ) MarshalJSON ( ) ( [ ] byte , error ) {
type NoMethod TestStatus
raw := NoMethod ( * s )
return gensupport . MarshalJSON ( raw , s . ForceSendFields , s . NullFields )
}
// method id "searchconsole.urlTestingTools.mobileFriendlyTest.run":
type UrlTestingToolsMobileFriendlyTestRunCall struct {
s * Service
runmobilefriendlytestrequest * RunMobileFriendlyTestRequest
urlParams_ gensupport . URLParams
ctx_ context . Context
header_ http . Header
}
// Run: Runs Mobile-Friendly Test for a given URL.
func ( r * UrlTestingToolsMobileFriendlyTestService ) Run ( runmobilefriendlytestrequest * RunMobileFriendlyTestRequest ) * UrlTestingToolsMobileFriendlyTestRunCall {
c := & UrlTestingToolsMobileFriendlyTestRunCall { s : r . s , urlParams_ : make ( gensupport . URLParams ) }
c . runmobilefriendlytestrequest = runmobilefriendlytestrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func ( c * UrlTestingToolsMobileFriendlyTestRunCall ) Fields ( s ... googleapi . Field ) * UrlTestingToolsMobileFriendlyTestRunCall {
c . urlParams_ . Set ( "fields" , googleapi . CombineFields ( s ) )
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func ( c * UrlTestingToolsMobileFriendlyTestRunCall ) Context ( ctx context . Context ) * UrlTestingToolsMobileFriendlyTestRunCall {
c . ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func ( c * UrlTestingToolsMobileFriendlyTestRunCall ) Header ( ) http . Header {
if c . header_ == nil {
c . header_ = make ( http . Header )
}
return c . header_
}
func ( c * UrlTestingToolsMobileFriendlyTestRunCall ) doRequest ( alt string ) ( * http . Response , error ) {
reqHeaders := make ( http . Header )
for k , v := range c . header_ {
reqHeaders [ k ] = v
}
reqHeaders . Set ( "User-Agent" , c . s . userAgent ( ) )
var body io . Reader = nil
body , err := googleapi . WithoutDataWrapper . JSONReader ( c . runmobilefriendlytestrequest )
if err != nil {
return nil , err
}
reqHeaders . Set ( "Content-Type" , "application/json" )
c . urlParams_ . Set ( "alt" , alt )
2019-03-17 20:19:56 +01:00
c . urlParams_ . Set ( "prettyPrint" , "false" )
2018-06-19 15:30:26 +02:00
urls := googleapi . ResolveRelative ( c . s . BasePath , "v1/urlTestingTools/mobileFriendlyTest:run" )
urls += "?" + c . urlParams_ . Encode ( )
2019-03-17 20:19:56 +01:00
req , err := http . NewRequest ( "POST" , urls , body )
if err != nil {
return nil , err
}
2018-06-19 15:30:26 +02:00
req . Header = reqHeaders
return gensupport . SendRequest ( c . ctx_ , c . s . client , req )
}
// Do executes the "searchconsole.urlTestingTools.mobileFriendlyTest.run" call.
// Exactly one of *RunMobileFriendlyTestResponse or error will be
// non-nil. Any non-2xx status code is an error. Response headers are in
// either *RunMobileFriendlyTestResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func ( c * UrlTestingToolsMobileFriendlyTestRunCall ) Do ( opts ... googleapi . CallOption ) ( * RunMobileFriendlyTestResponse , error ) {
gensupport . SetOptions ( c . urlParams_ , opts ... )
res , err := c . doRequest ( "json" )
if res != nil && res . StatusCode == http . StatusNotModified {
if res . Body != nil {
res . Body . Close ( )
}
return nil , & googleapi . Error {
Code : res . StatusCode ,
Header : res . Header ,
}
}
if err != nil {
return nil , err
}
defer googleapi . CloseBody ( res )
if err := googleapi . CheckResponse ( res ) ; err != nil {
return nil , err
}
ret := & RunMobileFriendlyTestResponse {
ServerResponse : googleapi . ServerResponse {
Header : res . Header ,
HTTPStatusCode : res . StatusCode ,
} ,
}
target := & ret
if err := gensupport . DecodeResponse ( target , res ) ; err != nil {
return nil , err
}
return ret , nil
// {
// "description": "Runs Mobile-Friendly Test for a given URL.",
// "flatPath": "v1/urlTestingTools/mobileFriendlyTest:run",
// "httpMethod": "POST",
// "id": "searchconsole.urlTestingTools.mobileFriendlyTest.run",
// "parameterOrder": [],
// "parameters": {},
// "path": "v1/urlTestingTools/mobileFriendlyTest:run",
// "request": {
// "$ref": "RunMobileFriendlyTestRequest"
// },
// "response": {
// "$ref": "RunMobileFriendlyTestResponse"
// }
// }
}