|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492 |
- // Package searchconsole provides access to the Google Search Console URL Testing Tools API.
- //
- // See https://developers.google.com/webmaster-tools/search-console-api/
- //
- // Usage example:
- //
- // import "google.golang.org/api/searchconsole/v1"
- // ...
- // searchconsoleService, err := searchconsole.New(oauthHttpClient)
- package searchconsole // import "google.golang.org/api/searchconsole/v1"
-
- import (
- "bytes"
- "encoding/json"
- "errors"
- "fmt"
- context "golang.org/x/net/context"
- ctxhttp "golang.org/x/net/context/ctxhttp"
- gensupport "google.golang.org/api/gensupport"
- googleapi "google.golang.org/api/googleapi"
- "io"
- "net/http"
- "net/url"
- "strconv"
- "strings"
- )
-
- // 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
- var _ = ctxhttp.Do
-
- const apiId = "searchconsole:v1"
- const apiName = "searchconsole"
- const apiVersion = "v1"
- const basePath = "https://searchconsole.googleapis.com/"
-
- 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)
- urls := googleapi.ResolveRelative(c.s.BasePath, "v1/urlTestingTools/mobileFriendlyTest:run")
- urls += "?" + c.urlParams_.Encode()
- req, _ := http.NewRequest("POST", urls, body)
- 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"
- // }
- // }
-
- }
|