Update dependencies, enable pruning for vendor/

So, `dep` got an nice new feature to remove tests and non-go files from
`vendor/`, and this brings the size of the vendor directory from ~300MiB
down to ~20MiB. We don that now.
This commit is contained in:
Alexander Neumann 2018-08-01 19:43:44 +02:00
parent 3422c1ca83
commit bff635bc5f
6741 changed files with 26942 additions and 4902033 deletions

View file

@ -1,12 +0,0 @@
_obj/
*_testmain.go
clientid.dat
clientsecret.dat
/google-api-go-generator/google-api-go-generator
*.6
*.8
*~
*.out
*.test
*.exe

View file

@ -1 +0,0 @@
b571b553f8c057cb6952ce817dfb09b6e34a8c0b release

View file

@ -1,18 +0,0 @@
sudo: false
language: go
go:
- 1.6.x
- 1.7.x
- 1.8.x
- 1.9.x
before_install:
- openssl aes-256-cbc -K $encrypted_6c6ebd86ce52_key -iv $encrypted_6c6ebd86ce52_iv -in key.json.enc -out key.json -d
install:
- go get -v -t -p 1 google.golang.org/api/...
script:
- GCLOUD_TESTS_GOLANG_PROJECT_ID="dulcet-port-762" GCLOUD_TESTS_GOLANG_DESTRUCTIVE_TEST_BUCKET_NAME="dulcet-port-762-api-go-client-storage-integration-test" GCLOUD_TESTS_GOLANG_KEY="$(pwd)/key.json" go test -v -tags=integration google.golang.org/api/...

View file

@ -1,484 +0,0 @@
# Contributing to the Google API Go Client
## Master git repo
Our master git repo is https://code.googlesource.com/google-api-go-client
## Pull Requests
We do **NOT** use Github pull requests. We use Gerrit instead
with the same workflow as Go. See below.
## The source tree
Most of this project is auto-generated.
The notable directories which are not auto-generated:
```
google-api-go-generator/ -- the generator itself
googleapi/ -- shared common code, used by auto-generated code
examples/ -- sample code
```
# Contribution Guidelines
## Introduction
This document explains how to contribute changes to the google-api-go-client project.
## Testing redux
You've written and tested your code, but
before sending code out for review, run all the tests for the whole
tree to make sure the changes don't break other packages or programs:
```
$ make cached
$ go test ./...
...
ok google.golang.org/api/google-api-go-generator 0.226s
ok google.golang.org/api/googleapi 0.015s
...
```
Ideally, you will add unit tests to one of the above directories to
demonstrate the changes you are making and include the tests with your
code review.
## Code review
Changes to google-api-go-client must be reviewed before they are submitted,
no matter who makes the change.
A custom git command called `git-codereview`,
discussed below, helps manage the code review process through a Google-hosted
[instance](https://code-review.googlesource.com/) of the code review
system called [Gerrit](https://code.google.com/p/gerrit/).
### Set up authentication for code review
The Git code hosting server and Gerrit code review server both use a Google
Account to authenticate. You therefore need a Google Account to proceed.
(If you can use the account to
[sign in at google.com](https://www.google.com/accounts/Login),
you can use it to sign in to the code review server.)
The email address you use with the code review system
needs to be added to the [`CONTRIBUTORS`](/CONTRIBUTORS) file
with your first code review.
You can [create a Google Account](https://www.google.com/accounts/NewAccount)
associated with any address where you receive email.
Visit the site [code.googlesource.com](https://code.googlesource.com)
and log in using your Google Account.
Click on the "Generate Password" link that appears at the top of the page.
Click the radio button that says "Only `code.googlesource.com`"
to use this authentication token only for the google-api-go-client project.
Further down the page is a box containing commands to install
the authentication cookie in file called `.gitcookies` in your home
directory.
Copy the text for the commands into a Unix shell window to execute it.
That will install the authentication token.
(If you are on a Windows computer, you should instead follow the instructions
in the yellow box to run the command.)
### Register with Gerrit
Now that you have a Google account and the authentication token,
you need to register your account with Gerrit, the code review system.
To do this, visit [golang.org/cl](https://golang.org/cl)
and log in using the same Google Account you used above.
That is all that is required.
### Install the git-codereview command
Now install the `git-codereview` command by running,
```
go get -u golang.org/x/review/git-codereview
```
Make sure `git-codereview` is installed in your shell path, so that the
`git` command can find it. Check that
```
$ git codereview help
```
prints help text, not an error.
Note to Git aficionados: The `git-codereview` command is not required to
upload and manage Gerrit code reviews. For those who prefer plain Git, the text
below gives the Git equivalent of each git-codereview command. If you do use plain
Git, note that you still need the commit hooks that the git-codereview command
configures; those hooks add a Gerrit `Change-Id` line to the commit
message and check that all Go source files have been formatted with gofmt. Even
if you intend to use plain Git for daily work, install the hooks in a new Git
checkout by running `git-codereview hooks`.
### Set up git aliases
The `git-codereview` command can be run directly from the shell
by typing, for instance,
```
$ git codereview sync
```
but it is more convenient to set up aliases for `git-codereview`'s own
subcommands, so that the above becomes,
```
$ git sync
```
The `git-codereview` subcommands have been chosen to be distinct from
Git's own, so it's safe to do so.
The aliases are optional, but in the rest of this document we will assume
they are installed.
To install them, copy this text into your Git configuration file
(usually `.gitconfig` in your home directory):
```
[alias]
change = codereview change
gofmt = codereview gofmt
mail = codereview mail
pending = codereview pending
submit = codereview submit
sync = codereview sync
```
### Understanding the git-codereview command
After installing the `git-codereview` command, you can run
```
$ git codereview help
```
to learn more about its commands.
You can also read the [command documentation](https://godoc.org/golang.org/x/review/git-codereview).
### Switch to the master branch
New changes should
only be made based on the master branch.
Before making a change, make sure you start on the master branch:
```
$ git checkout master
$ git sync
````
(In Git terms, `git sync` runs
`git pull -r`.)
### Make a change
The entire checked-out tree is writable.
Once you have edited files, you must tell Git that they have been modified.
You must also tell Git about any files that are added, removed, or renamed files.
These operations are done with the usual Git commands,
`git add`,
`git rm`,
and
`git mv`.
If you wish to checkpoint your work, or are ready to send the code out for review, run
```
$ git change <branch>
```
from any directory in your google-api-go-client repository to commit the changes so far.
The name `<branch>` is an arbitrary one you choose to identify the
local branch containing your changes.
(In Git terms, `git change <branch>`
runs `git checkout -b branch`,
then `git branch --set-upstream-to origin/master`,
then `git commit`.)
Git will open a change description file in your editor.
(It uses the editor named by the `$EDITOR` environment variable,
`vi` by default.)
The file will look like:
```
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch foo
# Changes not staged for commit:
# modified: editedfile.go
#
```
At the beginning of this file is a blank line; replace it
with a thorough description of your change.
The first line of the change description is conventionally a one-line
summary of the change, prefixed by `google-api-go-client:`,
and is used as the subject for code review mail.
The rest of the
description elaborates and should provide context for the
change and explain what it does.
If there is a helpful reference, mention it here.
After editing, the template might now read:
```
math: improved Sin, Cos and Tan precision for very large arguments
The existing implementation has poor numerical properties for
large arguments, so use the McGillicutty algorithm to improve
accuracy above 1e10.
The algorithm is described at http://wikipedia.org/wiki/McGillicutty_Algorithm
Fixes #54
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch foo
# Changes not staged for commit:
# modified: editedfile.go
#
```
The commented section of the file lists all the modified files in your client.
It is best to keep unrelated changes in different change lists,
so if you see a file listed that should not be included, abort
the command and move that file to a different branch.
The special notation "Fixes #54" associates the change with issue 54 in the
[google-api-go-client issue tracker](https://github.com/google/google-api-go-client/issues/54).
When this change is eventually submitted, the issue
tracker will automatically mark the issue as fixed.
(There are several such conventions, described in detail in the
[GitHub Issue Tracker documentation](https://help.github.com/articles/closing-issues-via-commit-messages/).)
Once you have finished writing the commit message,
save the file and exit the editor.
If you wish to do more editing, re-stage your changes using
`git add`, and then run
```
$ git change
```
to update the change description and incorporate the staged changes. The
change description contains a `Change-Id` line near the bottom,
added by a Git commit hook during the initial
`git change`.
That line is used by Gerrit to match successive uploads of the same change.
Do not edit or delete it.
(In Git terms, `git change` with no branch name
runs `git commit --amend`.)
### Mail the change for review
Once the change is ready, mail it out for review:
```
$ git mail
```
You can specify a reviewer or CC interested parties
using the `-r` or `-cc` options.
Both accept a comma-separated list of email addresses:
```
$ git mail -r joe@golang.org -cc mabel@example.com,math-nuts@swtch.com
```
Unless explicitly told otherwise, such as in the discussion leading
up to sending in the change list, please specify
`bradfitz@golang.org`, `gmlewis@google.com`, or
`mcgreevy@golang.org` as a reviewer.
(In Git terms, `git mail` pushes the local committed
changes to Gerrit using `git push origin HEAD:refs/for/master`.)
If your change relates to an open issue, please add a comment to the issue
announcing your proposed fix, including a link to your CL.
The code review server assigns your change an issue number and URL,
which `git mail` will print, something like:
```
remote: New Changes:
remote: https://code-review.googlesource.com/99999 math: improved Sin, Cos and Tan precision for very large arguments
```
### Reviewing code
Running `git mail` will send an email to you and the
reviewers asking them to visit the issue's URL and make comments on the change.
When done, the reviewer adds comments through the Gerrit user interface
and clicks "Reply" to send comments back.
You will receive a mail notification when this happens.
You must reply through the web interface.
### Revise and upload
You must respond to review comments through the web interface.
When you have revised the code and are ready for another round of review,
stage those changes and use `git change` to update the
commit.
To send the update change list for another round of review,
run `git mail` again.
The reviewer can comment on the new copy, and the process repeats.
The reviewer approves the change by giving it a positive score
(+1 or +2) and replying `LGTM`: looks good to me.
You can see a list of your pending changes by running
`git pending`, and switch between change branches with
`git change <branch>`.
### Synchronize your client
While you were working, others might have submitted changes to the repository.
To update your local branch, run
```
$ git sync
```
(In git terms, `git sync` runs
`git pull -r`.)
If files you were editing have changed, Git does its best to merge the
remote changes into your local changes.
It may leave some files to merge by hand.
For example, suppose you have edited `sin.go` but
someone else has committed an independent change.
When you run `git sync`,
you will get the (scary-looking) output:
```
$ git sync
Failed to merge in the changes.
Patch failed at 0023 math: improved Sin, Cos and Tan precision for very large arguments
The copy of the patch that failed is found in:
/home/you/repo/.git/rebase-apply/patch
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
```
If this happens, run
```
$ git status
```
to see which files failed to merge.
The output will look something like this:
```
rebase in progress; onto a24c3eb
You are currently rebasing branch 'mcgillicutty' on 'a24c3eb'.
(fix conflicts and then run "git rebase --continue")
(use "git rebase --skip" to skip this patch)
(use "git rebase --abort" to check out the original branch)
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution)
_both modified: sin.go_
```
The only important part in that transcript is the italicized "both modified"
line: Git failed to merge your changes with the conflicting change.
When this happens, Git leaves both sets of edits in the file,
with conflicts marked by `<<<<<<<` and
`>>>>>>>`.
It is now your job to edit the file to combine them.
Continuing the example, searching for those strings in `sin.go`
might turn up:
```
arg = scale(arg)
<<<<<<< HEAD
if arg > 1e9 {
=======
if arg > 1e10 {
>>>>>>> mcgillicutty
largeReduce(arg)
```
Git doesn't show it, but suppose the original text that both edits
started with was 1e8; you changed it to 1e10 and the other change to 1e9,
so the correct answer might now be 1e10. First, edit the section
to remove the markers and leave the correct code:
```
arg = scale(arg)
if arg > 1e10 {
largeReduce(arg)
```
Then tell Git that the conflict is resolved by running
```
$ git add sin.go
```
If you had been editing the file, say for debugging, but do not
care to preserve your changes, you can run
`git reset HEAD sin.go`
to abandon your changes.
Then run `git rebase --continue` to
restore the change commit.
### Reviewing code by others
You can import a change proposed by someone else into your local Git repository.
On the Gerrit review page, click the "Download ▼" link in the upper right
corner, copy the "Checkout" command and run it from your local Git repo.
It should look something like this:
```
$ git fetch https://code.googlesource.com/review refs/changes/21/1221/1 && git checkout FETCH_HEAD
```
To revert, change back to the branch you were working in.
### Submit the change after the review
After the code has been `LGTM`'ed, an approver may
submit it to the master branch using the Gerrit UI.
There is a "Submit" button on the web page for the change
that appears once the change is approved (marked +2).
This checks the change into the repository.
The change description will include a link to the code review,
and the code review will be updated with a link to the change
in the repository.
Since the method used to integrate the changes is "Cherry Pick",
the commit hashes in the repository will be changed by
the submit operation.
### More information
In addition to the information here, the Go community maintains a [CodeReview](https://golang.org/wiki/CodeReview) wiki page.
Feel free to contribute to this page as you learn the review process.
## Contributors
Files in the google-api-go-client repository don't list author names,
both to avoid clutter and to avoid having to keep the lists up to date.
Instead, please add your name to the [`CONTRIBUTORS`](/CONTRIBUTORS)
file as your first code review, keeping the names in sorted order.

View file

@ -48,6 +48,7 @@ Kunpei Sakai <namusyaka@gmail.com>
Matthew Whisenhunt <matt.whisenhunt@gmail.com>
Michael McGreevy <mcgreevy@golang.org>
Nick Craig-Wood <nickcw@gmail.com>
Robbie Trencheny <me@robbiet.us>
Ross Light <light@google.com>
Sarah Adams <shadams@google.com>
Scott Van Woudenberg <scottvw@google.com>

View file

@ -1,130 +0,0 @@
# Getting Started with the Google APIs for Go
## Getting Started
This is a quick walk-through of how to get started with the Google APIs for Go.
## Background
The first thing to understand is that the Google API libraries are auto-generated for
each language, including Go, so they may not feel like 100% natural for any language.
The Go versions are pretty natural, but please forgive any small non-idiomatic things.
(Suggestions welcome, though!)
## Installing
Pick an API and a version of that API to install.
You can find the complete list by looking at the
[directories here](https://github.com/google/google-api-go-client/tree/master/).
For example, let's install the
[urlshortener's version 1 API](https://godoc.org/google.golang.org/api/urlshortener/v1):
```
$ go get -u google.golang.org/api/urlshortener/v1
```
Now it's ready for use in your code.
## Using
Once you've installed a library, you import it like this:
```go
package main
import (
"golang.org/x/net/context"
"golang.org/x/oauth2"
"golang.org/x/oauth2/google"
"google.golang.org/api/urlshortener/v1"
)
```
The package name, if you don't override it on your import line, is the name of the
API without the version number. In the case above, just `urlshortener`.
## Instantiating
Each API has a `New` function taking an `*http.Client` and returning an API-specific `*Service`.
You create the service like:
```go
svc, err := urlshortener.New(httpClient)
```
## OAuth HTTP Client
The HTTP client you pass in to the service must be one that automatically adds
Google-supported Authorization information to the requests.
There are several ways to do authentication. They will all involve the package
[golang.org/x/oauth2](https://godoc.org/golang.org/x/oauth2) in some way.
### 3-legged OAuth
For 3-legged OAuth (your application redirecting a user through a website to get a
token giving your application access to that user's resources), you will need to
create an oauth2.Config,
```go
var config = &oauth2.Config{
ClientID: "", // from https://console.developers.google.com/project/<your-project-id>/apiui/credential
ClientSecret: "", // from https://console.developers.google.com/project/<your-project-id>/apiui/credential
Endpoint: google.Endpoint,
Scopes: []string{urlshortener.UrlshortenerScope},
}
```
... and then use the AuthCodeURL, Exchange, and Client methods on it.
For an example, see: https://godoc.org/golang.org/x/oauth2#example-Config
For the redirect URL, see
https://developers.google.com/identity/protocols/OAuth2InstalledApp#choosingredirecturi
### Service Accounts
To use a Google service account, or the GCE metadata service, see
the [golang.org/x/oauth2/google](https://godoc.org/golang.org/x/oauth2/google) package.
In particular, see [google.DefaultClient](https://godoc.org/golang.org/x/oauth2/google#DefaultClient).
### Using API Keys
Some APIs require passing API keys from your application.
To do this, you can use
[transport.APIKey](https://godoc.org/google.golang.org/api/googleapi/transport#APIKey):
```go
ctx := context.WithValue(context.Background(), oauth2.HTTPClient, &http.Client{
Transport: &transport.APIKey{Key: developerKey},
})
oauthConfig := &oauth2.Config{ .... }
var token *oauth2.Token = .... // via cache, or oauthConfig.Exchange
httpClient := oauthConfig.Client(ctx, token)
svc, err := urlshortener.New(httpClient)
...
```
## Using the Service
Each service contains zero or more methods and zero or more sub-services.
The sub-services related to a specific type of "Resource".
Those sub-services then contain their own methods.
For instance, the urlshortener API has just the "Url" sub-service:
```go
url, err := svc.Url.Get(shortURL).Do()
if err != nil {
...
}
fmt.Printf("The URL %s goes to %s\n", shortURL, url.LongUrl)
```
For a more complete example, see
[urlshortener.go](https://github.com/google/google-api-go-client/tree/master/examples/urlshortener.go)
in the [examples directory](https://github.com/google/google-api-go-client/tree/master/examples/).
(the examples use some functions in `main.go` in the same directory)

13
vendor/google.golang.org/api/NOTES generated vendored
View file

@ -1,13 +0,0 @@
Discovery Service:
https://developers.google.com/discovery/
https://developers.google.com/discovery/v1/reference/
The "type" key:
http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
The "format" key:
http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
https://developers.google.com/discovery/v1/type-format
Google JSON format docs:
http://google-styleguide.googlecode.com/svn/trunk/jsoncstyleguide.xml

View file

@ -1,108 +0,0 @@
# Google APIs Client Library for Go
## Getting Started
```
$ go get google.golang.org/api/tasks/v1
$ go get google.golang.org/api/moderator/v1
$ go get google.golang.org/api/urlshortener/v1
... etc ...
```
and using:
```go
package main
import (
"net/http"
"google.golang.org/api/urlshortener/v1"
)
func main() {
svc, err := urlshortener.New(http.DefaultClient)
// ...
}
```
* For a longer tutorial, see the [Getting Started guide](https://github.com/google/google-api-go-client/blob/master/GettingStarted.md).
* For examples, see the [examples directory](https://github.com/google/google-api-go-client/tree/master/examples).
* For support, use the [golang-nuts](https://groups.google.com/group/golang-nuts) mailing list.
## Status
[![Build Status](https://travis-ci.org/google/google-api-go-client.png)](https://travis-ci.org/google/google-api-go-client)
[![GoDoc](https://godoc.org/google.golang.org/api?status.svg)](https://godoc.org/google.golang.org/api)
These are auto-generated Go libraries from the Google Discovery Service's JSON description files of the available "new style" Google APIs.
Due to the auto-generated nature of this collection of libraries, complete APIs or specific versions can appear or go away without notice.
As a result, you should always locally vendor any API(s) that your code relies upon.
This client library is supported, but in maintenance mode only.
We are fixing necessary bugs and adding essential features to ensure this
library continues to meet your needs for accessing Google APIs.
Non-critical issues will be closed.
Any issue may be reopened if it is causing ongoing problems.
If you're working with Google Cloud Platform APIs such as Datastore or Pub/Sub,
consider using the
[Cloud Client Libraries for Go](https://github.com/GoogleCloudPlatform/google-cloud-go)
instead. These are the new and
idiomatic Go libraries targeted specifically at Google Cloud Platform Services.
The generator itself and the code it produces are beta. Some APIs are
alpha/beta, and indicated as such in the import path (e.g.,
"google.golang.org/api/someapi/v1alpha").
## Application Default Credentials Example
Application Default Credentials provide a simplified way to obtain credentials
for authenticating with Google APIs.
The Application Default Credentials authenticate as the application itself,
which make them great for working with Google Cloud APIs like Storage or
Datastore. They are the recommended form of authentication when building
applications that run on Google Compute Engine or Google App Engine.
Default credentials are provided by the `golang.org/x/oauth2/google` package. To use them, add the following import:
```go
import "golang.org/x/oauth2/google"
```
Some credentials types require you to specify scopes, and service entry points may not inject them. If you encounter this situation you may need to specify scopes as follows:
```go
import (
"golang.org/x/net/context"
"golang.org/x/oauth2/google"
"google.golang.org/api/compute/v1"
)
func main() {
// Use oauth2.NoContext if there isn't a good context to pass in.
ctx := context.Background()
client, err := google.DefaultClient(ctx, compute.ComputeScope)
if err != nil {
//...
}
computeService, err := compute.New(client)
if err != nil {
//...
}
}
```
If you need a `oauth2.TokenSource`, use the `DefaultTokenSource` function:
```go
ts, err := google.DefaultTokenSource(ctx, scope1, scope2, ...)
if err != nil {
//...
}
client := oauth2.NewClient(ctx, ts)
```
See also: [golang.org/x/oauth2/google](https://godoc.org/golang.org/x/oauth2/google) package documentation.

2
vendor/google.golang.org/api/TODO generated vendored
View file

@ -1,2 +0,0 @@
Moved to:
https://github.com/google/google-api-go-client/issues

View file

@ -1,250 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/xapi.zoo": {
"description": "Test scope for access to the Zoo service"
}
}
}
},
"basePath": "",
"baseUrl": "https://abusiveexperiencereport.googleapis.com/",
"batchPath": "batch",
"canonicalName": "Abusive Experience Report",
"description": "View Abusive Experience Report data, and get a list of sites that have a significant number of abusive experiences.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/abusive-experience-report/",
"fullyEncodeReservedExpansion": true,
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "abusiveexperiencereport:v1",
"kind": "discovery#restDescription",
"name": "abusiveexperiencereport",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"bearer_token": {
"description": "OAuth bearer token.",
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"pp": {
"default": "true",
"description": "Pretty-print response.",
"location": "query",
"type": "boolean"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"sites": {
"methods": {
"get": {
"description": "Gets a summary of the abusive experience rating of a site.",
"flatPath": "v1/sites/{sitesId}",
"httpMethod": "GET",
"id": "abusiveexperiencereport.sites.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The required site name. This is the site property whose abusive\nexperiences have been reviewed, and it must be URL-encoded. For example,\nsites/https%3A%2F%2Fwww.google.com. The server will return an error of\nBAD_REQUEST if this field is not filled in. Note that if the site property\nis not yet verified in Search Console, the reportUrl field\nreturned by the API will lead to the verification page, prompting the user\nto go through that process before they can gain access to the Abusive\nExperience Report.",
"location": "path",
"pattern": "^sites/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "SiteSummaryResponse"
},
"scopes": [
"https://www.googleapis.com/auth/xapi.zoo"
]
}
}
},
"violatingSites": {
"methods": {
"list": {
"description": "Lists sites with Abusive Experience Report statuses of \"Failing\".",
"flatPath": "v1/violatingSites",
"httpMethod": "GET",
"id": "abusiveexperiencereport.violatingSites.list",
"parameterOrder": [],
"parameters": {},
"path": "v1/violatingSites",
"response": {
"$ref": "ViolatingSitesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/xapi.zoo"
]
}
}
}
},
"revision": "20180129",
"rootUrl": "https://abusiveexperiencereport.googleapis.com/",
"schemas": {
"SiteSummaryResponse": {
"description": "Response message for GetSiteSummary.",
"id": "SiteSummaryResponse",
"properties": {
"abusiveStatus": {
"description": "The status of the site reviewed for the abusive experiences.",
"enum": [
"UNKNOWN",
"PASSING",
"FAILING"
],
"enumDescriptions": [
"Not reviewed.",
"Passing.",
"Failing."
],
"type": "string"
},
"enforcementTime": {
"description": "The date on which enforcement begins.",
"format": "google-datetime",
"type": "string"
},
"filterStatus": {
"description": "The abusive experience enforcement status of the site.",
"enum": [
"UNKNOWN",
"ON",
"OFF",
"PAUSED",
"PENDING"
],
"enumDescriptions": [
"N/A.",
"Ad filtering is on.",
"Ad filtering is off.",
"Ad filtering is paused.",
"Ad filtering is pending."
],
"type": "string"
},
"lastChangeTime": {
"description": "The last time that the site changed status.",
"format": "google-datetime",
"type": "string"
},
"reportUrl": {
"description": "A link that leads to a full abusive experience report.",
"type": "string"
},
"reviewedSite": {
"description": "The name of the site reviewed.",
"type": "string"
},
"underReview": {
"description": "Whether the site is currently under review.",
"type": "boolean"
}
},
"type": "object"
},
"ViolatingSitesResponse": {
"description": "Response message for ListViolatingSites.",
"id": "ViolatingSitesResponse",
"properties": {
"violatingSites": {
"description": "A list of summaries of violating sites.",
"items": {
"$ref": "SiteSummaryResponse"
},
"type": "array"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Google Abusive Experience Report API",
"version": "v1",
"version_module": true
}

View file

@ -1,457 +0,0 @@
// Package abusiveexperiencereport provides access to the Google Abusive Experience Report API.
//
// See https://developers.google.com/abusive-experience-report/
//
// Usage example:
//
// import "google.golang.org/api/abusiveexperiencereport/v1"
// ...
// abusiveexperiencereportService, err := abusiveexperiencereport.New(oauthHttpClient)
package abusiveexperiencereport // import "google.golang.org/api/abusiveexperiencereport/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 = "abusiveexperiencereport:v1"
const apiName = "abusiveexperiencereport"
const apiVersion = "v1"
const basePath = "https://abusiveexperiencereport.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// Test scope for access to the Zoo service
XapiZooScope = "https://www.googleapis.com/auth/xapi.zoo"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Sites = NewSitesService(s)
s.ViolatingSites = NewViolatingSitesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Sites *SitesService
ViolatingSites *ViolatingSitesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewSitesService(s *Service) *SitesService {
rs := &SitesService{s: s}
return rs
}
type SitesService struct {
s *Service
}
func NewViolatingSitesService(s *Service) *ViolatingSitesService {
rs := &ViolatingSitesService{s: s}
return rs
}
type ViolatingSitesService struct {
s *Service
}
// SiteSummaryResponse: Response message for GetSiteSummary.
type SiteSummaryResponse struct {
// AbusiveStatus: The status of the site reviewed for the abusive
// experiences.
//
// Possible values:
// "UNKNOWN" - Not reviewed.
// "PASSING" - Passing.
// "FAILING" - Failing.
AbusiveStatus string `json:"abusiveStatus,omitempty"`
// EnforcementTime: The date on which enforcement begins.
EnforcementTime string `json:"enforcementTime,omitempty"`
// FilterStatus: The abusive experience enforcement status of the site.
//
// Possible values:
// "UNKNOWN" - N/A.
// "ON" - Ad filtering is on.
// "OFF" - Ad filtering is off.
// "PAUSED" - Ad filtering is paused.
// "PENDING" - Ad filtering is pending.
FilterStatus string `json:"filterStatus,omitempty"`
// LastChangeTime: The last time that the site changed status.
LastChangeTime string `json:"lastChangeTime,omitempty"`
// ReportUrl: A link that leads to a full abusive experience report.
ReportUrl string `json:"reportUrl,omitempty"`
// ReviewedSite: The name of the site reviewed.
ReviewedSite string `json:"reviewedSite,omitempty"`
// UnderReview: Whether the site is currently under review.
UnderReview bool `json:"underReview,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AbusiveStatus") 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. "AbusiveStatus") 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 *SiteSummaryResponse) MarshalJSON() ([]byte, error) {
type NoMethod SiteSummaryResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ViolatingSitesResponse: Response message for ListViolatingSites.
type ViolatingSitesResponse struct {
// ViolatingSites: A list of summaries of violating sites.
ViolatingSites []*SiteSummaryResponse `json:"violatingSites,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ViolatingSites") 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. "ViolatingSites") 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 *ViolatingSitesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ViolatingSitesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "abusiveexperiencereport.sites.get":
type SitesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets a summary of the abusive experience rating of a site.
func (r *SitesService) Get(name string) *SitesGetCall {
c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
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 *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
c.ifNoneMatch_ = entityTag
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 *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
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 *SitesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SitesGetCall) 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())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "abusiveexperiencereport.sites.get" call.
// Exactly one of *SiteSummaryResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *SiteSummaryResponse.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 *SitesGetCall) Do(opts ...googleapi.CallOption) (*SiteSummaryResponse, 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 := &SiteSummaryResponse{
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": "Gets a summary of the abusive experience rating of a site.",
// "flatPath": "v1/sites/{sitesId}",
// "httpMethod": "GET",
// "id": "abusiveexperiencereport.sites.get",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "The required site name. This is the site property whose abusive\nexperiences have been reviewed, and it must be URL-encoded. For example,\nsites/https%3A%2F%2Fwww.google.com. The server will return an error of\nBAD_REQUEST if this field is not filled in. Note that if the site property\nis not yet verified in Search Console, the reportUrl field\nreturned by the API will lead to the verification page, prompting the user\nto go through that process before they can gain access to the Abusive\nExperience Report.",
// "location": "path",
// "pattern": "^sites/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "response": {
// "$ref": "SiteSummaryResponse"
// },
// "scopes": [
// "https://www.googleapis.com/auth/xapi.zoo"
// ]
// }
}
// method id "abusiveexperiencereport.violatingSites.list":
type ViolatingSitesListCall struct {
s *Service
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists sites with Abusive Experience Report statuses of
// "Failing".
func (r *ViolatingSitesService) List() *ViolatingSitesListCall {
c := &ViolatingSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
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 *ViolatingSitesListCall) Fields(s ...googleapi.Field) *ViolatingSitesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *ViolatingSitesListCall) IfNoneMatch(entityTag string) *ViolatingSitesListCall {
c.ifNoneMatch_ = entityTag
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 *ViolatingSitesListCall) Context(ctx context.Context) *ViolatingSitesListCall {
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 *ViolatingSitesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ViolatingSitesListCall) 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())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/violatingSites")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "abusiveexperiencereport.violatingSites.list" call.
// Exactly one of *ViolatingSitesResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *ViolatingSitesResponse.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 *ViolatingSitesListCall) Do(opts ...googleapi.CallOption) (*ViolatingSitesResponse, 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 := &ViolatingSitesResponse{
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": "Lists sites with Abusive Experience Report statuses of \"Failing\".",
// "flatPath": "v1/violatingSites",
// "httpMethod": "GET",
// "id": "abusiveexperiencereport.violatingSites.list",
// "parameterOrder": [],
// "parameters": {},
// "path": "v1/violatingSites",
// "response": {
// "$ref": "ViolatingSitesResponse"
// },
// "scopes": [
// "https://www.googleapis.com/auth/xapi.zoo"
// ]
// }
}

View file

@ -1,236 +0,0 @@
{
"basePath": "",
"baseUrl": "https://acceleratedmobilepageurl.googleapis.com/",
"batchPath": "batch",
"description": "Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a given list of public URL(s).\n",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/amp/cache/",
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "acceleratedmobilepageurl:v1",
"kind": "discovery#restDescription",
"name": "acceleratedmobilepageurl",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"bearer_token": {
"description": "OAuth bearer token.",
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"pp": {
"default": "true",
"description": "Pretty-print response.",
"location": "query",
"type": "boolean"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"ampUrls": {
"methods": {
"batchGet": {
"description": "Returns AMP URL(s) and equivalent\n[AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).",
"flatPath": "v1/ampUrls:batchGet",
"httpMethod": "POST",
"id": "acceleratedmobilepageurl.ampUrls.batchGet",
"parameterOrder": [],
"parameters": {},
"path": "v1/ampUrls:batchGet",
"request": {
"$ref": "BatchGetAmpUrlsRequest"
},
"response": {
"$ref": "BatchGetAmpUrlsResponse"
}
}
}
}
},
"revision": "20180203",
"rootUrl": "https://acceleratedmobilepageurl.googleapis.com/",
"schemas": {
"AmpUrl": {
"description": "AMP URL response for a requested URL.",
"id": "AmpUrl",
"properties": {
"ampUrl": {
"description": "The AMP URL pointing to the publisher's web server.",
"type": "string"
},
"cdnAmpUrl": {
"description": "The [AMP Cache URL](/amp/cache/overview#amp-cache-url-format) pointing to\nthe cached document in the Google AMP Cache.",
"type": "string"
},
"originalUrl": {
"description": "The original non-AMP URL.",
"type": "string"
}
},
"type": "object"
},
"AmpUrlError": {
"description": "AMP URL Error resource for a requested URL that couldn't be found.",
"id": "AmpUrlError",
"properties": {
"errorCode": {
"description": "The error code of an API call.",
"enum": [
"ERROR_CODE_UNSPECIFIED",
"INPUT_URL_NOT_FOUND",
"NO_AMP_URL",
"APPLICATION_ERROR",
"URL_IS_VALID_AMP",
"URL_IS_INVALID_AMP"
],
"enumDescriptions": [
"Not specified error.",
"Indicates the requested URL is not found in the index, possibly because\nit's unable to be found, not able to be accessed by Googlebot, or some\nother error.",
"Indicates no AMP URL has been found that corresponds to the requested\nURL.",
"Indicates some kind of application error occurred at the server.\nClient advised to retry.",
"DEPRECATED: Indicates the requested URL is a valid AMP URL. This is a\nnon-error state, should not be relied upon as a sign of success or\nfailure. It will be removed in future versions of the API.",
"Indicates that an AMP URL has been found that corresponds to the request\nURL, but it is not valid AMP HTML."
],
"type": "string"
},
"errorMessage": {
"description": "An optional descriptive error message.",
"type": "string"
},
"originalUrl": {
"description": "The original non-AMP URL.",
"type": "string"
}
},
"type": "object"
},
"BatchGetAmpUrlsRequest": {
"description": "AMP URL request for a batch of URLs.",
"id": "BatchGetAmpUrlsRequest",
"properties": {
"lookupStrategy": {
"description": "The lookup_strategy being requested.",
"enum": [
"FETCH_LIVE_DOC",
"IN_INDEX_DOC"
],
"enumDescriptions": [
"FETCH_LIVE_DOC strategy involves live document fetch of URLs not found in\nthe index. Any request URL not found in the index is crawled in realtime\nto validate if there is a corresponding AMP URL. This strategy has higher\ncoverage but with extra latency introduced by realtime crawling. This is\nthe default strategy. Applications using this strategy should set higher\nHTTP timeouts of the API calls.",
"IN_INDEX_DOC strategy skips fetching live documents of URL(s) not found\nin index. For applications which need low latency use of IN_INDEX_DOC\nstrategy is recommended."
],
"type": "string"
},
"urls": {
"description": "List of URLs to look up for the paired AMP URLs.\nThe URLs are case-sensitive. Up to 50 URLs per lookup\n(see [Usage Limits](/amp/cache/reference/limits)).",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"BatchGetAmpUrlsResponse": {
"description": "Batch AMP URL response.",
"id": "BatchGetAmpUrlsResponse",
"properties": {
"ampUrls": {
"description": "For each URL in BatchAmpUrlsRequest, the URL response. The response might\nnot be in the same order as URLs in the batch request.\nIf BatchAmpUrlsRequest contains duplicate URLs, AmpUrl is generated\nonly once.",
"items": {
"$ref": "AmpUrl"
},
"type": "array"
},
"urlErrors": {
"description": "The errors for requested URLs that have no AMP URL.",
"items": {
"$ref": "AmpUrlError"
},
"type": "array"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Accelerated Mobile Pages (AMP) URL API",
"version": "v1",
"version_module": true
}

View file

@ -1,382 +0,0 @@
// Package acceleratedmobilepageurl provides access to the Accelerated Mobile Pages (AMP) URL API.
//
// See https://developers.google.com/amp/cache/
//
// Usage example:
//
// import "google.golang.org/api/acceleratedmobilepageurl/v1"
// ...
// acceleratedmobilepageurlService, err := acceleratedmobilepageurl.New(oauthHttpClient)
package acceleratedmobilepageurl // import "google.golang.org/api/acceleratedmobilepageurl/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 = "acceleratedmobilepageurl:v1"
const apiName = "acceleratedmobilepageurl"
const apiVersion = "v1"
const basePath = "https://acceleratedmobilepageurl.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.AmpUrls = NewAmpUrlsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
AmpUrls *AmpUrlsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewAmpUrlsService(s *Service) *AmpUrlsService {
rs := &AmpUrlsService{s: s}
return rs
}
type AmpUrlsService struct {
s *Service
}
// AmpUrl: AMP URL response for a requested URL.
type AmpUrl struct {
// AmpUrl: The AMP URL pointing to the publisher's web server.
AmpUrl string `json:"ampUrl,omitempty"`
// CdnAmpUrl: The [AMP Cache
// URL](/amp/cache/overview#amp-cache-url-format) pointing to
// the cached document in the Google AMP Cache.
CdnAmpUrl string `json:"cdnAmpUrl,omitempty"`
// OriginalUrl: The original non-AMP URL.
OriginalUrl string `json:"originalUrl,omitempty"`
// ForceSendFields is a list of field names (e.g. "AmpUrl") 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. "AmpUrl") 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 *AmpUrl) MarshalJSON() ([]byte, error) {
type NoMethod AmpUrl
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AmpUrlError: AMP URL Error resource for a requested URL that couldn't
// be found.
type AmpUrlError struct {
// ErrorCode: The error code of an API call.
//
// Possible values:
// "ERROR_CODE_UNSPECIFIED" - Not specified error.
// "INPUT_URL_NOT_FOUND" - Indicates the requested URL is not found in
// the index, possibly because
// it's unable to be found, not able to be accessed by Googlebot, or
// some
// other error.
// "NO_AMP_URL" - Indicates no AMP URL has been found that corresponds
// to the requested
// URL.
// "APPLICATION_ERROR" - Indicates some kind of application error
// occurred at the server.
// Client advised to retry.
// "URL_IS_VALID_AMP" - DEPRECATED: Indicates the requested URL is a
// valid AMP URL. This is a
// non-error state, should not be relied upon as a sign of success
// or
// failure. It will be removed in future versions of the API.
// "URL_IS_INVALID_AMP" - Indicates that an AMP URL has been found
// that corresponds to the request
// URL, but it is not valid AMP HTML.
ErrorCode string `json:"errorCode,omitempty"`
// ErrorMessage: An optional descriptive error message.
ErrorMessage string `json:"errorMessage,omitempty"`
// OriginalUrl: The original non-AMP URL.
OriginalUrl string `json:"originalUrl,omitempty"`
// ForceSendFields is a list of field names (e.g. "ErrorCode") 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. "ErrorCode") 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 *AmpUrlError) MarshalJSON() ([]byte, error) {
type NoMethod AmpUrlError
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BatchGetAmpUrlsRequest: AMP URL request for a batch of URLs.
type BatchGetAmpUrlsRequest struct {
// LookupStrategy: The lookup_strategy being requested.
//
// Possible values:
// "FETCH_LIVE_DOC" - FETCH_LIVE_DOC strategy involves live document
// fetch of URLs not found in
// the index. Any request URL not found in the index is crawled in
// realtime
// to validate if there is a corresponding AMP URL. This strategy has
// higher
// coverage but with extra latency introduced by realtime crawling. This
// is
// the default strategy. Applications using this strategy should set
// higher
// HTTP timeouts of the API calls.
// "IN_INDEX_DOC" - IN_INDEX_DOC strategy skips fetching live
// documents of URL(s) not found
// in index. For applications which need low latency use of
// IN_INDEX_DOC
// strategy is recommended.
LookupStrategy string `json:"lookupStrategy,omitempty"`
// Urls: List of URLs to look up for the paired AMP URLs.
// The URLs are case-sensitive. Up to 50 URLs per lookup
// (see [Usage Limits](/amp/cache/reference/limits)).
Urls []string `json:"urls,omitempty"`
// ForceSendFields is a list of field names (e.g. "LookupStrategy") 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. "LookupStrategy") 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 *BatchGetAmpUrlsRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchGetAmpUrlsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BatchGetAmpUrlsResponse: Batch AMP URL response.
type BatchGetAmpUrlsResponse struct {
// AmpUrls: For each URL in BatchAmpUrlsRequest, the URL response. The
// response might
// not be in the same order as URLs in the batch request.
// If BatchAmpUrlsRequest contains duplicate URLs, AmpUrl is
// generated
// only once.
AmpUrls []*AmpUrl `json:"ampUrls,omitempty"`
// UrlErrors: The errors for requested URLs that have no AMP URL.
UrlErrors []*AmpUrlError `json:"urlErrors,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AmpUrls") 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. "AmpUrls") 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 *BatchGetAmpUrlsResponse) MarshalJSON() ([]byte, error) {
type NoMethod BatchGetAmpUrlsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "acceleratedmobilepageurl.ampUrls.batchGet":
type AmpUrlsBatchGetCall struct {
s *Service
batchgetampurlsrequest *BatchGetAmpUrlsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BatchGet: Returns AMP URL(s) and equivalent
// [AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).
func (r *AmpUrlsService) BatchGet(batchgetampurlsrequest *BatchGetAmpUrlsRequest) *AmpUrlsBatchGetCall {
c := &AmpUrlsBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.batchgetampurlsrequest = batchgetampurlsrequest
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 *AmpUrlsBatchGetCall) Fields(s ...googleapi.Field) *AmpUrlsBatchGetCall {
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 *AmpUrlsBatchGetCall) Context(ctx context.Context) *AmpUrlsBatchGetCall {
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 *AmpUrlsBatchGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *AmpUrlsBatchGetCall) 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.batchgetampurlsrequest)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/ampUrls:batchGet")
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 "acceleratedmobilepageurl.ampUrls.batchGet" call.
// Exactly one of *BatchGetAmpUrlsResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *BatchGetAmpUrlsResponse.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 *AmpUrlsBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetAmpUrlsResponse, 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 := &BatchGetAmpUrlsResponse{
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": "Returns AMP URL(s) and equivalent\n[AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).",
// "flatPath": "v1/ampUrls:batchGet",
// "httpMethod": "POST",
// "id": "acceleratedmobilepageurl.ampUrls.batchGet",
// "parameterOrder": [],
// "parameters": {},
// "path": "v1/ampUrls:batchGet",
// "request": {
// "$ref": "BatchGetAmpUrlsRequest"
// },
// "response": {
// "$ref": "BatchGetAmpUrlsResponse"
// }
// }
}

View file

@ -1,596 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/adexchange.buyer": {
"description": "Manage your Ad Exchange buyer account configuration"
}
}
}
},
"basePath": "/adexchangebuyer/v1.2/",
"baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.2/",
"batchPath": "batch/adexchangebuyer/v1.2",
"canonicalName": "Ad Exchange Buyer",
"description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/-1DKqIhPUpLfO8DBj8P3gNrIPtE\"",
"icons": {
"x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
"x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
},
"id": "adexchangebuyer:v1.2",
"kind": "discovery#restDescription",
"name": "adexchangebuyer",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"accounts": {
"methods": {
"get": {
"description": "Gets one account by ID.",
"httpMethod": "GET",
"id": "adexchangebuyer.accounts.get",
"parameterOrder": [
"id"
],
"parameters": {
"id": {
"description": "The account id",
"format": "int32",
"location": "path",
"required": true,
"type": "integer"
}
},
"path": "accounts/{id}",
"response": {
"$ref": "Account"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer"
]
},
"list": {
"description": "Retrieves the authenticated user's list of accounts.",
"httpMethod": "GET",
"id": "adexchangebuyer.accounts.list",
"path": "accounts",
"response": {
"$ref": "AccountsList"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer"
]
},
"patch": {
"description": "Updates an existing account. This method supports patch semantics.",
"httpMethod": "PATCH",
"id": "adexchangebuyer.accounts.patch",
"parameterOrder": [
"id"
],
"parameters": {
"id": {
"description": "The account id",
"format": "int32",
"location": "path",
"required": true,
"type": "integer"
}
},
"path": "accounts/{id}",
"request": {
"$ref": "Account"
},
"response": {
"$ref": "Account"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer"
]
},
"update": {
"description": "Updates an existing account.",
"httpMethod": "PUT",
"id": "adexchangebuyer.accounts.update",
"parameterOrder": [
"id"
],
"parameters": {
"id": {
"description": "The account id",
"format": "int32",
"location": "path",
"required": true,
"type": "integer"
}
},
"path": "accounts/{id}",
"request": {
"$ref": "Account"
},
"response": {
"$ref": "Account"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer"
]
}
}
},
"creatives": {
"methods": {
"get": {
"description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
"httpMethod": "GET",
"id": "adexchangebuyer.creatives.get",
"parameterOrder": [
"accountId",
"buyerCreativeId"
],
"parameters": {
"accountId": {
"description": "The id for the account that will serve this creative.",
"format": "int32",
"location": "path",
"required": true,
"type": "integer"
},
"buyerCreativeId": {
"description": "The buyer-specific id for this creative.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "creatives/{accountId}/{buyerCreativeId}",
"response": {
"$ref": "Creative"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer"
]
},
"insert": {
"description": "Submit a new creative.",
"httpMethod": "POST",
"id": "adexchangebuyer.creatives.insert",
"path": "creatives",
"request": {
"$ref": "Creative"
},
"response": {
"$ref": "Creative"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer"
]
},
"list": {
"description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
"httpMethod": "GET",
"id": "adexchangebuyer.creatives.list",
"parameters": {
"maxResults": {
"description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
"format": "uint32",
"location": "query",
"maximum": "1000",
"minimum": "1",
"type": "integer"
},
"pageToken": {
"description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
"location": "query",
"type": "string"
},
"statusFilter": {
"description": "When specified, only creatives having the given status are returned.",
"enum": [
"approved",
"disapproved",
"not_checked"
],
"enumDescriptions": [
"Creatives which have been approved.",
"Creatives which have been disapproved.",
"Creatives whose status is not yet checked."
],
"location": "query",
"type": "string"
}
},
"path": "creatives",
"response": {
"$ref": "CreativesList"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer"
]
}
}
}
},
"revision": "20170810",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"Account": {
"description": "Configuration data for an Ad Exchange buyer account.",
"id": "Account",
"properties": {
"bidderLocation": {
"description": "Your bidder locations that have distinct URLs.",
"items": {
"properties": {
"maximumQps": {
"description": "The maximum queries per second the Ad Exchange will send.",
"format": "int32",
"type": "integer"
},
"region": {
"description": "The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values: \n- ASIA \n- EUROPE \n- US_EAST \n- US_WEST",
"type": "string"
},
"url": {
"description": "The URL to which the Ad Exchange will send bid requests.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"cookieMatchingNid": {
"description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.",
"type": "string"
},
"cookieMatchingUrl": {
"description": "The base URL used in cookie match requests.",
"type": "string"
},
"id": {
"description": "Account id.",
"format": "int32",
"type": "integer"
},
"kind": {
"default": "adexchangebuyer#account",
"description": "Resource type.",
"type": "string"
},
"maximumActiveCreatives": {
"description": "The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.",
"format": "int32",
"type": "integer"
},
"maximumTotalQps": {
"description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.",
"format": "int32",
"type": "integer"
},
"numberActiveCreatives": {
"description": "The number of creatives that this account inserted or bid with in the last 30 days.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"AccountsList": {
"description": "An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.",
"id": "AccountsList",
"properties": {
"items": {
"description": "A list of accounts.",
"items": {
"$ref": "Account"
},
"type": "array"
},
"kind": {
"default": "adexchangebuyer#accountsList",
"description": "Resource type.",
"type": "string"
}
},
"type": "object"
},
"Creative": {
"description": "A creative and its classification data.",
"id": "Creative",
"properties": {
"HTMLSnippet": {
"description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.",
"type": "string"
},
"accountId": {
"annotations": {
"required": [
"adexchangebuyer.creatives.insert"
]
},
"description": "Account id.",
"format": "int32",
"type": "integer"
},
"advertiserId": {
"description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.",
"items": {
"format": "int64",
"type": "string"
},
"type": "array"
},
"advertiserName": {
"annotations": {
"required": [
"adexchangebuyer.creatives.insert"
]
},
"description": "The name of the company being advertised in the creative.",
"type": "string"
},
"agencyId": {
"description": "The agency id for this creative.",
"format": "int64",
"type": "string"
},
"apiUploadTimestamp": {
"description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).",
"format": "date-time",
"type": "string"
},
"attribute": {
"description": "All attributes for the ads that may be shown from this snippet.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"buyerCreativeId": {
"annotations": {
"required": [
"adexchangebuyer.creatives.insert"
]
},
"description": "A buyer-specific id identifying the creative in this ad.",
"type": "string"
},
"clickThroughUrl": {
"annotations": {
"required": [
"adexchangebuyer.creatives.insert"
]
},
"description": "The set of destination urls for the snippet.",
"items": {
"type": "string"
},
"type": "array"
},
"corrections": {
"description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.",
"items": {
"properties": {
"details": {
"description": "Additional details about the correction.",
"items": {
"type": "string"
},
"type": "array"
},
"reason": {
"description": "The type of correction that was applied to the creative.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"disapprovalReasons": {
"description": "The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.",
"items": {
"properties": {
"details": {
"description": "Additional details about the reason for disapproval.",
"items": {
"type": "string"
},
"type": "array"
},
"reason": {
"description": "The categorized reason for disapproval.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"filteringReasons": {
"description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
"properties": {
"date": {
"description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.",
"type": "string"
},
"reasons": {
"description": "The filtering reasons.",
"items": {
"properties": {
"filteringCount": {
"description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.",
"format": "int64",
"type": "string"
},
"filteringStatus": {
"description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"height": {
"annotations": {
"required": [
"adexchangebuyer.creatives.insert"
]
},
"description": "Ad height.",
"format": "int32",
"type": "integer"
},
"impressionTrackingUrl": {
"description": "The set of urls to be called to record an impression.",
"items": {
"type": "string"
},
"type": "array"
},
"kind": {
"default": "adexchangebuyer#creative",
"description": "Resource type.",
"type": "string"
},
"productCategories": {
"description": "Detected product categories, if any. Read-only. This field should not be set in requests.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"restrictedCategories": {
"description": "All restricted categories for the ads that may be shown from this snippet.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"sensitiveCategories": {
"description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"status": {
"description": "Creative serving status. Read-only. This field should not be set in requests.",
"type": "string"
},
"vendorType": {
"description": "All vendor types for the ads that may be shown from this snippet.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"version": {
"description": "The version for this creative. Read-only. This field should not be set in requests.",
"format": "int32",
"type": "integer"
},
"videoURL": {
"description": "The url to fetch a video ad. If set, HTMLSnippet should not be set.",
"type": "string"
},
"width": {
"annotations": {
"required": [
"adexchangebuyer.creatives.insert"
]
},
"description": "Ad width.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"CreativesList": {
"description": "The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.",
"id": "CreativesList",
"properties": {
"items": {
"description": "A list of creatives.",
"items": {
"$ref": "Creative"
},
"type": "array"
},
"kind": {
"default": "adexchangebuyer#creativesList",
"description": "Resource type.",
"type": "string"
},
"nextPageToken": {
"description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this.",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "adexchangebuyer/v1.2/",
"title": "Ad Exchange Buyer API",
"version": "v1.2"
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,918 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/adexchange.seller": {
"description": "View and manage your Ad Exchange data"
},
"https://www.googleapis.com/auth/adexchange.seller.readonly": {
"description": "View your Ad Exchange data"
}
}
}
},
"basePath": "/adexchangeseller/v1/",
"baseUrl": "https://www.googleapis.com/adexchangeseller/v1/",
"batchPath": "batch/adexchangeseller/v1",
"canonicalName": "Ad Exchange Seller",
"description": "Accesses the inventory of Ad Exchange seller users and generates reports.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/ad-exchange/seller-rest/",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/LZjbJqGI4YbMK1jq7CAP1O0QwyE\"",
"icons": {
"x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
"x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
},
"id": "adexchangeseller:v1",
"kind": "discovery#restDescription",
"name": "adexchangeseller",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"csv",
"json"
],
"enumDescriptions": [
"Responses with Content-Type of text/csv",
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"adclients": {
"methods": {
"list": {
"description": "List all ad clients in this Ad Exchange account.",
"httpMethod": "GET",
"id": "adexchangeseller.adclients.list",
"parameters": {
"maxResults": {
"description": "The maximum number of ad clients to include in the response, used for paging.",
"format": "uint32",
"location": "query",
"maximum": "10000",
"minimum": "0",
"type": "integer"
},
"pageToken": {
"description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
"location": "query",
"type": "string"
}
},
"path": "adclients",
"response": {
"$ref": "AdClients"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
]
}
}
},
"adunits": {
"methods": {
"get": {
"description": "Gets the specified ad unit in the specified ad client.",
"httpMethod": "GET",
"id": "adexchangeseller.adunits.get",
"parameterOrder": [
"adClientId",
"adUnitId"
],
"parameters": {
"adClientId": {
"description": "Ad client for which to get the ad unit.",
"location": "path",
"required": true,
"type": "string"
},
"adUnitId": {
"description": "Ad unit to retrieve.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "adclients/{adClientId}/adunits/{adUnitId}",
"response": {
"$ref": "AdUnit"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
]
},
"list": {
"description": "List all ad units in the specified ad client for this Ad Exchange account.",
"httpMethod": "GET",
"id": "adexchangeseller.adunits.list",
"parameterOrder": [
"adClientId"
],
"parameters": {
"adClientId": {
"description": "Ad client for which to list ad units.",
"location": "path",
"required": true,
"type": "string"
},
"includeInactive": {
"description": "Whether to include inactive ad units. Default: true.",
"location": "query",
"type": "boolean"
},
"maxResults": {
"description": "The maximum number of ad units to include in the response, used for paging.",
"format": "uint32",
"location": "query",
"maximum": "10000",
"minimum": "0",
"type": "integer"
},
"pageToken": {
"description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
"location": "query",
"type": "string"
}
},
"path": "adclients/{adClientId}/adunits",
"response": {
"$ref": "AdUnits"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
]
}
},
"resources": {
"customchannels": {
"methods": {
"list": {
"description": "List all custom channels which the specified ad unit belongs to.",
"httpMethod": "GET",
"id": "adexchangeseller.adunits.customchannels.list",
"parameterOrder": [
"adClientId",
"adUnitId"
],
"parameters": {
"adClientId": {
"description": "Ad client which contains the ad unit.",
"location": "path",
"required": true,
"type": "string"
},
"adUnitId": {
"description": "Ad unit for which to list custom channels.",
"location": "path",
"required": true,
"type": "string"
},
"maxResults": {
"description": "The maximum number of custom channels to include in the response, used for paging.",
"format": "uint32",
"location": "query",
"maximum": "10000",
"minimum": "0",
"type": "integer"
},
"pageToken": {
"description": "A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
"location": "query",
"type": "string"
}
},
"path": "adclients/{adClientId}/adunits/{adUnitId}/customchannels",
"response": {
"$ref": "CustomChannels"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
]
}
}
}
}
},
"customchannels": {
"methods": {
"get": {
"description": "Get the specified custom channel from the specified ad client.",
"httpMethod": "GET",
"id": "adexchangeseller.customchannels.get",
"parameterOrder": [
"adClientId",
"customChannelId"
],
"parameters": {
"adClientId": {
"description": "Ad client which contains the custom channel.",
"location": "path",
"required": true,
"type": "string"
},
"customChannelId": {
"description": "Custom channel to retrieve.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "adclients/{adClientId}/customchannels/{customChannelId}",
"response": {
"$ref": "CustomChannel"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
]
},
"list": {
"description": "List all custom channels in the specified ad client for this Ad Exchange account.",
"httpMethod": "GET",
"id": "adexchangeseller.customchannels.list",
"parameterOrder": [
"adClientId"
],
"parameters": {
"adClientId": {
"description": "Ad client for which to list custom channels.",
"location": "path",
"required": true,
"type": "string"
},
"maxResults": {
"description": "The maximum number of custom channels to include in the response, used for paging.",
"format": "uint32",
"location": "query",
"maximum": "10000",
"minimum": "0",
"type": "integer"
},
"pageToken": {
"description": "A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
"location": "query",
"type": "string"
}
},
"path": "adclients/{adClientId}/customchannels",
"response": {
"$ref": "CustomChannels"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
]
}
},
"resources": {
"adunits": {
"methods": {
"list": {
"description": "List all ad units in the specified custom channel.",
"httpMethod": "GET",
"id": "adexchangeseller.customchannels.adunits.list",
"parameterOrder": [
"adClientId",
"customChannelId"
],
"parameters": {
"adClientId": {
"description": "Ad client which contains the custom channel.",
"location": "path",
"required": true,
"type": "string"
},
"customChannelId": {
"description": "Custom channel for which to list ad units.",
"location": "path",
"required": true,
"type": "string"
},
"includeInactive": {
"description": "Whether to include inactive ad units. Default: true.",
"location": "query",
"type": "boolean"
},
"maxResults": {
"description": "The maximum number of ad units to include in the response, used for paging.",
"format": "uint32",
"location": "query",
"maximum": "10000",
"minimum": "0",
"type": "integer"
},
"pageToken": {
"description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
"location": "query",
"type": "string"
}
},
"path": "adclients/{adClientId}/customchannels/{customChannelId}/adunits",
"response": {
"$ref": "AdUnits"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
]
}
}
}
}
},
"reports": {
"methods": {
"generate": {
"description": "Generate an Ad Exchange report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify \"alt=csv\" as a query parameter.",
"httpMethod": "GET",
"id": "adexchangeseller.reports.generate",
"parameterOrder": [
"startDate",
"endDate"
],
"parameters": {
"dimension": {
"description": "Dimensions to base the report on.",
"location": "query",
"pattern": "[a-zA-Z_]+",
"repeated": true,
"type": "string"
},
"endDate": {
"description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
"location": "query",
"pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
"required": true,
"type": "string"
},
"filter": {
"description": "Filters to be run on the report.",
"location": "query",
"pattern": "[a-zA-Z_]+(==|=@).+",
"repeated": true,
"type": "string"
},
"locale": {
"description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
"location": "query",
"pattern": "[a-zA-Z_]+",
"type": "string"
},
"maxResults": {
"description": "The maximum number of rows of report data to return.",
"format": "uint32",
"location": "query",
"maximum": "50000",
"minimum": "0",
"type": "integer"
},
"metric": {
"description": "Numeric columns to include in the report.",
"location": "query",
"pattern": "[a-zA-Z_]+",
"repeated": true,
"type": "string"
},
"sort": {
"description": "The name of a dimension or metric to sort the resulting report on, optionally prefixed with \"+\" to sort ascending or \"-\" to sort descending. If no prefix is specified, the column is sorted ascending.",
"location": "query",
"pattern": "(\\+|-)?[a-zA-Z_]+",
"repeated": true,
"type": "string"
},
"startDate": {
"description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
"location": "query",
"pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
"required": true,
"type": "string"
},
"startIndex": {
"description": "Index of the first row of report data to return.",
"format": "uint32",
"location": "query",
"maximum": "5000",
"minimum": "0",
"type": "integer"
}
},
"path": "reports",
"response": {
"$ref": "Report"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
],
"supportsMediaDownload": true
}
},
"resources": {
"saved": {
"methods": {
"generate": {
"description": "Generate an Ad Exchange report based on the saved report ID sent in the query parameters.",
"httpMethod": "GET",
"id": "adexchangeseller.reports.saved.generate",
"parameterOrder": [
"savedReportId"
],
"parameters": {
"locale": {
"description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
"location": "query",
"pattern": "[a-zA-Z_]+",
"type": "string"
},
"maxResults": {
"description": "The maximum number of rows of report data to return.",
"format": "int32",
"location": "query",
"maximum": "50000",
"minimum": "0",
"type": "integer"
},
"savedReportId": {
"description": "The saved report to retrieve.",
"location": "path",
"required": true,
"type": "string"
},
"startIndex": {
"description": "Index of the first row of report data to return.",
"format": "int32",
"location": "query",
"maximum": "5000",
"minimum": "0",
"type": "integer"
}
},
"path": "reports/{savedReportId}",
"response": {
"$ref": "Report"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
]
},
"list": {
"description": "List all saved reports in this Ad Exchange account.",
"httpMethod": "GET",
"id": "adexchangeseller.reports.saved.list",
"parameters": {
"maxResults": {
"description": "The maximum number of saved reports to include in the response, used for paging.",
"format": "int32",
"location": "query",
"maximum": "100",
"minimum": "0",
"type": "integer"
},
"pageToken": {
"description": "A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
"location": "query",
"type": "string"
}
},
"path": "reports/saved",
"response": {
"$ref": "SavedReports"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
]
}
}
}
}
},
"urlchannels": {
"methods": {
"list": {
"description": "List all URL channels in the specified ad client for this Ad Exchange account.",
"httpMethod": "GET",
"id": "adexchangeseller.urlchannels.list",
"parameterOrder": [
"adClientId"
],
"parameters": {
"adClientId": {
"description": "Ad client for which to list URL channels.",
"location": "path",
"required": true,
"type": "string"
},
"maxResults": {
"description": "The maximum number of URL channels to include in the response, used for paging.",
"format": "uint32",
"location": "query",
"maximum": "10000",
"minimum": "0",
"type": "integer"
},
"pageToken": {
"description": "A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
"location": "query",
"type": "string"
}
},
"path": "adclients/{adClientId}/urlchannels",
"response": {
"$ref": "UrlChannels"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.seller",
"https://www.googleapis.com/auth/adexchange.seller.readonly"
]
}
}
}
},
"revision": "20171101",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"AdClient": {
"id": "AdClient",
"properties": {
"arcOptIn": {
"description": "Whether this ad client is opted in to ARC.",
"type": "boolean"
},
"id": {
"description": "Unique identifier of this ad client.",
"type": "string"
},
"kind": {
"default": "adexchangeseller#adClient",
"description": "Kind of resource this is, in this case adexchangeseller#adClient.",
"type": "string"
},
"productCode": {
"description": "This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.",
"type": "string"
},
"supportsReporting": {
"description": "Whether this ad client supports being reported on.",
"type": "boolean"
}
},
"type": "object"
},
"AdClients": {
"id": "AdClients",
"properties": {
"etag": {
"description": "ETag of this response for caching purposes.",
"type": "string"
},
"items": {
"description": "The ad clients returned in this list response.",
"items": {
"$ref": "AdClient"
},
"type": "array"
},
"kind": {
"default": "adexchangeseller#adClients",
"description": "Kind of list this is, in this case adexchangeseller#adClients.",
"type": "string"
},
"nextPageToken": {
"description": "Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's \"pageToken\" value to this.",
"type": "string"
}
},
"type": "object"
},
"AdUnit": {
"id": "AdUnit",
"properties": {
"code": {
"description": "Identity code of this ad unit, not necessarily unique across ad clients.",
"type": "string"
},
"id": {
"description": "Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.",
"type": "string"
},
"kind": {
"default": "adexchangeseller#adUnit",
"description": "Kind of resource this is, in this case adexchangeseller#adUnit.",
"type": "string"
},
"name": {
"description": "Name of this ad unit.",
"type": "string"
},
"status": {
"description": "Status of this ad unit. Possible values are:\nNEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.\n\nACTIVE: Indicates that there has been activity on this ad unit in the last seven days.\n\nINACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.",
"type": "string"
}
},
"type": "object"
},
"AdUnits": {
"id": "AdUnits",
"properties": {
"etag": {
"description": "ETag of this response for caching purposes.",
"type": "string"
},
"items": {
"description": "The ad units returned in this list response.",
"items": {
"$ref": "AdUnit"
},
"type": "array"
},
"kind": {
"default": "adexchangeseller#adUnits",
"description": "Kind of list this is, in this case adexchangeseller#adUnits.",
"type": "string"
},
"nextPageToken": {
"description": "Continuation token used to page through ad units. To retrieve the next page of results, set the next request's \"pageToken\" value to this.",
"type": "string"
}
},
"type": "object"
},
"CustomChannel": {
"id": "CustomChannel",
"properties": {
"code": {
"description": "Code of this custom channel, not necessarily unique across ad clients.",
"type": "string"
},
"id": {
"description": "Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.",
"type": "string"
},
"kind": {
"default": "adexchangeseller#customChannel",
"description": "Kind of resource this is, in this case adexchangeseller#customChannel.",
"type": "string"
},
"name": {
"description": "Name of this custom channel.",
"type": "string"
},
"targetingInfo": {
"description": "The targeting information of this custom channel, if activated.",
"properties": {
"adsAppearOn": {
"description": "The name used to describe this channel externally.",
"type": "string"
},
"description": {
"description": "The external description of the channel.",
"type": "string"
},
"location": {
"description": "The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.",
"type": "string"
},
"siteLanguage": {
"description": "The language of the sites ads will be displayed on.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"CustomChannels": {
"id": "CustomChannels",
"properties": {
"etag": {
"description": "ETag of this response for caching purposes.",
"type": "string"
},
"items": {
"description": "The custom channels returned in this list response.",
"items": {
"$ref": "CustomChannel"
},
"type": "array"
},
"kind": {
"default": "adexchangeseller#customChannels",
"description": "Kind of list this is, in this case adexchangeseller#customChannels.",
"type": "string"
},
"nextPageToken": {
"description": "Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's \"pageToken\" value to this.",
"type": "string"
}
},
"type": "object"
},
"Report": {
"id": "Report",
"properties": {
"averages": {
"description": "The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.",
"items": {
"type": "string"
},
"type": "array"
},
"headers": {
"description": "The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.",
"items": {
"properties": {
"currency": {
"description": "The currency of this column. Only present if the header type is METRIC_CURRENCY.",
"type": "string"
},
"name": {
"description": "The name of the header.",
"type": "string"
},
"type": {
"description": "The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"kind": {
"default": "adexchangeseller#report",
"description": "Kind this is, in this case adexchangeseller#report.",
"type": "string"
},
"rows": {
"description": "The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.",
"items": {
"items": {
"type": "string"
},
"type": "array"
},
"type": "array"
},
"totalMatchedRows": {
"description": "The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.",
"format": "int64",
"type": "string"
},
"totals": {
"description": "The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.",
"items": {
"type": "string"
},
"type": "array"
},
"warnings": {
"description": "Any warnings associated with generation of the report.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"SavedReport": {
"id": "SavedReport",
"properties": {
"id": {
"description": "Unique identifier of this saved report.",
"type": "string"
},
"kind": {
"default": "adexchangeseller#savedReport",
"description": "Kind of resource this is, in this case adexchangeseller#savedReport.",
"type": "string"
},
"name": {
"description": "This saved report's name.",
"type": "string"
}
},
"type": "object"
},
"SavedReports": {
"id": "SavedReports",
"properties": {
"etag": {
"description": "ETag of this response for caching purposes.",
"type": "string"
},
"items": {
"description": "The saved reports returned in this list response.",
"items": {
"$ref": "SavedReport"
},
"type": "array"
},
"kind": {
"default": "adexchangeseller#savedReports",
"description": "Kind of list this is, in this case adexchangeseller#savedReports.",
"type": "string"
},
"nextPageToken": {
"description": "Continuation token used to page through saved reports. To retrieve the next page of results, set the next request's \"pageToken\" value to this.",
"type": "string"
}
},
"type": "object"
},
"UrlChannel": {
"id": "UrlChannel",
"properties": {
"id": {
"description": "Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.",
"type": "string"
},
"kind": {
"default": "adexchangeseller#urlChannel",
"description": "Kind of resource this is, in this case adexchangeseller#urlChannel.",
"type": "string"
},
"urlPattern": {
"description": "URL Pattern of this URL channel. Does not include \"http://\" or \"https://\". Example: www.example.com/home",
"type": "string"
}
},
"type": "object"
},
"UrlChannels": {
"id": "UrlChannels",
"properties": {
"etag": {
"description": "ETag of this response for caching purposes.",
"type": "string"
},
"items": {
"description": "The URL channels returned in this list response.",
"items": {
"$ref": "UrlChannel"
},
"type": "array"
},
"kind": {
"default": "adexchangeseller#urlChannels",
"description": "Kind of list this is, in this case adexchangeseller#urlChannels.",
"type": "string"
},
"nextPageToken": {
"description": "Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's \"pageToken\" value to this.",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "adexchangeseller/v1/",
"title": "Ad Exchange Seller API",
"version": "v1"
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,283 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/xapi.zoo": {
"description": "Test scope for access to the Zoo service"
}
}
}
},
"basePath": "",
"baseUrl": "https://adexperiencereport.googleapis.com/",
"batchPath": "batch",
"canonicalName": "Ad Experience Report",
"description": "View Ad Experience Report data, and get a list of sites that have a significant number of annoying ads.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/ad-experience-report/",
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "adexperiencereport:v1",
"kind": "discovery#restDescription",
"name": "adexperiencereport",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"bearer_token": {
"description": "OAuth bearer token.",
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"pp": {
"default": "true",
"description": "Pretty-print response.",
"location": "query",
"type": "boolean"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"sites": {
"methods": {
"get": {
"description": "Gets a summary of the ad experience rating of a site.",
"flatPath": "v1/sites/{sitesId}",
"httpMethod": "GET",
"id": "adexperiencereport.sites.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The required site name. It should be the site property whose ad experiences\nmay have been reviewed, and it should be URL-encoded. For example,\nsites/https%3A%2F%2Fwww.google.com. The server will return an error of\nBAD_REQUEST if this field is not filled in. Note that if the site property\nis not yet verified in Search Console, the reportUrl field returned by the\nAPI will lead to the verification page, prompting the user to go through\nthat process before they can gain access to the Ad Experience Report.",
"location": "path",
"pattern": "^sites/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "SiteSummaryResponse"
},
"scopes": [
"https://www.googleapis.com/auth/xapi.zoo"
]
}
}
},
"violatingSites": {
"methods": {
"list": {
"description": "Lists sites with Ad Experience Report statuses of \"Failing\" or \"Warning\".",
"flatPath": "v1/violatingSites",
"httpMethod": "GET",
"id": "adexperiencereport.violatingSites.list",
"parameterOrder": [],
"parameters": {},
"path": "v1/violatingSites",
"response": {
"$ref": "ViolatingSitesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/xapi.zoo"
]
}
}
}
},
"revision": "20180129",
"rootUrl": "https://adexperiencereport.googleapis.com/",
"schemas": {
"PlatformSummary": {
"description": "Summary of the ad experience rating of a site for a specific platform.",
"id": "PlatformSummary",
"properties": {
"betterAdsStatus": {
"description": "The status of the site reviewed for the Better Ads Standards.",
"enum": [
"UNKNOWN",
"PASSING",
"WARNING",
"FAILING"
],
"enumDescriptions": [
"Not reviewed.",
"Passing.",
"Warning.",
"Failing."
],
"type": "string"
},
"enforcementTime": {
"description": "The date on which ad filtering begins.",
"format": "google-datetime",
"type": "string"
},
"filterStatus": {
"description": "The ad filtering status of the site.",
"enum": [
"UNKNOWN",
"ON",
"OFF",
"PAUSED",
"PENDING"
],
"enumDescriptions": [
"N/A.",
"Ad filtering is on.",
"Ad filtering is off.",
"Ad filtering is paused.",
"Ad filtering is pending."
],
"type": "string"
},
"lastChangeTime": {
"description": "The last time that the site changed status.",
"format": "google-datetime",
"type": "string"
},
"region": {
"description": "The assigned regions for the site and platform.",
"enumDescriptions": [
"Ad standard not yet defined for your region.",
"Region A.",
"Region B."
],
"items": {
"enum": [
"REGION_UNKNOWN",
"REGION_A",
"REGION_B"
],
"type": "string"
},
"type": "array"
},
"reportUrl": {
"description": "A link that leads to a full ad experience report.",
"type": "string"
},
"underReview": {
"description": "Whether the site is currently under review.",
"type": "boolean"
}
},
"type": "object"
},
"SiteSummaryResponse": {
"description": "Response message for GetSiteSummary.",
"id": "SiteSummaryResponse",
"properties": {
"desktopSummary": {
"$ref": "PlatformSummary",
"description": "Summary for the desktop review of the site."
},
"mobileSummary": {
"$ref": "PlatformSummary",
"description": "Summary for the mobile review of the site."
},
"reviewedSite": {
"description": "The name of the site reviewed.",
"type": "string"
}
},
"type": "object"
},
"ViolatingSitesResponse": {
"description": "Response message for ListViolatingSites.",
"id": "ViolatingSitesResponse",
"properties": {
"violatingSites": {
"description": "A list of summaries of violating sites.",
"items": {
"$ref": "SiteSummaryResponse"
},
"type": "array"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Google Ad Experience Report API",
"version": "v1",
"version_module": true
}

View file

@ -1,500 +0,0 @@
// Package adexperiencereport provides access to the Google Ad Experience Report API.
//
// See https://developers.google.com/ad-experience-report/
//
// Usage example:
//
// import "google.golang.org/api/adexperiencereport/v1"
// ...
// adexperiencereportService, err := adexperiencereport.New(oauthHttpClient)
package adexperiencereport // import "google.golang.org/api/adexperiencereport/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 = "adexperiencereport:v1"
const apiName = "adexperiencereport"
const apiVersion = "v1"
const basePath = "https://adexperiencereport.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// Test scope for access to the Zoo service
XapiZooScope = "https://www.googleapis.com/auth/xapi.zoo"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Sites = NewSitesService(s)
s.ViolatingSites = NewViolatingSitesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Sites *SitesService
ViolatingSites *ViolatingSitesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewSitesService(s *Service) *SitesService {
rs := &SitesService{s: s}
return rs
}
type SitesService struct {
s *Service
}
func NewViolatingSitesService(s *Service) *ViolatingSitesService {
rs := &ViolatingSitesService{s: s}
return rs
}
type ViolatingSitesService struct {
s *Service
}
// PlatformSummary: Summary of the ad experience rating of a site for a
// specific platform.
type PlatformSummary struct {
// BetterAdsStatus: The status of the site reviewed for the Better Ads
// Standards.
//
// Possible values:
// "UNKNOWN" - Not reviewed.
// "PASSING" - Passing.
// "WARNING" - Warning.
// "FAILING" - Failing.
BetterAdsStatus string `json:"betterAdsStatus,omitempty"`
// EnforcementTime: The date on which ad filtering begins.
EnforcementTime string `json:"enforcementTime,omitempty"`
// FilterStatus: The ad filtering status of the site.
//
// Possible values:
// "UNKNOWN" - N/A.
// "ON" - Ad filtering is on.
// "OFF" - Ad filtering is off.
// "PAUSED" - Ad filtering is paused.
// "PENDING" - Ad filtering is pending.
FilterStatus string `json:"filterStatus,omitempty"`
// LastChangeTime: The last time that the site changed status.
LastChangeTime string `json:"lastChangeTime,omitempty"`
// Region: The assigned regions for the site and platform.
//
// Possible values:
// "REGION_UNKNOWN" - Ad standard not yet defined for your region.
// "REGION_A" - Region A.
// "REGION_B" - Region B.
Region []string `json:"region,omitempty"`
// ReportUrl: A link that leads to a full ad experience report.
ReportUrl string `json:"reportUrl,omitempty"`
// UnderReview: Whether the site is currently under review.
UnderReview bool `json:"underReview,omitempty"`
// ForceSendFields is a list of field names (e.g. "BetterAdsStatus") 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. "BetterAdsStatus") 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 *PlatformSummary) MarshalJSON() ([]byte, error) {
type NoMethod PlatformSummary
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SiteSummaryResponse: Response message for GetSiteSummary.
type SiteSummaryResponse struct {
// DesktopSummary: Summary for the desktop review of the site.
DesktopSummary *PlatformSummary `json:"desktopSummary,omitempty"`
// MobileSummary: Summary for the mobile review of the site.
MobileSummary *PlatformSummary `json:"mobileSummary,omitempty"`
// ReviewedSite: The name of the site reviewed.
ReviewedSite string `json:"reviewedSite,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DesktopSummary") 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. "DesktopSummary") 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 *SiteSummaryResponse) MarshalJSON() ([]byte, error) {
type NoMethod SiteSummaryResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ViolatingSitesResponse: Response message for ListViolatingSites.
type ViolatingSitesResponse struct {
// ViolatingSites: A list of summaries of violating sites.
ViolatingSites []*SiteSummaryResponse `json:"violatingSites,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ViolatingSites") 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. "ViolatingSites") 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 *ViolatingSitesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ViolatingSitesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "adexperiencereport.sites.get":
type SitesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets a summary of the ad experience rating of a site.
func (r *SitesService) Get(name string) *SitesGetCall {
c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
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 *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
c.ifNoneMatch_ = entityTag
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 *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
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 *SitesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *SitesGetCall) 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())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "adexperiencereport.sites.get" call.
// Exactly one of *SiteSummaryResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *SiteSummaryResponse.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 *SitesGetCall) Do(opts ...googleapi.CallOption) (*SiteSummaryResponse, 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 := &SiteSummaryResponse{
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": "Gets a summary of the ad experience rating of a site.",
// "flatPath": "v1/sites/{sitesId}",
// "httpMethod": "GET",
// "id": "adexperiencereport.sites.get",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "The required site name. It should be the site property whose ad experiences\nmay have been reviewed, and it should be URL-encoded. For example,\nsites/https%3A%2F%2Fwww.google.com. The server will return an error of\nBAD_REQUEST if this field is not filled in. Note that if the site property\nis not yet verified in Search Console, the reportUrl field returned by the\nAPI will lead to the verification page, prompting the user to go through\nthat process before they can gain access to the Ad Experience Report.",
// "location": "path",
// "pattern": "^sites/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "response": {
// "$ref": "SiteSummaryResponse"
// },
// "scopes": [
// "https://www.googleapis.com/auth/xapi.zoo"
// ]
// }
}
// method id "adexperiencereport.violatingSites.list":
type ViolatingSitesListCall struct {
s *Service
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists sites with Ad Experience Report statuses of "Failing" or
// "Warning".
func (r *ViolatingSitesService) List() *ViolatingSitesListCall {
c := &ViolatingSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
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 *ViolatingSitesListCall) Fields(s ...googleapi.Field) *ViolatingSitesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *ViolatingSitesListCall) IfNoneMatch(entityTag string) *ViolatingSitesListCall {
c.ifNoneMatch_ = entityTag
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 *ViolatingSitesListCall) Context(ctx context.Context) *ViolatingSitesListCall {
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 *ViolatingSitesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ViolatingSitesListCall) 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())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/violatingSites")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "adexperiencereport.violatingSites.list" call.
// Exactly one of *ViolatingSitesResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *ViolatingSitesResponse.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 *ViolatingSitesListCall) Do(opts ...googleapi.CallOption) (*ViolatingSitesResponse, 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 := &ViolatingSitesResponse{
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": "Lists sites with Ad Experience Report statuses of \"Failing\" or \"Warning\".",
// "flatPath": "v1/violatingSites",
// "httpMethod": "GET",
// "id": "adexperiencereport.violatingSites.list",
// "parameterOrder": [],
// "parameters": {},
// "path": "v1/violatingSites",
// "response": {
// "$ref": "ViolatingSitesResponse"
// },
// "scopes": [
// "https://www.googleapis.com/auth/xapi.zoo"
// ]
// }
}

View file

@ -1,411 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/admin.datatransfer": {
"description": "View and manage data transfers between users in your organization"
},
"https://www.googleapis.com/auth/admin.datatransfer.readonly": {
"description": "View data transfers between users in your organization"
}
}
}
},
"basePath": "/admin/datatransfer/v1/",
"baseUrl": "https://www.googleapis.com/admin/datatransfer/v1/",
"batchPath": "batch/admin/datatransfer_v1",
"canonicalName": "DataTransfer",
"description": "Transfers user data from one user to another.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/admin-sdk/data-transfer/",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/69RNEuIs-2cMvhRHgpkaoTAmcFU\"",
"icons": {
"x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
"x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
},
"id": "admin:datatransfer_v1",
"kind": "discovery#restDescription",
"name": "admin",
"ownerDomain": "google.com",
"ownerName": "Google",
"packagePath": "admin",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"applications": {
"methods": {
"get": {
"description": "Retrieves information about an application for the given application ID.",
"httpMethod": "GET",
"id": "datatransfer.applications.get",
"parameterOrder": [
"applicationId"
],
"parameters": {
"applicationId": {
"description": "ID of the application resource to be retrieved.",
"format": "int64",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "applications/{applicationId}",
"response": {
"$ref": "Application"
},
"scopes": [
"https://www.googleapis.com/auth/admin.datatransfer",
"https://www.googleapis.com/auth/admin.datatransfer.readonly"
]
},
"list": {
"description": "Lists the applications available for data transfer for a customer.",
"httpMethod": "GET",
"id": "datatransfer.applications.list",
"parameters": {
"customerId": {
"description": "Immutable ID of the Google Apps account.",
"location": "query",
"type": "string"
},
"maxResults": {
"description": "Maximum number of results to return. Default is 100.",
"format": "int32",
"location": "query",
"maximum": "500",
"minimum": "1",
"type": "integer"
},
"pageToken": {
"description": "Token to specify next page in the list.",
"location": "query",
"type": "string"
}
},
"path": "applications",
"response": {
"$ref": "ApplicationsListResponse"
},
"scopes": [
"https://www.googleapis.com/auth/admin.datatransfer",
"https://www.googleapis.com/auth/admin.datatransfer.readonly"
]
}
}
},
"transfers": {
"methods": {
"get": {
"description": "Retrieves a data transfer request by its resource ID.",
"httpMethod": "GET",
"id": "datatransfer.transfers.get",
"parameterOrder": [
"dataTransferId"
],
"parameters": {
"dataTransferId": {
"description": "ID of the resource to be retrieved. This is returned in the response from the insert method.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "transfers/{dataTransferId}",
"response": {
"$ref": "DataTransfer"
},
"scopes": [
"https://www.googleapis.com/auth/admin.datatransfer",
"https://www.googleapis.com/auth/admin.datatransfer.readonly"
]
},
"insert": {
"description": "Inserts a data transfer request.",
"httpMethod": "POST",
"id": "datatransfer.transfers.insert",
"path": "transfers",
"request": {
"$ref": "DataTransfer"
},
"response": {
"$ref": "DataTransfer"
},
"scopes": [
"https://www.googleapis.com/auth/admin.datatransfer"
]
},
"list": {
"description": "Lists the transfers for a customer by source user, destination user, or status.",
"httpMethod": "GET",
"id": "datatransfer.transfers.list",
"parameters": {
"customerId": {
"description": "Immutable ID of the Google Apps account.",
"location": "query",
"type": "string"
},
"maxResults": {
"description": "Maximum number of results to return. Default is 100.",
"format": "int32",
"location": "query",
"maximum": "500",
"minimum": "1",
"type": "integer"
},
"newOwnerUserId": {
"description": "Destination user's profile ID.",
"location": "query",
"type": "string"
},
"oldOwnerUserId": {
"description": "Source user's profile ID.",
"location": "query",
"type": "string"
},
"pageToken": {
"description": "Token to specify the next page in the list.",
"location": "query",
"type": "string"
},
"status": {
"description": "Status of the transfer.",
"location": "query",
"type": "string"
}
},
"path": "transfers",
"response": {
"$ref": "DataTransfersListResponse"
},
"scopes": [
"https://www.googleapis.com/auth/admin.datatransfer",
"https://www.googleapis.com/auth/admin.datatransfer.readonly"
]
}
}
}
},
"revision": "20160223",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"Application": {
"description": "The JSON template for an Application resource.",
"id": "Application",
"properties": {
"etag": {
"description": "Etag of the resource.",
"type": "string"
},
"id": {
"description": "The application's ID.",
"format": "int64",
"type": "string"
},
"kind": {
"default": "admin#datatransfer#ApplicationResource",
"description": "Identifies the resource as a DataTransfer Application Resource.",
"type": "string"
},
"name": {
"description": "The application's name.",
"type": "string"
},
"transferParams": {
"description": "The list of all possible transfer parameters for this application. These parameters can be used to select the data of the user in this application to be transfered.",
"items": {
"$ref": "ApplicationTransferParam"
},
"type": "array"
}
},
"type": "object"
},
"ApplicationDataTransfer": {
"description": "Template to map fields of ApplicationDataTransfer resource.",
"id": "ApplicationDataTransfer",
"properties": {
"applicationId": {
"description": "The application's ID.",
"format": "int64",
"type": "string"
},
"applicationTransferParams": {
"description": "The transfer parameters for the application. These parameters are used to select the data which will get transfered in context of this application.",
"items": {
"$ref": "ApplicationTransferParam"
},
"type": "array"
},
"applicationTransferStatus": {
"description": "Current status of transfer for this application. (Read-only)",
"type": "string"
}
},
"type": "object"
},
"ApplicationTransferParam": {
"description": "Template for application transfer parameters.",
"id": "ApplicationTransferParam",
"properties": {
"key": {
"description": "The type of the transfer parameter. eg: 'PRIVACY_LEVEL'",
"type": "string"
},
"value": {
"description": "The value of the coressponding transfer parameter. eg: 'PRIVATE' or 'SHARED'",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"ApplicationsListResponse": {
"description": "Template for a collection of Applications.",
"id": "ApplicationsListResponse",
"properties": {
"applications": {
"description": "List of applications that support data transfer and are also installed for the customer.",
"items": {
"$ref": "Application"
},
"type": "array"
},
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"kind": {
"default": "admin#datatransfer#applicationsList",
"description": "Identifies the resource as a collection of Applications.",
"type": "string"
},
"nextPageToken": {
"description": "Continuation token which will be used to specify next page in list API.",
"type": "string"
}
},
"type": "object"
},
"DataTransfer": {
"description": "The JSON template for a DataTransfer resource.",
"id": "DataTransfer",
"properties": {
"applicationDataTransfers": {
"description": "List of per application data transfer resources. It contains data transfer details of the applications associated with this transfer resource. Note that this list is also used to specify the applications for which data transfer has to be done at the time of the transfer resource creation.",
"items": {
"$ref": "ApplicationDataTransfer"
},
"type": "array"
},
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"id": {
"description": "The transfer's ID (Read-only).",
"type": "string"
},
"kind": {
"default": "admin#datatransfer#DataTransfer",
"description": "Identifies the resource as a DataTransfer request.",
"type": "string"
},
"newOwnerUserId": {
"description": "ID of the user to whom the data is being transfered.",
"type": "string"
},
"oldOwnerUserId": {
"description": "ID of the user whose data is being transfered.",
"type": "string"
},
"overallTransferStatusCode": {
"description": "Overall transfer status (Read-only).",
"type": "string"
},
"requestTime": {
"description": "The time at which the data transfer was requested (Read-only).",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"DataTransfersListResponse": {
"description": "Template for a collection of DataTransfer resources.",
"id": "DataTransfersListResponse",
"properties": {
"dataTransfers": {
"description": "List of data transfer requests.",
"items": {
"$ref": "DataTransfer"
},
"type": "array"
},
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"kind": {
"default": "admin#datatransfer#dataTransfersList",
"description": "Identifies the resource as a collection of data transfer requests.",
"type": "string"
},
"nextPageToken": {
"description": "Continuation token which will be used to specify next page in list API.",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "admin/datatransfer/v1/",
"title": "Admin Data Transfer API",
"version": "datatransfer_v1"
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,822 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/admin.reports.audit.readonly": {
"description": "View audit reports for your G Suite domain"
},
"https://www.googleapis.com/auth/admin.reports.usage.readonly": {
"description": "View usage reports for your G Suite domain"
}
}
}
},
"basePath": "/admin/reports/v1/",
"baseUrl": "https://www.googleapis.com/admin/reports/v1/",
"batchPath": "batch/admin/reports_v1",
"canonicalName": "reports",
"description": "Fetches reports for the administrators of G Suite customers about the usage, collaboration, security, and risk for their users.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/admin-sdk/reports/",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/bw0JROoLapnynZnUYWv2Bypz6Uk\"",
"icons": {
"x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
"x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
},
"id": "admin:reports_v1",
"kind": "discovery#restDescription",
"name": "admin",
"ownerDomain": "google.com",
"ownerName": "Google",
"packagePath": "admin",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"activities": {
"methods": {
"list": {
"description": "Retrieves a list of activities for a specific customer and application.",
"httpMethod": "GET",
"id": "reports.activities.list",
"parameterOrder": [
"userKey",
"applicationName"
],
"parameters": {
"actorIpAddress": {
"description": "IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.",
"location": "query",
"type": "string"
},
"applicationName": {
"description": "Application name for which the events are to be retrieved.",
"location": "path",
"pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)|(gplus)|(rules)",
"required": true,
"type": "string"
},
"customerId": {
"description": "Represents the customer for which the data is to be fetched.",
"location": "query",
"pattern": "C.+",
"type": "string"
},
"endTime": {
"description": "Return events which occurred at or before this time.",
"location": "query",
"pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))",
"type": "string"
},
"eventName": {
"description": "Name of the event being queried.",
"location": "query",
"type": "string"
},
"filters": {
"description": "Event parameters in the form [parameter1 name][operator][parameter1 value],[parameter2 name][operator][parameter2 value],...",
"location": "query",
"pattern": "(.+[\u003c,\u003c=,==,\u003e=,\u003e,\u003c\u003e].+,)*(.+[\u003c,\u003c=,==,\u003e=,\u003e,\u003c\u003e].+)",
"type": "string"
},
"maxResults": {
"description": "Number of activity records to be shown in each page.",
"format": "int32",
"location": "query",
"maximum": "1000",
"minimum": "1",
"type": "integer"
},
"pageToken": {
"description": "Token to specify next page.",
"location": "query",
"type": "string"
},
"startTime": {
"description": "Return events which occurred at or after this time.",
"location": "query",
"pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))",
"type": "string"
},
"userKey": {
"description": "Represents the profile id or the user email for which the data should be filtered. When 'all' is specified as the userKey, it returns usageReports for all users.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "activity/users/{userKey}/applications/{applicationName}",
"response": {
"$ref": "Activities"
},
"scopes": [
"https://www.googleapis.com/auth/admin.reports.audit.readonly"
],
"supportsSubscription": true
},
"watch": {
"description": "Push changes to activities",
"httpMethod": "POST",
"id": "reports.activities.watch",
"parameterOrder": [
"userKey",
"applicationName"
],
"parameters": {
"actorIpAddress": {
"description": "IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.",
"location": "query",
"type": "string"
},
"applicationName": {
"description": "Application name for which the events are to be retrieved.",
"location": "path",
"pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)|(gplus)|(rules)",
"required": true,
"type": "string"
},
"customerId": {
"description": "Represents the customer for which the data is to be fetched.",
"location": "query",
"pattern": "C.+",
"type": "string"
},
"endTime": {
"description": "Return events which occurred at or before this time.",
"location": "query",
"pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))",
"type": "string"
},
"eventName": {
"description": "Name of the event being queried.",
"location": "query",
"type": "string"
},
"filters": {
"description": "Event parameters in the form [parameter1 name][operator][parameter1 value],[parameter2 name][operator][parameter2 value],...",
"location": "query",
"pattern": "(.+[\u003c,\u003c=,==,\u003e=,\u003e,\u003c\u003e].+,)*(.+[\u003c,\u003c=,==,\u003e=,\u003e,\u003c\u003e].+)",
"type": "string"
},
"maxResults": {
"description": "Number of activity records to be shown in each page.",
"format": "int32",
"location": "query",
"maximum": "1000",
"minimum": "1",
"type": "integer"
},
"pageToken": {
"description": "Token to specify next page.",
"location": "query",
"type": "string"
},
"startTime": {
"description": "Return events which occurred at or after this time.",
"location": "query",
"pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))",
"type": "string"
},
"userKey": {
"description": "Represents the profile id or the user email for which the data should be filtered. When 'all' is specified as the userKey, it returns usageReports for all users.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "activity/users/{userKey}/applications/{applicationName}/watch",
"request": {
"$ref": "Channel",
"parameterName": "resource"
},
"response": {
"$ref": "Channel"
},
"scopes": [
"https://www.googleapis.com/auth/admin.reports.audit.readonly"
],
"supportsSubscription": true
}
}
},
"channels": {
"methods": {
"stop": {
"description": "Stop watching resources through this channel",
"httpMethod": "POST",
"id": "admin.channels.stop",
"path": "/admin/reports_v1/channels/stop",
"request": {
"$ref": "Channel",
"parameterName": "resource"
},
"scopes": [
"https://www.googleapis.com/auth/admin.reports.audit.readonly"
]
}
}
},
"customerUsageReports": {
"methods": {
"get": {
"description": "Retrieves a report which is a collection of properties / statistics for a specific customer.",
"httpMethod": "GET",
"id": "reports.customerUsageReports.get",
"parameterOrder": [
"date"
],
"parameters": {
"customerId": {
"description": "Represents the customer for which the data is to be fetched.",
"location": "query",
"pattern": "C.+",
"type": "string"
},
"date": {
"description": "Represents the date in yyyy-mm-dd format for which the data is to be fetched.",
"location": "path",
"pattern": "(\\d){4}-(\\d){2}-(\\d){2}",
"required": true,
"type": "string"
},
"pageToken": {
"description": "Token to specify next page.",
"location": "query",
"type": "string"
},
"parameters": {
"description": "Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.",
"location": "query",
"pattern": "(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):[^,]+,)*(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):[^,]+)",
"type": "string"
}
},
"path": "usage/dates/{date}",
"response": {
"$ref": "UsageReports"
},
"scopes": [
"https://www.googleapis.com/auth/admin.reports.usage.readonly"
]
}
}
},
"entityUsageReports": {
"methods": {
"get": {
"description": "Retrieves a report which is a collection of properties / statistics for a set of objects.",
"httpMethod": "GET",
"id": "reports.entityUsageReports.get",
"parameterOrder": [
"entityType",
"entityKey",
"date"
],
"parameters": {
"customerId": {
"description": "Represents the customer for which the data is to be fetched.",
"location": "query",
"pattern": "C.+",
"type": "string"
},
"date": {
"description": "Represents the date in yyyy-mm-dd format for which the data is to be fetched.",
"location": "path",
"pattern": "(\\d){4}-(\\d){2}-(\\d){2}",
"required": true,
"type": "string"
},
"entityKey": {
"description": "Represents the key of object for which the data should be filtered.",
"location": "path",
"required": true,
"type": "string"
},
"entityType": {
"description": "Type of object. Should be one of - gplus_communities.",
"location": "path",
"pattern": "(gplus_communities)",
"required": true,
"type": "string"
},
"filters": {
"description": "Represents the set of filters including parameter operator value.",
"location": "query",
"pattern": "(((gplus)):[a-z0-9_]+[\u003c,\u003c=,==,\u003e=,\u003e,!=][^,]+,)*(((gplus)):[a-z0-9_]+[\u003c,\u003c=,==,\u003e=,\u003e,!=][^,]+)",
"type": "string"
},
"maxResults": {
"description": "Maximum number of results to return. Maximum allowed is 1000",
"format": "uint32",
"location": "query",
"maximum": "1000",
"type": "integer"
},
"pageToken": {
"description": "Token to specify next page.",
"location": "query",
"type": "string"
},
"parameters": {
"description": "Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.",
"location": "query",
"pattern": "(((gplus)):[^,]+,)*(((gplus)):[^,]+)",
"type": "string"
}
},
"path": "usage/{entityType}/{entityKey}/dates/{date}",
"response": {
"$ref": "UsageReports"
},
"scopes": [
"https://www.googleapis.com/auth/admin.reports.usage.readonly"
]
}
}
},
"userUsageReport": {
"methods": {
"get": {
"description": "Retrieves a report which is a collection of properties / statistics for a set of users.",
"httpMethod": "GET",
"id": "reports.userUsageReport.get",
"parameterOrder": [
"userKey",
"date"
],
"parameters": {
"customerId": {
"description": "Represents the customer for which the data is to be fetched.",
"location": "query",
"pattern": "C.+",
"type": "string"
},
"date": {
"description": "Represents the date in yyyy-mm-dd format for which the data is to be fetched.",
"location": "path",
"pattern": "(\\d){4}-(\\d){2}-(\\d){2}",
"required": true,
"type": "string"
},
"filters": {
"description": "Represents the set of filters including parameter operator value.",
"location": "query",
"pattern": "(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[a-z0-9_]+[\u003c,\u003c=,==,\u003e=,\u003e,!=][^,]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[a-z0-9_]+[\u003c,\u003c=,==,\u003e=,\u003e,!=][^,]+)",
"type": "string"
},
"maxResults": {
"description": "Maximum number of results to return. Maximum allowed is 1000",
"format": "uint32",
"location": "query",
"maximum": "1000",
"type": "integer"
},
"pageToken": {
"description": "Token to specify next page.",
"location": "query",
"type": "string"
},
"parameters": {
"description": "Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.",
"location": "query",
"pattern": "(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+)",
"type": "string"
},
"userKey": {
"description": "Represents the profile id or the user email for which the data should be filtered.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "usage/users/{userKey}/dates/{date}",
"response": {
"$ref": "UsageReports"
},
"scopes": [
"https://www.googleapis.com/auth/admin.reports.usage.readonly"
]
}
}
}
},
"revision": "20180110",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"Activities": {
"description": "JSON template for a collection of activites.",
"id": "Activities",
"properties": {
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"items": {
"description": "Each record in read response.",
"items": {
"$ref": "Activity"
},
"type": "array"
},
"kind": {
"default": "admin#reports#activities",
"description": "Kind of list response this is.",
"type": "string"
},
"nextPageToken": {
"description": "Token for retrieving the next page",
"type": "string"
}
},
"type": "object"
},
"Activity": {
"description": "JSON template for the activity resource.",
"id": "Activity",
"properties": {
"actor": {
"description": "User doing the action.",
"properties": {
"callerType": {
"description": "User or OAuth 2LO request.",
"type": "string"
},
"email": {
"description": "Email address of the user.",
"type": "string"
},
"key": {
"description": "For OAuth 2LO API requests, consumer_key of the requestor.",
"type": "string"
},
"profileId": {
"description": "Obfuscated user id of the user.",
"type": "string"
}
},
"type": "object"
},
"etag": {
"description": "ETag of the entry.",
"type": "string"
},
"events": {
"description": "Activity events.",
"items": {
"properties": {
"name": {
"description": "Name of event.",
"type": "string"
},
"parameters": {
"description": "Parameter value pairs for various applications.",
"items": {
"properties": {
"boolValue": {
"description": "Boolean value of the parameter.",
"type": "boolean"
},
"intValue": {
"description": "Integral value of the parameter.",
"format": "int64",
"type": "string"
},
"multiIntValue": {
"description": "Multi-int value of the parameter.",
"items": {
"format": "int64",
"type": "string"
},
"type": "array"
},
"multiValue": {
"description": "Multi-string value of the parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"value": {
"description": "String value of the parameter.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"type": {
"description": "Type of event.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"id": {
"description": "Unique identifier for each activity record.",
"properties": {
"applicationName": {
"description": "Application name to which the event belongs.",
"type": "string"
},
"customerId": {
"description": "Obfuscated customer ID of the source customer.",
"type": "string"
},
"time": {
"description": "Time of occurrence of the activity.",
"format": "date-time",
"type": "string"
},
"uniqueQualifier": {
"description": "Unique qualifier if multiple events have the same time.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"ipAddress": {
"description": "IP Address of the user doing the action.",
"type": "string"
},
"kind": {
"default": "admin#reports#activity",
"description": "Kind of resource this is.",
"type": "string"
},
"ownerDomain": {
"description": "Domain of source customer.",
"type": "string"
}
},
"type": "object"
},
"Channel": {
"description": "An notification channel used to watch for resource changes.",
"id": "Channel",
"properties": {
"address": {
"description": "The address where notifications are delivered for this channel.",
"type": "string"
},
"expiration": {
"description": "Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.",
"format": "int64",
"type": "string"
},
"id": {
"description": "A UUID or similar unique string that identifies this channel.",
"type": "string"
},
"kind": {
"default": "api#channel",
"description": "Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string \"api#channel\".",
"type": "string"
},
"params": {
"additionalProperties": {
"description": "Declares a new parameter by name.",
"type": "string"
},
"description": "Additional parameters controlling delivery channel behavior. Optional.",
"type": "object"
},
"payload": {
"description": "A Boolean value to indicate whether payload is wanted. Optional.",
"type": "boolean"
},
"resourceId": {
"description": "An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.",
"type": "string"
},
"resourceUri": {
"description": "A version-specific identifier for the watched resource.",
"type": "string"
},
"token": {
"description": "An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.",
"type": "string"
},
"type": {
"description": "The type of delivery mechanism used for this channel.",
"type": "string"
}
},
"type": "object"
},
"UsageReport": {
"description": "JSON template for a usage report.",
"id": "UsageReport",
"properties": {
"date": {
"description": "The date to which the record belongs.",
"readOnly": true,
"type": "string"
},
"entity": {
"description": "Information about the type of the item.",
"properties": {
"customerId": {
"description": "Obfuscated customer id for the record.",
"readOnly": true,
"type": "string"
},
"entityId": {
"description": "Object key. Only relevant if entity.type = \"OBJECT\" Note: external-facing name of report is \"Entities\" rather than \"Objects\".",
"readOnly": true,
"type": "string"
},
"profileId": {
"description": "Obfuscated user id for the record.",
"readOnly": true,
"type": "string"
},
"type": {
"description": "The type of item, can be customer, user, or entity (aka. object).",
"readOnly": true,
"type": "string"
},
"userEmail": {
"description": "user's email. Only relevant if entity.type = \"USER\"",
"readOnly": true,
"type": "string"
}
},
"readOnly": true,
"type": "object"
},
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"kind": {
"default": "admin#reports#usageReport",
"description": "The kind of object.",
"type": "string"
},
"parameters": {
"description": "Parameter value pairs for various applications.",
"items": {
"properties": {
"boolValue": {
"description": "Boolean value of the parameter.",
"readOnly": true,
"type": "boolean"
},
"datetimeValue": {
"description": "RFC 3339 formatted value of the parameter.",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"intValue": {
"description": "Integral value of the parameter.",
"format": "int64",
"readOnly": true,
"type": "string"
},
"msgValue": {
"description": "Nested message value of the parameter.",
"items": {
"additionalProperties": {
"type": "any"
},
"type": "object"
},
"readOnly": true,
"type": "array"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"stringValue": {
"description": "String value of the parameter.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"readOnly": true,
"type": "array"
}
},
"type": "object"
},
"UsageReports": {
"description": "JSON template for a collection of usage reports.",
"id": "UsageReports",
"properties": {
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"kind": {
"default": "admin#reports#usageReports",
"description": "The kind of object.",
"type": "string"
},
"nextPageToken": {
"description": "Token for retrieving the next page",
"type": "string"
},
"usageReports": {
"description": "Various application parameter records.",
"items": {
"$ref": "UsageReport"
},
"type": "array"
},
"warnings": {
"description": "Warnings if any.",
"items": {
"properties": {
"code": {
"description": "Machine readable code / warning type.",
"type": "string"
},
"data": {
"description": "Key-Value pairs to give detailed information on the warning.",
"items": {
"properties": {
"key": {
"description": "Key associated with a key-value pair to give detailed information on the warning.",
"type": "string"
},
"value": {
"description": "Value associated with a key-value pair to give detailed information on the warning.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message": {
"description": "Human readable message for the warning.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"servicePath": "admin/reports/v1/",
"title": "Admin Reports API",
"version": "reports_v1"
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,366 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/analytics": {
"description": "View and manage your Google Analytics data"
},
"https://www.googleapis.com/auth/analytics.readonly": {
"description": "View your Google Analytics data"
}
}
}
},
"basePath": "/analytics/v2.4/",
"baseUrl": "https://www.googleapis.com/analytics/v2.4/",
"batchPath": "batch/analytics/v2.4",
"description": "Views and manages your Google Analytics data.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/analytics/",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/ulqmidM-fMam4LKTNGEvE0WurA4\"",
"icons": {
"x16": "https://www.google.com/images/icons/product/analytics-16.png",
"x32": "https://www.google.com/images/icons/product/analytics-32.png"
},
"id": "analytics:v2.4",
"kind": "discovery#restDescription",
"name": "analytics",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"alt": {
"default": "atom",
"description": "Data format for the response.",
"enum": [
"atom"
],
"enumDescriptions": [
"Responses with Content-Type of application/atom+xml"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "false",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"data": {
"methods": {
"get": {
"description": "Returns Analytics report data for a view (profile).",
"httpMethod": "GET",
"id": "analytics.data.get",
"parameterOrder": [
"ids",
"start-date",
"end-date",
"metrics"
],
"parameters": {
"dimensions": {
"description": "A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'.",
"location": "query",
"pattern": "(ga:.+)?",
"type": "string"
},
"end-date": {
"description": "End date for fetching report data. All requests should specify an end date formatted as YYYY-MM-DD.",
"location": "query",
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}",
"required": true,
"type": "string"
},
"filters": {
"description": "A comma-separated list of dimension or metric filters to be applied to the report data.",
"location": "query",
"pattern": "ga:.+",
"type": "string"
},
"ids": {
"description": "Unique table ID for retrieving report data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.",
"location": "query",
"pattern": "ga:[0-9]+",
"required": true,
"type": "string"
},
"max-results": {
"description": "The maximum number of entries to include in this feed.",
"format": "int32",
"location": "query",
"type": "integer"
},
"metrics": {
"description": "A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one metric must be specified to retrieve a valid Analytics report.",
"location": "query",
"pattern": "ga:.+",
"required": true,
"type": "string"
},
"segment": {
"description": "An Analytics advanced segment to be applied to the report data.",
"location": "query",
"type": "string"
},
"sort": {
"description": "A comma-separated list of dimensions or metrics that determine the sort order for the report data.",
"location": "query",
"pattern": "(-)?ga:.+",
"type": "string"
},
"start-date": {
"description": "Start date for fetching report data. All requests should specify a start date formatted as YYYY-MM-DD.",
"location": "query",
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}",
"required": true,
"type": "string"
},
"start-index": {
"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
"format": "int32",
"location": "query",
"minimum": "1",
"type": "integer"
}
},
"path": "data",
"scopes": [
"https://www.googleapis.com/auth/analytics",
"https://www.googleapis.com/auth/analytics.readonly"
]
}
}
},
"management": {
"resources": {
"accounts": {
"methods": {
"list": {
"description": "Lists all accounts to which the user has access.",
"httpMethod": "GET",
"id": "analytics.management.accounts.list",
"parameters": {
"max-results": {
"description": "The maximum number of accounts to include in this response.",
"format": "int32",
"location": "query",
"type": "integer"
},
"start-index": {
"description": "An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
"format": "int32",
"location": "query",
"minimum": "1",
"type": "integer"
}
},
"path": "management/accounts",
"scopes": [
"https://www.googleapis.com/auth/analytics",
"https://www.googleapis.com/auth/analytics.readonly"
]
}
}
},
"goals": {
"methods": {
"list": {
"description": "Lists goals to which the user has access.",
"httpMethod": "GET",
"id": "analytics.management.goals.list",
"parameterOrder": [
"accountId",
"webPropertyId",
"profileId"
],
"parameters": {
"accountId": {
"description": "Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to.",
"location": "path",
"required": true,
"type": "string"
},
"max-results": {
"description": "The maximum number of goals to include in this response.",
"format": "int32",
"location": "query",
"type": "integer"
},
"profileId": {
"description": "View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to.",
"location": "path",
"required": true,
"type": "string"
},
"start-index": {
"description": "An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
"format": "int32",
"location": "query",
"minimum": "1",
"type": "integer"
},
"webPropertyId": {
"description": "Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals",
"scopes": [
"https://www.googleapis.com/auth/analytics",
"https://www.googleapis.com/auth/analytics.readonly"
]
}
}
},
"profiles": {
"methods": {
"list": {
"description": "Lists views (profiles) to which the user has access.",
"httpMethod": "GET",
"id": "analytics.management.profiles.list",
"parameterOrder": [
"accountId",
"webPropertyId"
],
"parameters": {
"accountId": {
"description": "Account ID for the views (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access.",
"location": "path",
"required": true,
"type": "string"
},
"max-results": {
"description": "The maximum number of views (profiles) to include in this response.",
"format": "int32",
"location": "query",
"type": "integer"
},
"start-index": {
"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
"format": "int32",
"location": "query",
"minimum": "1",
"type": "integer"
},
"webPropertyId": {
"description": "Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles",
"scopes": [
"https://www.googleapis.com/auth/analytics",
"https://www.googleapis.com/auth/analytics.readonly"
]
}
}
},
"segments": {
"methods": {
"list": {
"description": "Lists advanced segments to which the user has access.",
"httpMethod": "GET",
"id": "analytics.management.segments.list",
"parameters": {
"max-results": {
"description": "The maximum number of advanced segments to include in this response.",
"format": "int32",
"location": "query",
"type": "integer"
},
"start-index": {
"description": "An index of the first advanced segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
"format": "int32",
"location": "query",
"minimum": "1",
"type": "integer"
}
},
"path": "management/segments",
"scopes": [
"https://www.googleapis.com/auth/analytics",
"https://www.googleapis.com/auth/analytics.readonly"
]
}
}
},
"webproperties": {
"methods": {
"list": {
"description": "Lists web properties to which the user has access.",
"httpMethod": "GET",
"id": "analytics.management.webproperties.list",
"parameterOrder": [
"accountId"
],
"parameters": {
"accountId": {
"description": "Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to.",
"location": "path",
"required": true,
"type": "string"
},
"max-results": {
"description": "The maximum number of web properties to include in this response.",
"format": "int32",
"location": "query",
"type": "integer"
},
"start-index": {
"description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
"format": "int32",
"location": "query",
"minimum": "1",
"type": "integer"
}
},
"path": "management/accounts/{accountId}/webproperties",
"scopes": [
"https://www.googleapis.com/auth/analytics",
"https://www.googleapis.com/auth/analytics.readonly"
]
}
}
}
}
}
},
"revision": "20171211",
"rootUrl": "https://www.googleapis.com/",
"servicePath": "analytics/v2.4/",
"title": "Google Analytics API",
"version": "v2.4"
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,265 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/androidpublisher": {
"description": "View and manage your Google Play Developer account"
}
}
}
},
"basePath": "/androidpublisher/v1.1/applications/",
"baseUrl": "https://www.googleapis.com/androidpublisher/v1.1/applications/",
"batchPath": "batch/androidpublisher/v1.1",
"canonicalName": "Android Publisher",
"description": "Lets Android application developers access their Google Play accounts.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/android-publisher",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/Xvb720kj6kaUU3p6XJECzzWJnek\"",
"icons": {
"x16": "https://www.google.com/images/icons/product/android-16.png",
"x32": "https://www.google.com/images/icons/product/android-32.png"
},
"id": "androidpublisher:v1.1",
"kind": "discovery#restDescription",
"name": "androidpublisher",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"inapppurchases": {
"methods": {
"get": {
"description": "Checks the purchase and consumption status of an inapp item.",
"httpMethod": "GET",
"id": "androidpublisher.inapppurchases.get",
"parameterOrder": [
"packageName",
"productId",
"token"
],
"parameters": {
"packageName": {
"description": "The package name of the application the inapp product was sold in (for example, 'com.some.thing').",
"location": "path",
"required": true,
"type": "string"
},
"productId": {
"description": "The inapp product SKU (for example, 'com.some.thing.inapp1').",
"location": "path",
"required": true,
"type": "string"
},
"token": {
"description": "The token provided to the user's device when the inapp product was purchased.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{packageName}/inapp/{productId}/purchases/{token}",
"response": {
"$ref": "InappPurchase"
},
"scopes": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
}
},
"purchases": {
"methods": {
"cancel": {
"description": "Cancels a user's subscription purchase. The subscription remains valid until its expiration time.",
"httpMethod": "POST",
"id": "androidpublisher.purchases.cancel",
"parameterOrder": [
"packageName",
"subscriptionId",
"token"
],
"parameters": {
"packageName": {
"description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
"location": "path",
"required": true,
"type": "string"
},
"subscriptionId": {
"description": "The purchased subscription ID (for example, 'monthly001').",
"location": "path",
"required": true,
"type": "string"
},
"token": {
"description": "The token provided to the user's device when the subscription was purchased.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel",
"scopes": [
"https://www.googleapis.com/auth/androidpublisher"
]
},
"get": {
"description": "Checks whether a user's subscription purchase is valid and returns its expiry time.",
"httpMethod": "GET",
"id": "androidpublisher.purchases.get",
"parameterOrder": [
"packageName",
"subscriptionId",
"token"
],
"parameters": {
"packageName": {
"description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
"location": "path",
"required": true,
"type": "string"
},
"subscriptionId": {
"description": "The purchased subscription ID (for example, 'monthly001').",
"location": "path",
"required": true,
"type": "string"
},
"token": {
"description": "The token provided to the user's device when the subscription was purchased.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{packageName}/subscriptions/{subscriptionId}/purchases/{token}",
"response": {
"$ref": "SubscriptionPurchase"
},
"scopes": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
}
}
},
"revision": "20180211",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"InappPurchase": {
"description": "An InappPurchase resource indicates the status of a user's inapp product purchase.",
"id": "InappPurchase",
"properties": {
"consumptionState": {
"description": "The consumption state of the inapp product. Possible values are: \n- Yet to be consumed \n- Consumed",
"format": "int32",
"type": "integer"
},
"developerPayload": {
"description": "A developer-specified string that contains supplemental information about an order.",
"type": "string"
},
"kind": {
"default": "androidpublisher#inappPurchase",
"description": "This kind represents an inappPurchase object in the androidpublisher service.",
"type": "string"
},
"orderId": {
"description": "The order id associated with the purchase of the inapp product.",
"type": "string"
},
"purchaseState": {
"description": "The purchase state of the order. Possible values are: \n- Purchased \n- Canceled",
"format": "int32",
"type": "integer"
},
"purchaseTime": {
"description": "The time the product was purchased, in milliseconds since the epoch (Jan 1, 1970).",
"format": "int64",
"type": "string"
},
"purchaseType": {
"description": "The type of purchase of the inapp product. This field is only set if this purchase was not made using the standard in-app billing flow. Possible values are: \n- Test (i.e. purchased from a license testing account) \n- Promo (i.e. purchased using a promo code)",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"SubscriptionPurchase": {
"description": "A SubscriptionPurchase resource indicates the status of a user's subscription purchase.",
"id": "SubscriptionPurchase",
"properties": {
"autoRenewing": {
"description": "Whether the subscription will automatically be renewed when it reaches its current expiry time.",
"type": "boolean"
},
"initiationTimestampMsec": {
"description": "Time at which the subscription was granted, in milliseconds since the Epoch.",
"format": "int64",
"type": "string"
},
"kind": {
"default": "androidpublisher#subscriptionPurchase",
"description": "This kind represents a subscriptionPurchase object in the androidpublisher service.",
"type": "string"
},
"validUntilTimestampMsec": {
"description": "Time at which the subscription will expire, in milliseconds since the Epoch.",
"format": "int64",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "androidpublisher/v1.1/applications/",
"title": "Google Play Developer API",
"version": "v1.1"
}

View file

@ -1,640 +0,0 @@
// Package androidpublisher provides access to the Google Play Developer API.
//
// See https://developers.google.com/android-publisher
//
// Usage example:
//
// import "google.golang.org/api/androidpublisher/v1.1"
// ...
// androidpublisherService, err := androidpublisher.New(oauthHttpClient)
package androidpublisher // import "google.golang.org/api/androidpublisher/v1.1"
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 = "androidpublisher:v1.1"
const apiName = "androidpublisher"
const apiVersion = "v1.1"
const basePath = "https://www.googleapis.com/androidpublisher/v1.1/applications/"
// OAuth2 scopes used by this API.
const (
// View and manage your Google Play Developer account
AndroidpublisherScope = "https://www.googleapis.com/auth/androidpublisher"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Inapppurchases = NewInapppurchasesService(s)
s.Purchases = NewPurchasesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Inapppurchases *InapppurchasesService
Purchases *PurchasesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewInapppurchasesService(s *Service) *InapppurchasesService {
rs := &InapppurchasesService{s: s}
return rs
}
type InapppurchasesService struct {
s *Service
}
func NewPurchasesService(s *Service) *PurchasesService {
rs := &PurchasesService{s: s}
return rs
}
type PurchasesService struct {
s *Service
}
// InappPurchase: An InappPurchase resource indicates the status of a
// user's inapp product purchase.
type InappPurchase struct {
// ConsumptionState: The consumption state of the inapp product.
// Possible values are:
// - Yet to be consumed
// - Consumed
ConsumptionState int64 `json:"consumptionState,omitempty"`
// DeveloperPayload: A developer-specified string that contains
// supplemental information about an order.
DeveloperPayload string `json:"developerPayload,omitempty"`
// Kind: This kind represents an inappPurchase object in the
// androidpublisher service.
Kind string `json:"kind,omitempty"`
// OrderId: The order id associated with the purchase of the inapp
// product.
OrderId string `json:"orderId,omitempty"`
// PurchaseState: The purchase state of the order. Possible values are:
//
// - Purchased
// - Canceled
PurchaseState int64 `json:"purchaseState,omitempty"`
// PurchaseTime: The time the product was purchased, in milliseconds
// since the epoch (Jan 1, 1970).
PurchaseTime int64 `json:"purchaseTime,omitempty,string"`
// PurchaseType: The type of purchase of the inapp product. This field
// is only set if this purchase was not made using the standard in-app
// billing flow. Possible values are:
// - Test (i.e. purchased from a license testing account)
// - Promo (i.e. purchased using a promo code)
PurchaseType int64 `json:"purchaseType,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ConsumptionState") 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. "ConsumptionState") 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 *InappPurchase) MarshalJSON() ([]byte, error) {
type NoMethod InappPurchase
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SubscriptionPurchase: A SubscriptionPurchase resource indicates the
// status of a user's subscription purchase.
type SubscriptionPurchase struct {
// AutoRenewing: Whether the subscription will automatically be renewed
// when it reaches its current expiry time.
AutoRenewing bool `json:"autoRenewing,omitempty"`
// InitiationTimestampMsec: Time at which the subscription was granted,
// in milliseconds since the Epoch.
InitiationTimestampMsec int64 `json:"initiationTimestampMsec,omitempty,string"`
// Kind: This kind represents a subscriptionPurchase object in the
// androidpublisher service.
Kind string `json:"kind,omitempty"`
// ValidUntilTimestampMsec: Time at which the subscription will expire,
// in milliseconds since the Epoch.
ValidUntilTimestampMsec int64 `json:"validUntilTimestampMsec,omitempty,string"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AutoRenewing") 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. "AutoRenewing") 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 *SubscriptionPurchase) MarshalJSON() ([]byte, error) {
type NoMethod SubscriptionPurchase
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "androidpublisher.inapppurchases.get":
type InapppurchasesGetCall struct {
s *Service
packageName string
productId string
token string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Checks the purchase and consumption status of an inapp item.
func (r *InapppurchasesService) Get(packageName string, productId string, token string) *InapppurchasesGetCall {
c := &InapppurchasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.packageName = packageName
c.productId = productId
c.token = token
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 *InapppurchasesGetCall) Fields(s ...googleapi.Field) *InapppurchasesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *InapppurchasesGetCall) IfNoneMatch(entityTag string) *InapppurchasesGetCall {
c.ifNoneMatch_ = entityTag
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 *InapppurchasesGetCall) Context(ctx context.Context) *InapppurchasesGetCall {
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 *InapppurchasesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *InapppurchasesGetCall) 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())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/inapp/{productId}/purchases/{token}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"packageName": c.packageName,
"productId": c.productId,
"token": c.token,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "androidpublisher.inapppurchases.get" call.
// Exactly one of *InappPurchase or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *InappPurchase.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 *InapppurchasesGetCall) Do(opts ...googleapi.CallOption) (*InappPurchase, 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 := &InappPurchase{
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": "Checks the purchase and consumption status of an inapp item.",
// "httpMethod": "GET",
// "id": "androidpublisher.inapppurchases.get",
// "parameterOrder": [
// "packageName",
// "productId",
// "token"
// ],
// "parameters": {
// "packageName": {
// "description": "The package name of the application the inapp product was sold in (for example, 'com.some.thing').",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "productId": {
// "description": "The inapp product SKU (for example, 'com.some.thing.inapp1').",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "token": {
// "description": "The token provided to the user's device when the inapp product was purchased.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "{packageName}/inapp/{productId}/purchases/{token}",
// "response": {
// "$ref": "InappPurchase"
// },
// "scopes": [
// "https://www.googleapis.com/auth/androidpublisher"
// ]
// }
}
// method id "androidpublisher.purchases.cancel":
type PurchasesCancelCall struct {
s *Service
packageName string
subscriptionId string
token string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Cancel: Cancels a user's subscription purchase. The subscription
// remains valid until its expiration time.
func (r *PurchasesService) Cancel(packageName string, subscriptionId string, token string) *PurchasesCancelCall {
c := &PurchasesCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.packageName = packageName
c.subscriptionId = subscriptionId
c.token = token
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 *PurchasesCancelCall) Fields(s ...googleapi.Field) *PurchasesCancelCall {
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 *PurchasesCancelCall) Context(ctx context.Context) *PurchasesCancelCall {
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 *PurchasesCancelCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *PurchasesCancelCall) 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
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"packageName": c.packageName,
"subscriptionId": c.subscriptionId,
"token": c.token,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "androidpublisher.purchases.cancel" call.
func (c *PurchasesCancelCall) Do(opts ...googleapi.CallOption) error {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Cancels a user's subscription purchase. The subscription remains valid until its expiration time.",
// "httpMethod": "POST",
// "id": "androidpublisher.purchases.cancel",
// "parameterOrder": [
// "packageName",
// "subscriptionId",
// "token"
// ],
// "parameters": {
// "packageName": {
// "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "subscriptionId": {
// "description": "The purchased subscription ID (for example, 'monthly001').",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "token": {
// "description": "The token provided to the user's device when the subscription was purchased.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel",
// "scopes": [
// "https://www.googleapis.com/auth/androidpublisher"
// ]
// }
}
// method id "androidpublisher.purchases.get":
type PurchasesGetCall struct {
s *Service
packageName string
subscriptionId string
token string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Checks whether a user's subscription purchase is valid and
// returns its expiry time.
func (r *PurchasesService) Get(packageName string, subscriptionId string, token string) *PurchasesGetCall {
c := &PurchasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.packageName = packageName
c.subscriptionId = subscriptionId
c.token = token
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 *PurchasesGetCall) Fields(s ...googleapi.Field) *PurchasesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *PurchasesGetCall) IfNoneMatch(entityTag string) *PurchasesGetCall {
c.ifNoneMatch_ = entityTag
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 *PurchasesGetCall) Context(ctx context.Context) *PurchasesGetCall {
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 *PurchasesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *PurchasesGetCall) 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())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/subscriptions/{subscriptionId}/purchases/{token}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"packageName": c.packageName,
"subscriptionId": c.subscriptionId,
"token": c.token,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "androidpublisher.purchases.get" call.
// Exactly one of *SubscriptionPurchase or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *SubscriptionPurchase.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 *PurchasesGetCall) Do(opts ...googleapi.CallOption) (*SubscriptionPurchase, 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 := &SubscriptionPurchase{
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": "Checks whether a user's subscription purchase is valid and returns its expiry time.",
// "httpMethod": "GET",
// "id": "androidpublisher.purchases.get",
// "parameterOrder": [
// "packageName",
// "subscriptionId",
// "token"
// ],
// "parameters": {
// "packageName": {
// "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "subscriptionId": {
// "description": "The purchased subscription ID (for example, 'monthly001').",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "token": {
// "description": "The token provided to the user's device when the subscription was purchased.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "{packageName}/subscriptions/{subscriptionId}/purchases/{token}",
// "response": {
// "$ref": "SubscriptionPurchase"
// },
// "scopes": [
// "https://www.googleapis.com/auth/androidpublisher"
// ]
// }
}

View file

@ -1,184 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/androidpublisher": {
"description": "View and manage your Google Play Developer account"
}
}
}
},
"basePath": "/androidpublisher/v1/applications/",
"baseUrl": "https://www.googleapis.com/androidpublisher/v1/applications/",
"batchPath": "batch/androidpublisher/v1",
"canonicalName": "Android Publisher",
"description": "Lets Android application developers access their Google Play accounts.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/android-publisher",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/R8egrhZl5j6Tk7CLvSpuFNhpTLc\"",
"icons": {
"x16": "https://www.google.com/images/icons/product/android-16.png",
"x32": "https://www.google.com/images/icons/product/android-32.png"
},
"id": "androidpublisher:v1",
"kind": "discovery#restDescription",
"name": "androidpublisher",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"purchases": {
"methods": {
"cancel": {
"description": "Cancels a user's subscription purchase. The subscription remains valid until its expiration time.",
"httpMethod": "POST",
"id": "androidpublisher.purchases.cancel",
"parameterOrder": [
"packageName",
"subscriptionId",
"token"
],
"parameters": {
"packageName": {
"description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
"location": "path",
"required": true,
"type": "string"
},
"subscriptionId": {
"description": "The purchased subscription ID (for example, 'monthly001').",
"location": "path",
"required": true,
"type": "string"
},
"token": {
"description": "The token provided to the user's device when the subscription was purchased.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel",
"scopes": [
"https://www.googleapis.com/auth/androidpublisher"
]
},
"get": {
"description": "Checks whether a user's subscription purchase is valid and returns its expiry time.",
"httpMethod": "GET",
"id": "androidpublisher.purchases.get",
"parameterOrder": [
"packageName",
"subscriptionId",
"token"
],
"parameters": {
"packageName": {
"description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
"location": "path",
"required": true,
"type": "string"
},
"subscriptionId": {
"description": "The purchased subscription ID (for example, 'monthly001').",
"location": "path",
"required": true,
"type": "string"
},
"token": {
"description": "The token provided to the user's device when the subscription was purchased.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{packageName}/subscriptions/{subscriptionId}/purchases/{token}",
"response": {
"$ref": "SubscriptionPurchase"
},
"scopes": [
"https://www.googleapis.com/auth/androidpublisher"
]
}
}
}
},
"revision": "20180121",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"SubscriptionPurchase": {
"description": "A SubscriptionPurchase resource indicates the status of a user's subscription purchase.",
"id": "SubscriptionPurchase",
"properties": {
"autoRenewing": {
"description": "Whether the subscription will automatically be renewed when it reaches its current expiry time.",
"type": "boolean"
},
"initiationTimestampMsec": {
"description": "Time at which the subscription was granted, in milliseconds since the Epoch.",
"format": "int64",
"type": "string"
},
"kind": {
"default": "androidpublisher#subscriptionPurchase",
"description": "This kind represents a subscriptionPurchase object in the androidpublisher service.",
"type": "string"
},
"validUntilTimestampMsec": {
"description": "Time at which the subscription will expire, in milliseconds since the Epoch.",
"format": "int64",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "androidpublisher/v1/applications/",
"title": "Google Play Developer API",
"version": "v1"
}

View file

@ -1,405 +0,0 @@
// Package androidpublisher provides access to the Google Play Developer API.
//
// See https://developers.google.com/android-publisher
//
// Usage example:
//
// import "google.golang.org/api/androidpublisher/v1"
// ...
// androidpublisherService, err := androidpublisher.New(oauthHttpClient)
package androidpublisher // import "google.golang.org/api/androidpublisher/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 = "androidpublisher:v1"
const apiName = "androidpublisher"
const apiVersion = "v1"
const basePath = "https://www.googleapis.com/androidpublisher/v1/applications/"
// OAuth2 scopes used by this API.
const (
// View and manage your Google Play Developer account
AndroidpublisherScope = "https://www.googleapis.com/auth/androidpublisher"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Purchases = NewPurchasesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Purchases *PurchasesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewPurchasesService(s *Service) *PurchasesService {
rs := &PurchasesService{s: s}
return rs
}
type PurchasesService struct {
s *Service
}
// SubscriptionPurchase: A SubscriptionPurchase resource indicates the
// status of a user's subscription purchase.
type SubscriptionPurchase struct {
// AutoRenewing: Whether the subscription will automatically be renewed
// when it reaches its current expiry time.
AutoRenewing bool `json:"autoRenewing,omitempty"`
// InitiationTimestampMsec: Time at which the subscription was granted,
// in milliseconds since the Epoch.
InitiationTimestampMsec int64 `json:"initiationTimestampMsec,omitempty,string"`
// Kind: This kind represents a subscriptionPurchase object in the
// androidpublisher service.
Kind string `json:"kind,omitempty"`
// ValidUntilTimestampMsec: Time at which the subscription will expire,
// in milliseconds since the Epoch.
ValidUntilTimestampMsec int64 `json:"validUntilTimestampMsec,omitempty,string"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AutoRenewing") 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. "AutoRenewing") 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 *SubscriptionPurchase) MarshalJSON() ([]byte, error) {
type NoMethod SubscriptionPurchase
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "androidpublisher.purchases.cancel":
type PurchasesCancelCall struct {
s *Service
packageName string
subscriptionId string
token string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Cancel: Cancels a user's subscription purchase. The subscription
// remains valid until its expiration time.
func (r *PurchasesService) Cancel(packageName string, subscriptionId string, token string) *PurchasesCancelCall {
c := &PurchasesCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.packageName = packageName
c.subscriptionId = subscriptionId
c.token = token
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 *PurchasesCancelCall) Fields(s ...googleapi.Field) *PurchasesCancelCall {
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 *PurchasesCancelCall) Context(ctx context.Context) *PurchasesCancelCall {
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 *PurchasesCancelCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *PurchasesCancelCall) 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
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"packageName": c.packageName,
"subscriptionId": c.subscriptionId,
"token": c.token,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "androidpublisher.purchases.cancel" call.
func (c *PurchasesCancelCall) Do(opts ...googleapi.CallOption) error {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Cancels a user's subscription purchase. The subscription remains valid until its expiration time.",
// "httpMethod": "POST",
// "id": "androidpublisher.purchases.cancel",
// "parameterOrder": [
// "packageName",
// "subscriptionId",
// "token"
// ],
// "parameters": {
// "packageName": {
// "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "subscriptionId": {
// "description": "The purchased subscription ID (for example, 'monthly001').",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "token": {
// "description": "The token provided to the user's device when the subscription was purchased.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel",
// "scopes": [
// "https://www.googleapis.com/auth/androidpublisher"
// ]
// }
}
// method id "androidpublisher.purchases.get":
type PurchasesGetCall struct {
s *Service
packageName string
subscriptionId string
token string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Checks whether a user's subscription purchase is valid and
// returns its expiry time.
func (r *PurchasesService) Get(packageName string, subscriptionId string, token string) *PurchasesGetCall {
c := &PurchasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.packageName = packageName
c.subscriptionId = subscriptionId
c.token = token
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 *PurchasesGetCall) Fields(s ...googleapi.Field) *PurchasesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *PurchasesGetCall) IfNoneMatch(entityTag string) *PurchasesGetCall {
c.ifNoneMatch_ = entityTag
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 *PurchasesGetCall) Context(ctx context.Context) *PurchasesGetCall {
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 *PurchasesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *PurchasesGetCall) 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())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/subscriptions/{subscriptionId}/purchases/{token}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"packageName": c.packageName,
"subscriptionId": c.subscriptionId,
"token": c.token,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "androidpublisher.purchases.get" call.
// Exactly one of *SubscriptionPurchase or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *SubscriptionPurchase.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 *PurchasesGetCall) Do(opts ...googleapi.CallOption) (*SubscriptionPurchase, 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 := &SubscriptionPurchase{
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": "Checks whether a user's subscription purchase is valid and returns its expiry time.",
// "httpMethod": "GET",
// "id": "androidpublisher.purchases.get",
// "parameterOrder": [
// "packageName",
// "subscriptionId",
// "token"
// ],
// "parameters": {
// "packageName": {
// "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "subscriptionId": {
// "description": "The purchased subscription ID (for example, 'monthly001').",
// "location": "path",
// "required": true,
// "type": "string"
// },
// "token": {
// "description": "The token provided to the user's device when the subscription was purchased.",
// "location": "path",
// "required": true,
// "type": "string"
// }
// },
// "path": "{packageName}/subscriptions/{subscriptionId}/purchases/{token}",
// "response": {
// "$ref": "SubscriptionPurchase"
// },
// "scopes": [
// "https://www.googleapis.com/auth/androidpublisher"
// ]
// }
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,475 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/activity": {
"description": "View the activity history of your Google apps"
}
}
}
},
"basePath": "/appsactivity/v1/",
"baseUrl": "https://www.googleapis.com/appsactivity/v1/",
"batchPath": "batch/appsactivity/v1",
"description": "Provides a historical view of activity.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/google-apps/activity/",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/i2G9IjUY6hcmy1d1bAWQZIc125s\"",
"icons": {
"x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
"x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
},
"id": "appsactivity:v1",
"kind": "discovery#restDescription",
"name": "appsactivity",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"activities": {
"methods": {
"list": {
"description": "Returns a list of activities visible to the current logged in user. Visible activities are determined by the visiblity settings of the object that was acted on, e.g. Drive files a user can see. An activity is a record of past events. Multiple events may be merged if they are similar. A request is scoped to activities from a given Google service using the source parameter.",
"httpMethod": "GET",
"id": "appsactivity.activities.list",
"parameters": {
"drive.ancestorId": {
"description": "Identifies the Drive folder containing the items for which to return activities.",
"location": "query",
"type": "string"
},
"drive.fileId": {
"description": "Identifies the Drive item to return activities for.",
"location": "query",
"type": "string"
},
"groupingStrategy": {
"default": "driveUi",
"description": "Indicates the strategy to use when grouping singleEvents items in the associated combinedEvent object.",
"enum": [
"driveUi",
"none"
],
"enumDescriptions": [
"",
""
],
"location": "query",
"type": "string"
},
"pageSize": {
"default": "50",
"description": "The maximum number of events to return on a page. The response includes a continuation token if there are more events.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A token to retrieve a specific page of results.",
"location": "query",
"type": "string"
},
"source": {
"description": "The Google service from which to return activities. Possible values of source are: \n- drive.google.com",
"location": "query",
"type": "string"
},
"userId": {
"default": "me",
"description": "Indicates the user to return activity for. Use the special value me to indicate the currently authenticated user.",
"location": "query",
"type": "string"
}
},
"path": "activities",
"response": {
"$ref": "ListActivitiesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/activity"
]
}
}
}
},
"revision": "20180204",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"Activity": {
"description": "An Activity resource is a combined view of multiple events. An activity has a list of individual events and a combined view of the common fields among all events.",
"id": "Activity",
"properties": {
"combinedEvent": {
"$ref": "Event",
"description": "The fields common to all of the singleEvents that make up the Activity."
},
"singleEvents": {
"description": "A list of all the Events that make up the Activity.",
"items": {
"$ref": "Event"
},
"type": "array"
}
},
"type": "object"
},
"Event": {
"description": "Represents the changes associated with an action taken by a user.",
"id": "Event",
"properties": {
"additionalEventTypes": {
"description": "Additional event types. Some events may have multiple types when multiple actions are part of a single event. For example, creating a document, renaming it, and sharing it may be part of a single file-creation event.",
"items": {
"enum": [
"comment",
"create",
"edit",
"emptyTrash",
"move",
"permissionChange",
"rename",
"trash",
"unknown",
"untrash",
"upload"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
],
"type": "string"
},
"type": "array"
},
"eventTimeMillis": {
"description": "The time at which the event occurred formatted as Unix time in milliseconds.",
"format": "uint64",
"type": "string"
},
"fromUserDeletion": {
"description": "Whether this event is caused by a user being deleted.",
"type": "boolean"
},
"move": {
"$ref": "Move",
"description": "Extra information for move type events, such as changes in an object's parents."
},
"permissionChanges": {
"description": "Extra information for permissionChange type events, such as the user or group the new permission applies to.",
"items": {
"$ref": "PermissionChange"
},
"type": "array"
},
"primaryEventType": {
"description": "The main type of event that occurred.",
"enum": [
"comment",
"create",
"edit",
"emptyTrash",
"move",
"permissionChange",
"rename",
"trash",
"unknown",
"untrash",
"upload"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
],
"type": "string"
},
"rename": {
"$ref": "Rename",
"description": "Extra information for rename type events, such as the old and new names."
},
"target": {
"$ref": "Target",
"description": "Information specific to the Target object modified by the event."
},
"user": {
"$ref": "User",
"description": "Represents the user responsible for the event."
}
},
"type": "object"
},
"ListActivitiesResponse": {
"description": "The response from the list request. Contains a list of activities and a token to retrieve the next page of results.",
"id": "ListActivitiesResponse",
"properties": {
"activities": {
"description": "List of activities.",
"items": {
"$ref": "Activity"
},
"type": "array"
},
"nextPageToken": {
"description": "Token for the next page of results.",
"type": "string"
}
},
"type": "object"
},
"Move": {
"description": "Contains information about changes in an object's parents as a result of a move type event.",
"id": "Move",
"properties": {
"addedParents": {
"description": "The added parent(s).",
"items": {
"$ref": "Parent"
},
"type": "array"
},
"removedParents": {
"description": "The removed parent(s).",
"items": {
"$ref": "Parent"
},
"type": "array"
}
},
"type": "object"
},
"Parent": {
"description": "Contains information about a parent object. For example, a folder in Drive is a parent for all files within it.",
"id": "Parent",
"properties": {
"id": {
"description": "The parent's ID.",
"type": "string"
},
"isRoot": {
"description": "Whether this is the root folder.",
"type": "boolean"
},
"title": {
"description": "The parent's title.",
"type": "string"
}
},
"type": "object"
},
"Permission": {
"description": "Contains information about the permissions and type of access allowed with regards to a Google Drive object. This is a subset of the fields contained in a corresponding Drive Permissions object.",
"id": "Permission",
"properties": {
"name": {
"description": "The name of the user or group the permission applies to.",
"type": "string"
},
"permissionId": {
"description": "The ID for this permission. Corresponds to the Drive API's permission ID returned as part of the Drive Permissions resource.",
"type": "string"
},
"role": {
"description": "Indicates the Google Drive permissions role. The role determines a user's ability to read, write, or comment on the file.",
"enum": [
"commenter",
"owner",
"publishedReader",
"reader",
"writer"
],
"enumDescriptions": [
"",
"",
"",
"",
""
],
"type": "string"
},
"type": {
"description": "Indicates how widely permissions are granted.",
"enum": [
"anyone",
"domain",
"group",
"user"
],
"enumDescriptions": [
"",
"",
"",
""
],
"type": "string"
},
"user": {
"$ref": "User",
"description": "The user's information if the type is USER."
},
"withLink": {
"description": "Whether the permission requires a link to the file.",
"type": "boolean"
}
},
"type": "object"
},
"PermissionChange": {
"description": "Contains information about a Drive object's permissions that changed as a result of a permissionChange type event.",
"id": "PermissionChange",
"properties": {
"addedPermissions": {
"description": "Lists all Permission objects added.",
"items": {
"$ref": "Permission"
},
"type": "array"
},
"removedPermissions": {
"description": "Lists all Permission objects removed.",
"items": {
"$ref": "Permission"
},
"type": "array"
}
},
"type": "object"
},
"Photo": {
"description": "Photo information for a user.",
"id": "Photo",
"properties": {
"url": {
"description": "The URL of the photo.",
"type": "string"
}
},
"type": "object"
},
"Rename": {
"description": "Contains information about a renametype event.",
"id": "Rename",
"properties": {
"newTitle": {
"description": "The new title.",
"type": "string"
},
"oldTitle": {
"description": "The old title.",
"type": "string"
}
},
"type": "object"
},
"Target": {
"description": "Information about the object modified by the event.",
"id": "Target",
"properties": {
"id": {
"description": "The ID of the target. For example, in Google Drive, this is the file or folder ID.",
"type": "string"
},
"mimeType": {
"description": "The MIME type of the target.",
"type": "string"
},
"name": {
"description": "The name of the target. For example, in Google Drive, this is the title of the file.",
"type": "string"
}
},
"type": "object"
},
"User": {
"description": "A representation of a user.",
"id": "User",
"properties": {
"isDeleted": {
"description": "A boolean which indicates whether the specified User was deleted. If true, name, photo and permission_id will be omitted.",
"type": "boolean"
},
"isMe": {
"description": "Whether the user is the authenticated user.",
"type": "boolean"
},
"name": {
"description": "The displayable name of the user.",
"type": "string"
},
"permissionId": {
"description": "The permission ID associated with this user. Equivalent to the Drive API's permission ID for this user, returned as part of the Drive Permissions resource.",
"type": "string"
},
"photo": {
"$ref": "Photo",
"description": "The profile photo of the user. Not present if the user has no profile photo."
}
},
"type": "object"
}
},
"servicePath": "appsactivity/v1/",
"title": "G Suite Activity API",
"version": "v1"
}

View file

@ -1,802 +0,0 @@
// Package appsactivity provides access to the G Suite Activity API.
//
// See https://developers.google.com/google-apps/activity/
//
// Usage example:
//
// import "google.golang.org/api/appsactivity/v1"
// ...
// appsactivityService, err := appsactivity.New(oauthHttpClient)
package appsactivity // import "google.golang.org/api/appsactivity/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 = "appsactivity:v1"
const apiName = "appsactivity"
const apiVersion = "v1"
const basePath = "https://www.googleapis.com/appsactivity/v1/"
// OAuth2 scopes used by this API.
const (
// View the activity history of your Google apps
ActivityScope = "https://www.googleapis.com/auth/activity"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Activities = NewActivitiesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Activities *ActivitiesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewActivitiesService(s *Service) *ActivitiesService {
rs := &ActivitiesService{s: s}
return rs
}
type ActivitiesService struct {
s *Service
}
// Activity: An Activity resource is a combined view of multiple events.
// An activity has a list of individual events and a combined view of
// the common fields among all events.
type Activity struct {
// CombinedEvent: The fields common to all of the singleEvents that make
// up the Activity.
CombinedEvent *Event `json:"combinedEvent,omitempty"`
// SingleEvents: A list of all the Events that make up the Activity.
SingleEvents []*Event `json:"singleEvents,omitempty"`
// ForceSendFields is a list of field names (e.g. "CombinedEvent") 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. "CombinedEvent") 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 *Activity) MarshalJSON() ([]byte, error) {
type NoMethod Activity
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Event: Represents the changes associated with an action taken by a
// user.
type Event struct {
// AdditionalEventTypes: Additional event types. Some events may have
// multiple types when multiple actions are part of a single event. For
// example, creating a document, renaming it, and sharing it may be part
// of a single file-creation event.
//
// Possible values:
// "comment"
// "create"
// "edit"
// "emptyTrash"
// "move"
// "permissionChange"
// "rename"
// "trash"
// "unknown"
// "untrash"
// "upload"
AdditionalEventTypes []string `json:"additionalEventTypes,omitempty"`
// EventTimeMillis: The time at which the event occurred formatted as
// Unix time in milliseconds.
EventTimeMillis uint64 `json:"eventTimeMillis,omitempty,string"`
// FromUserDeletion: Whether this event is caused by a user being
// deleted.
FromUserDeletion bool `json:"fromUserDeletion,omitempty"`
// Move: Extra information for move type events, such as changes in an
// object's parents.
Move *Move `json:"move,omitempty"`
// PermissionChanges: Extra information for permissionChange type
// events, such as the user or group the new permission applies to.
PermissionChanges []*PermissionChange `json:"permissionChanges,omitempty"`
// PrimaryEventType: The main type of event that occurred.
//
// Possible values:
// "comment"
// "create"
// "edit"
// "emptyTrash"
// "move"
// "permissionChange"
// "rename"
// "trash"
// "unknown"
// "untrash"
// "upload"
PrimaryEventType string `json:"primaryEventType,omitempty"`
// Rename: Extra information for rename type events, such as the old and
// new names.
Rename *Rename `json:"rename,omitempty"`
// Target: Information specific to the Target object modified by the
// event.
Target *Target `json:"target,omitempty"`
// User: Represents the user responsible for the event.
User *User `json:"user,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AdditionalEventTypes") 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. "AdditionalEventTypes") 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 *Event) MarshalJSON() ([]byte, error) {
type NoMethod Event
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListActivitiesResponse: The response from the list request. Contains
// a list of activities and a token to retrieve the next page of
// results.
type ListActivitiesResponse struct {
// Activities: List of activities.
Activities []*Activity `json:"activities,omitempty"`
// NextPageToken: Token for the next page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Activities") 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. "Activities") 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 *ListActivitiesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListActivitiesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Move: Contains information about changes in an object's parents as a
// result of a move type event.
type Move struct {
// AddedParents: The added parent(s).
AddedParents []*Parent `json:"addedParents,omitempty"`
// RemovedParents: The removed parent(s).
RemovedParents []*Parent `json:"removedParents,omitempty"`
// ForceSendFields is a list of field names (e.g. "AddedParents") 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. "AddedParents") 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 *Move) MarshalJSON() ([]byte, error) {
type NoMethod Move
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Parent: Contains information about a parent object. For example, a
// folder in Drive is a parent for all files within it.
type Parent struct {
// Id: The parent's ID.
Id string `json:"id,omitempty"`
// IsRoot: Whether this is the root folder.
IsRoot bool `json:"isRoot,omitempty"`
// Title: The parent's title.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Id") 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. "Id") 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 *Parent) MarshalJSON() ([]byte, error) {
type NoMethod Parent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Permission: Contains information about the permissions and type of
// access allowed with regards to a Google Drive object. This is a
// subset of the fields contained in a corresponding Drive Permissions
// object.
type Permission struct {
// Name: The name of the user or group the permission applies to.
Name string `json:"name,omitempty"`
// PermissionId: The ID for this permission. Corresponds to the Drive
// API's permission ID returned as part of the Drive Permissions
// resource.
PermissionId string `json:"permissionId,omitempty"`
// Role: Indicates the Google Drive permissions role. The role
// determines a user's ability to read, write, or comment on the file.
//
// Possible values:
// "commenter"
// "owner"
// "publishedReader"
// "reader"
// "writer"
Role string `json:"role,omitempty"`
// Type: Indicates how widely permissions are granted.
//
// Possible values:
// "anyone"
// "domain"
// "group"
// "user"
Type string `json:"type,omitempty"`
// User: The user's information if the type is USER.
User *User `json:"user,omitempty"`
// WithLink: Whether the permission requires a link to the file.
WithLink bool `json:"withLink,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") 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. "Name") 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 *Permission) MarshalJSON() ([]byte, error) {
type NoMethod Permission
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PermissionChange: Contains information about a Drive object's
// permissions that changed as a result of a permissionChange type
// event.
type PermissionChange struct {
// AddedPermissions: Lists all Permission objects added.
AddedPermissions []*Permission `json:"addedPermissions,omitempty"`
// RemovedPermissions: Lists all Permission objects removed.
RemovedPermissions []*Permission `json:"removedPermissions,omitempty"`
// ForceSendFields is a list of field names (e.g. "AddedPermissions") 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. "AddedPermissions") 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 *PermissionChange) MarshalJSON() ([]byte, error) {
type NoMethod PermissionChange
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Photo: Photo information for a user.
type Photo struct {
// Url: The URL of the photo.
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 *Photo) MarshalJSON() ([]byte, error) {
type NoMethod Photo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Rename: Contains information about a renametype event.
type Rename struct {
// NewTitle: The new title.
NewTitle string `json:"newTitle,omitempty"`
// OldTitle: The old title.
OldTitle string `json:"oldTitle,omitempty"`
// ForceSendFields is a list of field names (e.g. "NewTitle") 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. "NewTitle") 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 *Rename) MarshalJSON() ([]byte, error) {
type NoMethod Rename
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Target: Information about the object modified by the event.
type Target struct {
// Id: The ID of the target. For example, in Google Drive, this is the
// file or folder ID.
Id string `json:"id,omitempty"`
// MimeType: The MIME type of the target.
MimeType string `json:"mimeType,omitempty"`
// Name: The name of the target. For example, in Google Drive, this is
// the title of the file.
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "Id") 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. "Id") 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 *Target) MarshalJSON() ([]byte, error) {
type NoMethod Target
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// User: A representation of a user.
type User struct {
// IsDeleted: A boolean which indicates whether the specified User was
// deleted. If true, name, photo and permission_id will be omitted.
IsDeleted bool `json:"isDeleted,omitempty"`
// IsMe: Whether the user is the authenticated user.
IsMe bool `json:"isMe,omitempty"`
// Name: The displayable name of the user.
Name string `json:"name,omitempty"`
// PermissionId: The permission ID associated with this user. Equivalent
// to the Drive API's permission ID for this user, returned as part of
// the Drive Permissions resource.
PermissionId string `json:"permissionId,omitempty"`
// Photo: The profile photo of the user. Not present if the user has no
// profile photo.
Photo *Photo `json:"photo,omitempty"`
// ForceSendFields is a list of field names (e.g. "IsDeleted") 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. "IsDeleted") 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 *User) MarshalJSON() ([]byte, error) {
type NoMethod User
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "appsactivity.activities.list":
type ActivitiesListCall struct {
s *Service
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Returns a list of activities visible to the current logged in
// user. Visible activities are determined by the visiblity settings of
// the object that was acted on, e.g. Drive files a user can see. An
// activity is a record of past events. Multiple events may be merged if
// they are similar. A request is scoped to activities from a given
// Google service using the source parameter.
func (r *ActivitiesService) List() *ActivitiesListCall {
c := &ActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
return c
}
// DriveAncestorId sets the optional parameter "drive.ancestorId":
// Identifies the Drive folder containing the items for which to return
// activities.
func (c *ActivitiesListCall) DriveAncestorId(driveAncestorId string) *ActivitiesListCall {
c.urlParams_.Set("drive.ancestorId", driveAncestorId)
return c
}
// DriveFileId sets the optional parameter "drive.fileId": Identifies
// the Drive item to return activities for.
func (c *ActivitiesListCall) DriveFileId(driveFileId string) *ActivitiesListCall {
c.urlParams_.Set("drive.fileId", driveFileId)
return c
}
// GroupingStrategy sets the optional parameter "groupingStrategy":
// Indicates the strategy to use when grouping singleEvents items in the
// associated combinedEvent object.
//
// Possible values:
// "driveUi" (default)
// "none"
func (c *ActivitiesListCall) GroupingStrategy(groupingStrategy string) *ActivitiesListCall {
c.urlParams_.Set("groupingStrategy", groupingStrategy)
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number
// of events to return on a page. The response includes a continuation
// token if there are more events.
func (c *ActivitiesListCall) PageSize(pageSize int64) *ActivitiesListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A token to
// retrieve a specific page of results.
func (c *ActivitiesListCall) PageToken(pageToken string) *ActivitiesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Source sets the optional parameter "source": The Google service from
// which to return activities. Possible values of source are:
// - drive.google.com
func (c *ActivitiesListCall) Source(source string) *ActivitiesListCall {
c.urlParams_.Set("source", source)
return c
}
// UserId sets the optional parameter "userId": Indicates the user to
// return activity for. Use the special value me to indicate the
// currently authenticated user.
func (c *ActivitiesListCall) UserId(userId string) *ActivitiesListCall {
c.urlParams_.Set("userId", userId)
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 *ActivitiesListCall) Fields(s ...googleapi.Field) *ActivitiesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *ActivitiesListCall) IfNoneMatch(entityTag string) *ActivitiesListCall {
c.ifNoneMatch_ = entityTag
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 *ActivitiesListCall) Context(ctx context.Context) *ActivitiesListCall {
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 *ActivitiesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ActivitiesListCall) 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())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "activities")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "appsactivity.activities.list" call.
// Exactly one of *ListActivitiesResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *ListActivitiesResponse.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 *ActivitiesListCall) Do(opts ...googleapi.CallOption) (*ListActivitiesResponse, 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 := &ListActivitiesResponse{
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": "Returns a list of activities visible to the current logged in user. Visible activities are determined by the visiblity settings of the object that was acted on, e.g. Drive files a user can see. An activity is a record of past events. Multiple events may be merged if they are similar. A request is scoped to activities from a given Google service using the source parameter.",
// "httpMethod": "GET",
// "id": "appsactivity.activities.list",
// "parameters": {
// "drive.ancestorId": {
// "description": "Identifies the Drive folder containing the items for which to return activities.",
// "location": "query",
// "type": "string"
// },
// "drive.fileId": {
// "description": "Identifies the Drive item to return activities for.",
// "location": "query",
// "type": "string"
// },
// "groupingStrategy": {
// "default": "driveUi",
// "description": "Indicates the strategy to use when grouping singleEvents items in the associated combinedEvent object.",
// "enum": [
// "driveUi",
// "none"
// ],
// "enumDescriptions": [
// "",
// ""
// ],
// "location": "query",
// "type": "string"
// },
// "pageSize": {
// "default": "50",
// "description": "The maximum number of events to return on a page. The response includes a continuation token if there are more events.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "pageToken": {
// "description": "A token to retrieve a specific page of results.",
// "location": "query",
// "type": "string"
// },
// "source": {
// "description": "The Google service from which to return activities. Possible values of source are: \n- drive.google.com",
// "location": "query",
// "type": "string"
// },
// "userId": {
// "default": "me",
// "description": "Indicates the user to return activity for. Use the special value me to indicate the currently authenticated user.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "activities",
// "response": {
// "$ref": "ListActivitiesResponse"
// },
// "scopes": [
// "https://www.googleapis.com/auth/activity"
// ]
// }
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ActivitiesListCall) Pages(ctx context.Context, f func(*ListActivitiesResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}

View file

@ -1,307 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/appstate": {
"description": "View and manage your data for this application"
}
}
}
},
"basePath": "/appstate/v1/",
"baseUrl": "https://www.googleapis.com/appstate/v1/",
"batchPath": "batch/appstate/v1",
"canonicalName": "App State",
"description": "The Google App State API.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/games/services/web/api/states",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/X8tji3M7ero0WaIAGRtuwW2FqYo\"",
"icons": {
"x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
"x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
},
"id": "appstate:v1",
"kind": "discovery#restDescription",
"name": "appstate",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"states": {
"methods": {
"clear": {
"description": "Clears (sets to empty) the data for the passed key if and only if the passed version matches the currently stored version. This method results in a conflict error on version mismatch.",
"httpMethod": "POST",
"id": "appstate.states.clear",
"parameterOrder": [
"stateKey"
],
"parameters": {
"currentDataVersion": {
"description": "The version of the data to be cleared. Version strings are returned by the server.",
"location": "query",
"type": "string"
},
"stateKey": {
"description": "The key for the data to be retrieved.",
"format": "int32",
"location": "path",
"maximum": "3",
"minimum": "0",
"required": true,
"type": "integer"
}
},
"path": "states/{stateKey}/clear",
"response": {
"$ref": "WriteResult"
},
"scopes": [
"https://www.googleapis.com/auth/appstate"
]
},
"delete": {
"description": "Deletes a key and the data associated with it. The key is removed and no longer counts against the key quota. Note that since this method is not safe in the face of concurrent modifications, it should only be used for development and testing purposes. Invoking this method in shipping code can result in data loss and data corruption.",
"httpMethod": "DELETE",
"id": "appstate.states.delete",
"parameterOrder": [
"stateKey"
],
"parameters": {
"stateKey": {
"description": "The key for the data to be retrieved.",
"format": "int32",
"location": "path",
"maximum": "3",
"minimum": "0",
"required": true,
"type": "integer"
}
},
"path": "states/{stateKey}",
"scopes": [
"https://www.googleapis.com/auth/appstate"
]
},
"get": {
"description": "Retrieves the data corresponding to the passed key. If the key does not exist on the server, an HTTP 404 will be returned.",
"httpMethod": "GET",
"id": "appstate.states.get",
"parameterOrder": [
"stateKey"
],
"parameters": {
"stateKey": {
"description": "The key for the data to be retrieved.",
"format": "int32",
"location": "path",
"maximum": "3",
"minimum": "0",
"required": true,
"type": "integer"
}
},
"path": "states/{stateKey}",
"response": {
"$ref": "GetResponse"
},
"scopes": [
"https://www.googleapis.com/auth/appstate"
]
},
"list": {
"description": "Lists all the states keys, and optionally the state data.",
"httpMethod": "GET",
"id": "appstate.states.list",
"parameters": {
"includeData": {
"default": "false",
"description": "Whether to include the full data in addition to the version number",
"location": "query",
"type": "boolean"
}
},
"path": "states",
"response": {
"$ref": "ListResponse"
},
"scopes": [
"https://www.googleapis.com/auth/appstate"
]
},
"update": {
"description": "Update the data associated with the input key if and only if the passed version matches the currently stored version. This method is safe in the face of concurrent writes. Maximum per-key size is 128KB.",
"httpMethod": "PUT",
"id": "appstate.states.update",
"parameterOrder": [
"stateKey"
],
"parameters": {
"currentStateVersion": {
"description": "The version of the app state your application is attempting to update. If this does not match the current version, this method will return a conflict error. If there is no data stored on the server for this key, the update will succeed irrespective of the value of this parameter.",
"location": "query",
"type": "string"
},
"stateKey": {
"description": "The key for the data to be retrieved.",
"format": "int32",
"location": "path",
"maximum": "3",
"minimum": "0",
"required": true,
"type": "integer"
}
},
"path": "states/{stateKey}",
"request": {
"$ref": "UpdateRequest"
},
"response": {
"$ref": "WriteResult"
},
"scopes": [
"https://www.googleapis.com/auth/appstate"
]
}
}
}
},
"revision": "20180122",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"GetResponse": {
"description": "This is a JSON template for an app state resource.",
"id": "GetResponse",
"properties": {
"currentStateVersion": {
"description": "The current app state version.",
"type": "string"
},
"data": {
"description": "The requested data.",
"type": "string"
},
"kind": {
"default": "appstate#getResponse",
"description": "Uniquely identifies the type of this resource. Value is always the fixed string appstate#getResponse.",
"type": "string"
},
"stateKey": {
"description": "The key for the data.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"ListResponse": {
"description": "This is a JSON template to convert a list-response for app state.",
"id": "ListResponse",
"properties": {
"items": {
"description": "The app state data.",
"items": {
"$ref": "GetResponse"
},
"type": "array"
},
"kind": {
"default": "appstate#listResponse",
"description": "Uniquely identifies the type of this resource. Value is always the fixed string appstate#listResponse.",
"type": "string"
},
"maximumKeyCount": {
"description": "The maximum number of keys allowed for this user.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"UpdateRequest": {
"description": "This is a JSON template for a requests which update app state",
"id": "UpdateRequest",
"properties": {
"data": {
"description": "The new app state data that your application is trying to update with.",
"type": "string"
},
"kind": {
"default": "appstate#updateRequest",
"description": "Uniquely identifies the type of this resource. Value is always the fixed string appstate#updateRequest.",
"type": "string"
}
},
"type": "object"
},
"WriteResult": {
"description": "This is a JSON template for an app state write result.",
"id": "WriteResult",
"properties": {
"currentStateVersion": {
"description": "The version of the data for this key on the server.",
"type": "string"
},
"kind": {
"default": "appstate#writeResult",
"description": "Uniquely identifies the type of this resource. Value is always the fixed string appstate#writeResult.",
"type": "string"
},
"stateKey": {
"description": "The written key.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
},
"servicePath": "appstate/v1/",
"title": "Google App State API",
"version": "v1"
}

View file

@ -1,919 +0,0 @@
// Package appstate provides access to the Google App State API.
//
// See https://developers.google.com/games/services/web/api/states
//
// Usage example:
//
// import "google.golang.org/api/appstate/v1"
// ...
// appstateService, err := appstate.New(oauthHttpClient)
package appstate // import "google.golang.org/api/appstate/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 = "appstate:v1"
const apiName = "appstate"
const apiVersion = "v1"
const basePath = "https://www.googleapis.com/appstate/v1/"
// OAuth2 scopes used by this API.
const (
// View and manage your data for this application
AppstateScope = "https://www.googleapis.com/auth/appstate"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.States = NewStatesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
States *StatesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewStatesService(s *Service) *StatesService {
rs := &StatesService{s: s}
return rs
}
type StatesService struct {
s *Service
}
// GetResponse: This is a JSON template for an app state resource.
type GetResponse struct {
// CurrentStateVersion: The current app state version.
CurrentStateVersion string `json:"currentStateVersion,omitempty"`
// Data: The requested data.
Data string `json:"data,omitempty"`
// Kind: Uniquely identifies the type of this resource. Value is always
// the fixed string appstate#getResponse.
Kind string `json:"kind,omitempty"`
// StateKey: The key for the data.
StateKey int64 `json:"stateKey,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CurrentStateVersion")
// 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. "CurrentStateVersion") 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 *GetResponse) MarshalJSON() ([]byte, error) {
type NoMethod GetResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListResponse: This is a JSON template to convert a list-response for
// app state.
type ListResponse struct {
// Items: The app state data.
Items []*GetResponse `json:"items,omitempty"`
// Kind: Uniquely identifies the type of this resource. Value is always
// the fixed string appstate#listResponse.
Kind string `json:"kind,omitempty"`
// MaximumKeyCount: The maximum number of keys allowed for this user.
MaximumKeyCount int64 `json:"maximumKeyCount,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *ListResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UpdateRequest: This is a JSON template for a requests which update
// app state
type UpdateRequest struct {
// Data: The new app state data that your application is trying to
// update with.
Data string `json:"data,omitempty"`
// Kind: Uniquely identifies the type of this resource. Value is always
// the fixed string appstate#updateRequest.
Kind string `json:"kind,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 *UpdateRequest) MarshalJSON() ([]byte, error) {
type NoMethod UpdateRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WriteResult: This is a JSON template for an app state write result.
type WriteResult struct {
// CurrentStateVersion: The version of the data for this key on the
// server.
CurrentStateVersion string `json:"currentStateVersion,omitempty"`
// Kind: Uniquely identifies the type of this resource. Value is always
// the fixed string appstate#writeResult.
Kind string `json:"kind,omitempty"`
// StateKey: The written key.
StateKey int64 `json:"stateKey,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CurrentStateVersion")
// 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. "CurrentStateVersion") 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 *WriteResult) MarshalJSON() ([]byte, error) {
type NoMethod WriteResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "appstate.states.clear":
type StatesClearCall struct {
s *Service
stateKey int64
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Clear: Clears (sets to empty) the data for the passed key if and only
// if the passed version matches the currently stored version. This
// method results in a conflict error on version mismatch.
func (r *StatesService) Clear(stateKey int64) *StatesClearCall {
c := &StatesClearCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.stateKey = stateKey
return c
}
// CurrentDataVersion sets the optional parameter "currentDataVersion":
// The version of the data to be cleared. Version strings are returned
// by the server.
func (c *StatesClearCall) CurrentDataVersion(currentDataVersion string) *StatesClearCall {
c.urlParams_.Set("currentDataVersion", currentDataVersion)
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 *StatesClearCall) Fields(s ...googleapi.Field) *StatesClearCall {
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 *StatesClearCall) Context(ctx context.Context) *StatesClearCall {
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 *StatesClearCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *StatesClearCall) 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
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "states/{stateKey}/clear")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"stateKey": strconv.FormatInt(c.stateKey, 10),
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "appstate.states.clear" call.
// Exactly one of *WriteResult or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *WriteResult.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 *StatesClearCall) Do(opts ...googleapi.CallOption) (*WriteResult, 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 := &WriteResult{
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": "Clears (sets to empty) the data for the passed key if and only if the passed version matches the currently stored version. This method results in a conflict error on version mismatch.",
// "httpMethod": "POST",
// "id": "appstate.states.clear",
// "parameterOrder": [
// "stateKey"
// ],
// "parameters": {
// "currentDataVersion": {
// "description": "The version of the data to be cleared. Version strings are returned by the server.",
// "location": "query",
// "type": "string"
// },
// "stateKey": {
// "description": "The key for the data to be retrieved.",
// "format": "int32",
// "location": "path",
// "maximum": "3",
// "minimum": "0",
// "required": true,
// "type": "integer"
// }
// },
// "path": "states/{stateKey}/clear",
// "response": {
// "$ref": "WriteResult"
// },
// "scopes": [
// "https://www.googleapis.com/auth/appstate"
// ]
// }
}
// method id "appstate.states.delete":
type StatesDeleteCall struct {
s *Service
stateKey int64
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a key and the data associated with it. The key is
// removed and no longer counts against the key quota. Note that since
// this method is not safe in the face of concurrent modifications, it
// should only be used for development and testing purposes. Invoking
// this method in shipping code can result in data loss and data
// corruption.
func (r *StatesService) Delete(stateKey int64) *StatesDeleteCall {
c := &StatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.stateKey = stateKey
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 *StatesDeleteCall) Fields(s ...googleapi.Field) *StatesDeleteCall {
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 *StatesDeleteCall) Context(ctx context.Context) *StatesDeleteCall {
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 *StatesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *StatesDeleteCall) 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
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "states/{stateKey}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"stateKey": strconv.FormatInt(c.stateKey, 10),
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "appstate.states.delete" call.
func (c *StatesDeleteCall) Do(opts ...googleapi.CallOption) error {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if err != nil {
return err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return err
}
return nil
// {
// "description": "Deletes a key and the data associated with it. The key is removed and no longer counts against the key quota. Note that since this method is not safe in the face of concurrent modifications, it should only be used for development and testing purposes. Invoking this method in shipping code can result in data loss and data corruption.",
// "httpMethod": "DELETE",
// "id": "appstate.states.delete",
// "parameterOrder": [
// "stateKey"
// ],
// "parameters": {
// "stateKey": {
// "description": "The key for the data to be retrieved.",
// "format": "int32",
// "location": "path",
// "maximum": "3",
// "minimum": "0",
// "required": true,
// "type": "integer"
// }
// },
// "path": "states/{stateKey}",
// "scopes": [
// "https://www.googleapis.com/auth/appstate"
// ]
// }
}
// method id "appstate.states.get":
type StatesGetCall struct {
s *Service
stateKey int64
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Retrieves the data corresponding to the passed key. If the key
// does not exist on the server, an HTTP 404 will be returned.
func (r *StatesService) Get(stateKey int64) *StatesGetCall {
c := &StatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.stateKey = stateKey
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 *StatesGetCall) Fields(s ...googleapi.Field) *StatesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *StatesGetCall) IfNoneMatch(entityTag string) *StatesGetCall {
c.ifNoneMatch_ = entityTag
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 *StatesGetCall) Context(ctx context.Context) *StatesGetCall {
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 *StatesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *StatesGetCall) 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())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "states/{stateKey}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"stateKey": strconv.FormatInt(c.stateKey, 10),
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "appstate.states.get" call.
// Exactly one of *GetResponse or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *GetResponse.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 *StatesGetCall) Do(opts ...googleapi.CallOption) (*GetResponse, 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 := &GetResponse{
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": "Retrieves the data corresponding to the passed key. If the key does not exist on the server, an HTTP 404 will be returned.",
// "httpMethod": "GET",
// "id": "appstate.states.get",
// "parameterOrder": [
// "stateKey"
// ],
// "parameters": {
// "stateKey": {
// "description": "The key for the data to be retrieved.",
// "format": "int32",
// "location": "path",
// "maximum": "3",
// "minimum": "0",
// "required": true,
// "type": "integer"
// }
// },
// "path": "states/{stateKey}",
// "response": {
// "$ref": "GetResponse"
// },
// "scopes": [
// "https://www.googleapis.com/auth/appstate"
// ]
// }
}
// method id "appstate.states.list":
type StatesListCall struct {
s *Service
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists all the states keys, and optionally the state data.
func (r *StatesService) List() *StatesListCall {
c := &StatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
return c
}
// IncludeData sets the optional parameter "includeData": Whether to
// include the full data in addition to the version number
func (c *StatesListCall) IncludeData(includeData bool) *StatesListCall {
c.urlParams_.Set("includeData", fmt.Sprint(includeData))
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 *StatesListCall) Fields(s ...googleapi.Field) *StatesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *StatesListCall) IfNoneMatch(entityTag string) *StatesListCall {
c.ifNoneMatch_ = entityTag
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 *StatesListCall) Context(ctx context.Context) *StatesListCall {
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 *StatesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *StatesListCall) 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())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "states")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
req.Header = reqHeaders
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "appstate.states.list" call.
// Exactly one of *ListResponse or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *ListResponse.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 *StatesListCall) Do(opts ...googleapi.CallOption) (*ListResponse, 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 := &ListResponse{
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": "Lists all the states keys, and optionally the state data.",
// "httpMethod": "GET",
// "id": "appstate.states.list",
// "parameters": {
// "includeData": {
// "default": "false",
// "description": "Whether to include the full data in addition to the version number",
// "location": "query",
// "type": "boolean"
// }
// },
// "path": "states",
// "response": {
// "$ref": "ListResponse"
// },
// "scopes": [
// "https://www.googleapis.com/auth/appstate"
// ]
// }
}
// method id "appstate.states.update":
type StatesUpdateCall struct {
s *Service
stateKey int64
updaterequest *UpdateRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Update: Update the data associated with the input key if and only if
// the passed version matches the currently stored version. This method
// is safe in the face of concurrent writes. Maximum per-key size is
// 128KB.
func (r *StatesService) Update(stateKey int64, updaterequest *UpdateRequest) *StatesUpdateCall {
c := &StatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.stateKey = stateKey
c.updaterequest = updaterequest
return c
}
// CurrentStateVersion sets the optional parameter
// "currentStateVersion": The version of the app state your application
// is attempting to update. If this does not match the current version,
// this method will return a conflict error. If there is no data stored
// on the server for this key, the update will succeed irrespective of
// the value of this parameter.
func (c *StatesUpdateCall) CurrentStateVersion(currentStateVersion string) *StatesUpdateCall {
c.urlParams_.Set("currentStateVersion", currentStateVersion)
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 *StatesUpdateCall) Fields(s ...googleapi.Field) *StatesUpdateCall {
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 *StatesUpdateCall) Context(ctx context.Context) *StatesUpdateCall {
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 *StatesUpdateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *StatesUpdateCall) 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.updaterequest)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "states/{stateKey}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PUT", urls, body)
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"stateKey": strconv.FormatInt(c.stateKey, 10),
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "appstate.states.update" call.
// Exactly one of *WriteResult or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *WriteResult.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 *StatesUpdateCall) Do(opts ...googleapi.CallOption) (*WriteResult, 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 := &WriteResult{
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": "Update the data associated with the input key if and only if the passed version matches the currently stored version. This method is safe in the face of concurrent writes. Maximum per-key size is 128KB.",
// "httpMethod": "PUT",
// "id": "appstate.states.update",
// "parameterOrder": [
// "stateKey"
// ],
// "parameters": {
// "currentStateVersion": {
// "description": "The version of the app state your application is attempting to update. If this does not match the current version, this method will return a conflict error. If there is no data stored on the server for this key, the update will succeed irrespective of the value of this parameter.",
// "location": "query",
// "type": "string"
// },
// "stateKey": {
// "description": "The key for the data to be retrieved.",
// "format": "int32",
// "location": "path",
// "maximum": "3",
// "minimum": "0",
// "required": true,
// "type": "integer"
// }
// },
// "path": "states/{stateKey}",
// "request": {
// "$ref": "UpdateRequest"
// },
// "response": {
// "$ref": "WriteResult"
// },
// "scopes": [
// "https://www.googleapis.com/auth/appstate"
// ]
// }
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,923 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/blogger": {
"description": "Manage your Blogger account"
}
}
}
},
"basePath": "/blogger/v2/",
"baseUrl": "https://www.googleapis.com/blogger/v2/",
"batchPath": "batch/blogger/v2",
"description": "API for access to the data within Blogger.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/blogger/docs/2.0/json/getting_started",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/Mm4a0u3lPNBqEzKCYhfhIpC2Mw4\"",
"icons": {
"x16": "https://www.google.com/images/icons/product/blogger-16.png",
"x32": "https://www.google.com/images/icons/product/blogger-32.png"
},
"id": "blogger:v2",
"kind": "discovery#restDescription",
"labels": [
"limited_availability"
],
"name": "blogger",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"blogs": {
"methods": {
"get": {
"description": "Gets one blog by id.",
"httpMethod": "GET",
"id": "blogger.blogs.get",
"parameterOrder": [
"blogId"
],
"parameters": {
"blogId": {
"description": "The ID of the blog to get.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "blogs/{blogId}",
"response": {
"$ref": "Blog"
},
"scopes": [
"https://www.googleapis.com/auth/blogger"
]
}
}
},
"comments": {
"methods": {
"get": {
"description": "Gets one comment by id.",
"httpMethod": "GET",
"id": "blogger.comments.get",
"parameterOrder": [
"blogId",
"postId",
"commentId"
],
"parameters": {
"blogId": {
"description": "ID of the blog to containing the comment.",
"location": "path",
"required": true,
"type": "string"
},
"commentId": {
"description": "The ID of the comment to get.",
"location": "path",
"required": true,
"type": "string"
},
"postId": {
"description": "ID of the post to fetch posts from.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "blogs/{blogId}/posts/{postId}/comments/{commentId}",
"response": {
"$ref": "Comment"
},
"scopes": [
"https://www.googleapis.com/auth/blogger"
]
},
"list": {
"description": "Retrieves the comments for a blog, possibly filtered.",
"httpMethod": "GET",
"id": "blogger.comments.list",
"parameterOrder": [
"blogId",
"postId"
],
"parameters": {
"blogId": {
"description": "ID of the blog to fetch comments from.",
"location": "path",
"required": true,
"type": "string"
},
"fetchBodies": {
"description": "Whether the body content of the comments is included.",
"location": "query",
"type": "boolean"
},
"maxResults": {
"description": "Maximum number of comments to include in the result.",
"format": "uint32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Continuation token if request is paged.",
"location": "query",
"type": "string"
},
"postId": {
"description": "ID of the post to fetch posts from.",
"location": "path",
"required": true,
"type": "string"
},
"startDate": {
"description": "Earliest date of comment to fetch, a date-time with RFC 3339 formatting.",
"format": "date-time",
"location": "query",
"type": "string"
}
},
"path": "blogs/{blogId}/posts/{postId}/comments",
"response": {
"$ref": "CommentList"
},
"scopes": [
"https://www.googleapis.com/auth/blogger"
]
}
}
},
"pages": {
"methods": {
"get": {
"description": "Gets one blog page by id.",
"httpMethod": "GET",
"id": "blogger.pages.get",
"parameterOrder": [
"blogId",
"pageId"
],
"parameters": {
"blogId": {
"description": "ID of the blog containing the page.",
"location": "path",
"required": true,
"type": "string"
},
"pageId": {
"description": "The ID of the page to get.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "blogs/{blogId}/pages/{pageId}",
"response": {
"$ref": "Page"
},
"scopes": [
"https://www.googleapis.com/auth/blogger"
]
},
"list": {
"description": "Retrieves pages for a blog, possibly filtered.",
"httpMethod": "GET",
"id": "blogger.pages.list",
"parameterOrder": [
"blogId"
],
"parameters": {
"blogId": {
"description": "ID of the blog to fetch pages from.",
"location": "path",
"required": true,
"type": "string"
},
"fetchBodies": {
"description": "Whether to retrieve the Page bodies.",
"location": "query",
"type": "boolean"
}
},
"path": "blogs/{blogId}/pages",
"response": {
"$ref": "PageList"
},
"scopes": [
"https://www.googleapis.com/auth/blogger"
]
}
}
},
"posts": {
"methods": {
"get": {
"description": "Get a post by id.",
"httpMethod": "GET",
"id": "blogger.posts.get",
"parameterOrder": [
"blogId",
"postId"
],
"parameters": {
"blogId": {
"description": "ID of the blog to fetch the post from.",
"location": "path",
"required": true,
"type": "string"
},
"postId": {
"description": "The ID of the post",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "blogs/{blogId}/posts/{postId}",
"response": {
"$ref": "Post"
},
"scopes": [
"https://www.googleapis.com/auth/blogger"
]
},
"list": {
"description": "Retrieves a list of posts, possibly filtered.",
"httpMethod": "GET",
"id": "blogger.posts.list",
"parameterOrder": [
"blogId"
],
"parameters": {
"blogId": {
"description": "ID of the blog to fetch posts from.",
"location": "path",
"required": true,
"type": "string"
},
"fetchBodies": {
"description": "Whether the body content of posts is included.",
"location": "query",
"type": "boolean"
},
"maxResults": {
"description": "Maximum number of posts to fetch.",
"format": "uint32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Continuation token if the request is paged.",
"location": "query",
"type": "string"
},
"startDate": {
"description": "Earliest post date to fetch, a date-time with RFC 3339 formatting.",
"format": "date-time",
"location": "query",
"type": "string"
}
},
"path": "blogs/{blogId}/posts",
"response": {
"$ref": "PostList"
},
"scopes": [
"https://www.googleapis.com/auth/blogger"
]
}
}
},
"users": {
"methods": {
"get": {
"description": "Gets one user by id.",
"httpMethod": "GET",
"id": "blogger.users.get",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"description": "The ID of the user to get.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "users/{userId}",
"response": {
"$ref": "User"
},
"scopes": [
"https://www.googleapis.com/auth/blogger"
]
}
},
"resources": {
"blogs": {
"methods": {
"list": {
"description": "Retrieves a list of blogs, possibly filtered.",
"httpMethod": "GET",
"id": "blogger.users.blogs.list",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"description": "ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "users/{userId}/blogs",
"response": {
"$ref": "BlogList"
},
"scopes": [
"https://www.googleapis.com/auth/blogger"
]
}
}
}
}
}
},
"revision": "20150422",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"Blog": {
"id": "Blog",
"properties": {
"description": {
"description": "The description of this blog. This is displayed underneath the title.",
"type": "string"
},
"id": {
"description": "The identifier for this resource.",
"format": "int64",
"type": "string"
},
"kind": {
"default": "blogger#blog",
"description": "The kind of this entry. Always blogger#blog",
"type": "string"
},
"locale": {
"description": "The locale this Blog is set to.",
"properties": {
"country": {
"description": "The country this blog's locale is set to.",
"type": "string"
},
"language": {
"description": "The language this blog is authored in.",
"type": "string"
},
"variant": {
"description": "The language variant this blog is authored in.",
"type": "string"
}
},
"type": "object"
},
"name": {
"description": "The name of this blog. This is displayed as the title.",
"type": "string"
},
"pages": {
"description": "The container of pages in this blog.",
"properties": {
"selfLink": {
"description": "The URL of the container for pages in this blog.",
"type": "string"
},
"totalItems": {
"description": "The count of pages in this blog.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"posts": {
"description": "The container of posts in this blog.",
"properties": {
"selfLink": {
"description": "The URL of the container for posts in this blog.",
"type": "string"
},
"totalItems": {
"description": "The count of posts in this blog.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"published": {
"description": "RFC 3339 date-time when this blog was published.",
"format": "date-time",
"type": "string"
},
"selfLink": {
"description": "The API REST URL to fetch this resource from.",
"type": "string"
},
"updated": {
"description": "RFC 3339 date-time when this blog was last updated.",
"format": "date-time",
"type": "string"
},
"url": {
"description": "The URL where this blog is published.",
"type": "string"
}
},
"type": "object"
},
"BlogList": {
"id": "BlogList",
"properties": {
"items": {
"description": "The list of Blogs this user has Authorship or Admin rights over.",
"items": {
"$ref": "Blog"
},
"type": "array"
},
"kind": {
"default": "blogger#blogList",
"description": "The kind of this entity. Always blogger#blogList",
"type": "string"
}
},
"type": "object"
},
"Comment": {
"id": "Comment",
"properties": {
"author": {
"description": "The author of this Comment.",
"properties": {
"displayName": {
"description": "The display name.",
"type": "string"
},
"id": {
"description": "The identifier of the Comment creator.",
"type": "string"
},
"image": {
"description": "The comment creator's avatar.",
"properties": {
"url": {
"description": "The comment creator's avatar URL.",
"type": "string"
}
},
"type": "object"
},
"url": {
"description": "The URL of the Comment creator's Profile page.",
"type": "string"
}
},
"type": "object"
},
"blog": {
"description": "Data about the blog containing this comment.",
"properties": {
"id": {
"description": "The identifier of the blog containing this comment.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"content": {
"description": "The actual content of the comment. May include HTML markup.",
"type": "string"
},
"id": {
"description": "The identifier for this resource.",
"format": "int64",
"type": "string"
},
"inReplyTo": {
"description": "Data about the comment this is in reply to.",
"properties": {
"id": {
"description": "The identified of the parent of this comment.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"kind": {
"default": "blogger#comment",
"description": "The kind of this entry. Always blogger#comment",
"type": "string"
},
"post": {
"description": "Data about the post containing this comment.",
"properties": {
"id": {
"description": "The identifier of the post containing this comment.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"published": {
"description": "RFC 3339 date-time when this comment was published.",
"format": "date-time",
"type": "string"
},
"selfLink": {
"description": "The API REST URL to fetch this resource from.",
"type": "string"
},
"updated": {
"description": "RFC 3339 date-time when this comment was last updated.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"CommentList": {
"id": "CommentList",
"properties": {
"items": {
"description": "The List of Comments for a Post.",
"items": {
"$ref": "Comment"
},
"type": "array"
},
"kind": {
"default": "blogger#commentList",
"description": "The kind of this entry. Always blogger#commentList",
"type": "string"
},
"nextPageToken": {
"description": "Pagination token to fetch the next page, if one exists.",
"type": "string"
},
"prevPageToken": {
"description": "Pagination token to fetch the previous page, if one exists.",
"type": "string"
}
},
"type": "object"
},
"Page": {
"id": "Page",
"properties": {
"author": {
"description": "The author of this Page.",
"properties": {
"displayName": {
"description": "The display name.",
"type": "string"
},
"id": {
"description": "The identifier of the Page creator.",
"type": "string"
},
"image": {
"description": "The page author's avatar.",
"properties": {
"url": {
"description": "The page author's avatar URL.",
"type": "string"
}
},
"type": "object"
},
"url": {
"description": "The URL of the Page creator's Profile page.",
"type": "string"
}
},
"type": "object"
},
"blog": {
"description": "Data about the blog containing this Page.",
"properties": {
"id": {
"description": "The identifier of the blog containing this page.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"content": {
"description": "The body content of this Page, in HTML.",
"type": "string"
},
"id": {
"description": "The identifier for this resource.",
"format": "int64",
"type": "string"
},
"kind": {
"default": "blogger#page",
"description": "The kind of this entity. Always blogger#page",
"type": "string"
},
"published": {
"description": "RFC 3339 date-time when this Page was published.",
"format": "date-time",
"type": "string"
},
"selfLink": {
"description": "The API REST URL to fetch this resource from.",
"type": "string"
},
"title": {
"description": "The title of this entity. This is the name displayed in the Admin user interface.",
"type": "string"
},
"updated": {
"description": "RFC 3339 date-time when this Page was last updated.",
"format": "date-time",
"type": "string"
},
"url": {
"description": "The URL that this Page is displayed at.",
"type": "string"
}
},
"type": "object"
},
"PageList": {
"id": "PageList",
"properties": {
"items": {
"description": "The list of Pages for a Blog.",
"items": {
"$ref": "Page"
},
"type": "array"
},
"kind": {
"default": "blogger#pageList",
"description": "The kind of this entity. Always blogger#pageList",
"type": "string"
}
},
"type": "object"
},
"Post": {
"id": "Post",
"properties": {
"author": {
"description": "The author of this Post.",
"properties": {
"displayName": {
"description": "The display name.",
"type": "string"
},
"id": {
"description": "The identifier of the Post creator.",
"type": "string"
},
"image": {
"description": "The Post author's avatar.",
"properties": {
"url": {
"description": "The Post author's avatar URL.",
"type": "string"
}
},
"type": "object"
},
"url": {
"description": "The URL of the Post creator's Profile page.",
"type": "string"
}
},
"type": "object"
},
"blog": {
"description": "Data about the blog containing this Post.",
"properties": {
"id": {
"description": "The identifier of the Blog that contains this Post.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"content": {
"description": "The content of the Post. May contain HTML markup.",
"type": "string"
},
"id": {
"description": "The identifier of this Post.",
"format": "int64",
"type": "string"
},
"kind": {
"default": "blogger#post",
"description": "The kind of this entity. Always blogger#post",
"type": "string"
},
"labels": {
"description": "The list of labels this Post was tagged with.",
"items": {
"type": "string"
},
"type": "array"
},
"published": {
"description": "RFC 3339 date-time when this Post was published.",
"format": "date-time",
"type": "string"
},
"replies": {
"description": "The container of comments on this Post.",
"properties": {
"selfLink": {
"description": "The URL of the comments on this post.",
"type": "string"
},
"totalItems": {
"description": "The count of comments on this post.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"selfLink": {
"description": "The API REST URL to fetch this resource from.",
"type": "string"
},
"title": {
"description": "The title of the Post.",
"type": "string"
},
"updated": {
"description": "RFC 3339 date-time when this Post was last updated.",
"format": "date-time",
"type": "string"
},
"url": {
"description": "The URL where this Post is displayed.",
"type": "string"
}
},
"type": "object"
},
"PostList": {
"id": "PostList",
"properties": {
"items": {
"description": "The list of Posts for this Blog.",
"items": {
"$ref": "Post"
},
"type": "array"
},
"kind": {
"default": "blogger#postList",
"description": "The kind of this entity. Always blogger#postList",
"type": "string"
},
"nextPageToken": {
"description": "Pagination token to fetch the next page, if one exists.",
"type": "string"
},
"prevPageToken": {
"description": "Pagination token to fetch the previous page, if one exists.",
"type": "string"
}
},
"type": "object"
},
"User": {
"id": "User",
"properties": {
"about": {
"description": "Profile summary information.",
"type": "string"
},
"blogs": {
"description": "The container of blogs for this user.",
"properties": {
"selfLink": {
"description": "The URL of the Blogs for this user.",
"type": "string"
}
},
"type": "object"
},
"created": {
"description": "The timestamp of when this profile was created, in seconds since epoch.",
"format": "date-time",
"type": "string"
},
"displayName": {
"description": "The display name.",
"type": "string"
},
"id": {
"description": "The identifier for this User.",
"type": "string"
},
"kind": {
"default": "blogger#user",
"description": "The kind of this entity. Always blogger#user",
"type": "string"
},
"locale": {
"description": "This user's locale",
"properties": {
"country": {
"description": "The user's country setting.",
"type": "string"
},
"language": {
"description": "The user's language setting.",
"type": "string"
},
"variant": {
"description": "The user's language variant setting.",
"type": "string"
}
},
"type": "object"
},
"selfLink": {
"description": "The API REST URL to fetch this resource from.",
"type": "string"
},
"url": {
"description": "The user's profile page.",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "blogger/v2/",
"title": "Blogger API",
"version": "v2"
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,989 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/cloud-platform": {
"description": "View and manage your data across Google Cloud Platform services"
}
}
}
},
"basePath": "",
"baseUrl": "https://cloudbilling.googleapis.com/",
"batchPath": "batch",
"canonicalName": "Cloudbilling",
"description": "Allows developers to manage billing for their Google Cloud Platform projects\n programmatically.",
"discoveryVersion": "v1",
"documentationLink": "https://cloud.google.com/billing/",
"fullyEncodeReservedExpansion": true,
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "cloudbilling:v1",
"kind": "discovery#restDescription",
"name": "cloudbilling",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"bearer_token": {
"description": "OAuth bearer token.",
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"pp": {
"default": "true",
"description": "Pretty-print response.",
"location": "query",
"type": "boolean"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"billingAccounts": {
"methods": {
"create": {
"description": "Creates a billing account.\nThis method can only be used to create\n[billing subaccounts](https://cloud.google.com/billing/docs/concepts).\nWhen creating a subaccount, the current authenticated user must have the\n`billing.accounts.update` IAM permission on the master account, which is\ntypically given to billing account\n[administrators](https://cloud.google.com/billing/docs/how-to/billing-access).\n\n\u003e This method is currently in\n\u003e [Beta](https://cloud.google.com/terms/launch-stages).",
"flatPath": "v1/billingAccounts",
"httpMethod": "POST",
"id": "cloudbilling.billingAccounts.create",
"parameterOrder": [],
"parameters": {},
"path": "v1/billingAccounts",
"request": {
"$ref": "BillingAccount"
},
"response": {
"$ref": "BillingAccount"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets information about a billing account. The current authenticated user\nmust be a [viewer of the billing\naccount](https://cloud.google.com/billing/docs/how-to/billing-access).",
"flatPath": "v1/billingAccounts/{billingAccountsId}",
"httpMethod": "GET",
"id": "cloudbilling.billingAccounts.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the billing account to retrieve. For example,\n`billingAccounts/012345-567890-ABCDEF`.",
"location": "path",
"pattern": "^billingAccounts/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "BillingAccount"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"getIamPolicy": {
"description": "Gets the access control policy for a billing account.\nThe caller must have the `billing.accounts.getIamPolicy` permission on the\naccount, which is often given to billing account\n[viewers](https://cloud.google.com/billing/docs/how-to/billing-access).\n\n\u003e This method is currently in\n\u003e [Beta](https://cloud.google.com/terms/launch-stages).",
"flatPath": "v1/billingAccounts/{billingAccountsId}:getIamPolicy",
"httpMethod": "GET",
"id": "cloudbilling.billingAccounts.getIamPolicy",
"parameterOrder": [
"resource"
],
"parameters": {
"resource": {
"description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
"location": "path",
"pattern": "^billingAccounts/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+resource}:getIamPolicy",
"response": {
"$ref": "Policy"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists the billing accounts that the current authenticated user has\npermission to [view](https://cloud.google.com/billing/docs/how-to/billing-access).",
"flatPath": "v1/billingAccounts",
"httpMethod": "GET",
"id": "cloudbilling.billingAccounts.list",
"parameterOrder": [],
"parameters": {
"filter": {
"description": "Options for how to filter the returned billing accounts.\nCurrently this only supports filtering for\n[subaccounts](https://cloud.google.com/billing/docs/concepts) under a\nsingle provided reseller billing account.\n(e.g. \"master_billing_account=billingAccounts/012345-678901-ABCDEF\").\nBoolean algebra and other fields are not currently supported.\n\n\u003e This field is currently in\n\u003e [Beta](https://cloud.google.com/terms/launch-stages).",
"location": "query",
"type": "string"
},
"pageSize": {
"description": "Requested page size. The maximum page size is 100; this is also the\ndefault.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A token identifying a page of results to return. This should be a\n`next_page_token` value returned from a previous `ListBillingAccounts`\ncall. If unspecified, the first page of results is returned.",
"location": "query",
"type": "string"
}
},
"path": "v1/billingAccounts",
"response": {
"$ref": "ListBillingAccountsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"patch": {
"description": "Updates a billing account's fields.\nCurrently the only field that can be edited is `display_name`.\nThe current authenticated user must have the `billing.accounts.update`\nIAM permission, which is typically given to the\n[administrator](https://cloud.google.com/billing/docs/how-to/billing-access)\nof the billing account.\n\n\u003e This method is currently in\n\u003e [Beta](https://cloud.google.com/terms/launch-stages).",
"flatPath": "v1/billingAccounts/{billingAccountsId}",
"httpMethod": "PATCH",
"id": "cloudbilling.billingAccounts.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the billing account resource to be updated.",
"location": "path",
"pattern": "^billingAccounts/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "The update mask applied to the resource.\nOnly \"display_name\" is currently supported.",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1/{+name}",
"request": {
"$ref": "BillingAccount"
},
"response": {
"$ref": "BillingAccount"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"setIamPolicy": {
"description": "Sets the access control policy for a billing account. Replaces any existing\npolicy.\nThe caller must have the `billing.accounts.setIamPolicy` permission on the\naccount, which is often given to billing account\n[administrators](https://cloud.google.com/billing/docs/how-to/billing-access).\n\n\u003e This method is currently in\n\u003e [Beta](https://cloud.google.com/terms/launch-stages).",
"flatPath": "v1/billingAccounts/{billingAccountsId}:setIamPolicy",
"httpMethod": "POST",
"id": "cloudbilling.billingAccounts.setIamPolicy",
"parameterOrder": [
"resource"
],
"parameters": {
"resource": {
"description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
"location": "path",
"pattern": "^billingAccounts/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+resource}:setIamPolicy",
"request": {
"$ref": "SetIamPolicyRequest"
},
"response": {
"$ref": "Policy"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"testIamPermissions": {
"description": "Tests the access control policy for a billing account. This method takes\nthe resource and a set of permissions as input and returns the subset of\nthe input permissions that the caller is allowed for that resource.\n\n\u003e This method is currently in\n\u003e [Beta](https://cloud.google.com/terms/launch-stages).",
"flatPath": "v1/billingAccounts/{billingAccountsId}:testIamPermissions",
"httpMethod": "POST",
"id": "cloudbilling.billingAccounts.testIamPermissions",
"parameterOrder": [
"resource"
],
"parameters": {
"resource": {
"description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
"location": "path",
"pattern": "^billingAccounts/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+resource}:testIamPermissions",
"request": {
"$ref": "TestIamPermissionsRequest"
},
"response": {
"$ref": "TestIamPermissionsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"projects": {
"methods": {
"list": {
"description": "Lists the projects associated with a billing account. The current\nauthenticated user must have the `billing.resourceAssociations.list` IAM\npermission, which is often given to billing account\n[viewers](https://cloud.google.com/billing/docs/how-to/billing-access).",
"flatPath": "v1/billingAccounts/{billingAccountsId}/projects",
"httpMethod": "GET",
"id": "cloudbilling.billingAccounts.projects.list",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the billing account associated with the projects that\nyou want to list. For example, `billingAccounts/012345-567890-ABCDEF`.",
"location": "path",
"pattern": "^billingAccounts/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "Requested page size. The maximum page size is 100; this is also the\ndefault.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A token identifying a page of results to be returned. This should be a\n`next_page_token` value returned from a previous `ListProjectBillingInfo`\ncall. If unspecified, the first page of results is returned.",
"location": "query",
"type": "string"
}
},
"path": "v1/{+name}/projects",
"response": {
"$ref": "ListProjectBillingInfoResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
},
"projects": {
"methods": {
"getBillingInfo": {
"description": "Gets the billing information for a project. The current authenticated user\nmust have [permission to view the\nproject](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo\n).",
"flatPath": "v1/projects/{projectsId}/billingInfo",
"httpMethod": "GET",
"id": "cloudbilling.projects.getBillingInfo",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the project for which billing information is\nretrieved. For example, `projects/tokyo-rain-123`.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}/billingInfo",
"response": {
"$ref": "ProjectBillingInfo"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"updateBillingInfo": {
"description": "Sets or updates the billing account associated with a project. You specify\nthe new billing account by setting the `billing_account_name` in the\n`ProjectBillingInfo` resource to the resource name of a billing account.\nAssociating a project with an open billing account enables billing on the\nproject and allows charges for resource usage. If the project already had a\nbilling account, this method changes the billing account used for resource\nusage charges.\n\n*Note:* Incurred charges that have not yet been reported in the transaction\nhistory of the GCP Console might be billed to the new billing\naccount, even if the charge occurred before the new billing account was\nassigned to the project.\n\nThe current authenticated user must have ownership privileges for both the\n[project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo\n) and the [billing\naccount](https://cloud.google.com/billing/docs/how-to/billing-access).\n\nYou can disable billing on the project by setting the\n`billing_account_name` field to empty. This action disassociates the\ncurrent billing account from the project. Any billable activity of your\nin-use services will stop, and your application could stop functioning as\nexpected. Any unbilled charges to date will be billed to the previously\nassociated account. The current authenticated user must be either an owner\nof the project or an owner of the billing account for the project.\n\nNote that associating a project with a *closed* billing account will have\nmuch the same effect as disabling billing on the project: any paid\nresources used by the project will be shut down. Thus, unless you wish to\ndisable billing, you should always call this method with the name of an\n*open* billing account.",
"flatPath": "v1/projects/{projectsId}/billingInfo",
"httpMethod": "PUT",
"id": "cloudbilling.projects.updateBillingInfo",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the project associated with the billing information\nthat you want to update. For example, `projects/tokyo-rain-123`.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}/billingInfo",
"request": {
"$ref": "ProjectBillingInfo"
},
"response": {
"$ref": "ProjectBillingInfo"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"services": {
"methods": {
"list": {
"description": "Lists all public cloud services.",
"flatPath": "v1/services",
"httpMethod": "GET",
"id": "cloudbilling.services.list",
"parameterOrder": [],
"parameters": {
"pageSize": {
"description": "Requested page size. Defaults to 5000.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A token identifying a page of results to return. This should be a\n`next_page_token` value returned from a previous `ListServices`\ncall. If unspecified, the first page of results is returned.",
"location": "query",
"type": "string"
}
},
"path": "v1/services",
"response": {
"$ref": "ListServicesResponse"
}
}
},
"resources": {
"skus": {
"methods": {
"list": {
"description": "Lists all publicly available SKUs for a given cloud service.",
"flatPath": "v1/services/{servicesId}/skus",
"httpMethod": "GET",
"id": "cloudbilling.services.skus.list",
"parameterOrder": [
"parent"
],
"parameters": {
"currencyCode": {
"description": "The ISO 4217 currency code for the pricing info in the response proto.\nWill use the conversion rate as of start_time.\nOptional. If not specified USD will be used.",
"location": "query",
"type": "string"
},
"endTime": {
"description": "Optional exclusive end time of the time range for which the pricing\nversions will be returned. Timestamps in the future are not allowed.\nThe time range has to be within a single calendar month in\nAmerica/Los_Angeles timezone. Time range as a whole is optional. If not\nspecified, the latest pricing will be returned (up to 12 hours old at\nmost).",
"format": "google-datetime",
"location": "query",
"type": "string"
},
"pageSize": {
"description": "Requested page size. Defaults to 5000.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A token identifying a page of results to return. This should be a\n`next_page_token` value returned from a previous `ListSkus`\ncall. If unspecified, the first page of results is returned.",
"location": "query",
"type": "string"
},
"parent": {
"description": "The name of the service.\nExample: \"services/DA34-426B-A397\"",
"location": "path",
"pattern": "^services/[^/]+$",
"required": true,
"type": "string"
},
"startTime": {
"description": "Optional inclusive start time of the time range for which the pricing\nversions will be returned. Timestamps in the future are not allowed.\nThe time range has to be within a single calendar month in\nAmerica/Los_Angeles timezone. Time range as a whole is optional. If not\nspecified, the latest pricing will be returned (up to 12 hours old at\nmost).",
"format": "google-datetime",
"location": "query",
"type": "string"
}
},
"path": "v1/{+parent}/skus",
"response": {
"$ref": "ListSkusResponse"
}
}
}
}
}
}
},
"revision": "20180307",
"rootUrl": "https://cloudbilling.googleapis.com/",
"schemas": {
"AggregationInfo": {
"description": "Represents the aggregation level and interval for pricing of a single SKU.",
"id": "AggregationInfo",
"properties": {
"aggregationCount": {
"description": "The number of intervals to aggregate over.\nExample: If aggregation_level is \"DAILY\" and aggregation_count is 14,\naggregation will be over 14 days.",
"format": "int32",
"type": "integer"
},
"aggregationInterval": {
"enum": [
"AGGREGATION_INTERVAL_UNSPECIFIED",
"DAILY",
"MONTHLY"
],
"enumDescriptions": [
"",
"",
""
],
"type": "string"
},
"aggregationLevel": {
"enum": [
"AGGREGATION_LEVEL_UNSPECIFIED",
"ACCOUNT",
"PROJECT"
],
"enumDescriptions": [
"",
"",
""
],
"type": "string"
}
},
"type": "object"
},
"AuditConfig": {
"description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.",
"id": "AuditConfig",
"properties": {
"auditLogConfigs": {
"description": "The configuration for logging of each type of permission.\nNext ID: 4",
"items": {
"$ref": "AuditLogConfig"
},
"type": "array"
},
"service": {
"description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
"type": "string"
}
},
"type": "object"
},
"AuditLogConfig": {
"description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.",
"id": "AuditLogConfig",
"properties": {
"exemptedMembers": {
"description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
"items": {
"type": "string"
},
"type": "array"
},
"logType": {
"description": "The log type that this config enables.",
"enum": [
"LOG_TYPE_UNSPECIFIED",
"ADMIN_READ",
"DATA_WRITE",
"DATA_READ"
],
"enumDescriptions": [
"Default case. Should never be this.",
"Admin reads. Example: CloudIAM getIamPolicy",
"Data writes. Example: CloudSQL Users create",
"Data reads. Example: CloudSQL Users list"
],
"type": "string"
}
},
"type": "object"
},
"BillingAccount": {
"description": "A billing account in [GCP Console](https://console.cloud.google.com/).\nYou can assign a billing account to one or more projects.",
"id": "BillingAccount",
"properties": {
"displayName": {
"description": "The display name given to the billing account, such as `My Billing\nAccount`. This name is displayed in the GCP Console.",
"type": "string"
},
"masterBillingAccount": {
"description": "If this account is a\n[subaccount](https://cloud.google.com/billing/docs/concepts), then this\nwill be the resource name of the master billing account that it is being\nresold through.\nOtherwise this will be empty.\n\n\u003e This field is currently in\n\u003e [Beta](https://cloud.google.com/terms/launch-stages).",
"type": "string"
},
"name": {
"description": "The resource name of the billing account. The resource name has the form\n`billingAccounts/{billing_account_id}`. For example,\n`billingAccounts/012345-567890-ABCDEF` would be the resource name for\nbilling account `012345-567890-ABCDEF`.",
"type": "string"
},
"open": {
"description": "True if the billing account is open, and will therefore be charged for any\nusage on associated projects. False if the billing account is closed, and\ntherefore projects associated with it will be unable to use paid services.",
"type": "boolean"
}
},
"type": "object"
},
"Binding": {
"description": "Associates `members` with a `role`.",
"id": "Binding",
"properties": {
"members": {
"description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n",
"items": {
"type": "string"
},
"type": "array"
},
"role": {
"description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired",
"type": "string"
}
},
"type": "object"
},
"Category": {
"description": "Represents the category hierarchy of a SKU.",
"id": "Category",
"properties": {
"resourceFamily": {
"description": "The type of product the SKU refers to.\nExample: \"Compute\", \"Storage\", \"Network\", \"ApplicationServices\" etc.",
"type": "string"
},
"resourceGroup": {
"description": "A group classification for related SKUs.\nExample: \"RAM\", \"GPU\", \"Prediction\", \"Ops\", \"GoogleEgress\" etc.",
"type": "string"
},
"serviceDisplayName": {
"description": "The display name of the service this SKU belongs to.",
"type": "string"
},
"usageType": {
"description": "Represents how the SKU is consumed.\nExample: \"OnDemand\", \"Preemptible\", \"Commit1Mo\", \"Commit1Yr\" etc.",
"type": "string"
}
},
"type": "object"
},
"ListBillingAccountsResponse": {
"description": "Response message for `ListBillingAccounts`.",
"id": "ListBillingAccountsResponse",
"properties": {
"billingAccounts": {
"description": "A list of billing accounts.",
"items": {
"$ref": "BillingAccount"
},
"type": "array"
},
"nextPageToken": {
"description": "A token to retrieve the next page of results. To retrieve the next page,\ncall `ListBillingAccounts` again with the `page_token` field set to this\nvalue. This field is empty if there are no more results to retrieve.",
"type": "string"
}
},
"type": "object"
},
"ListProjectBillingInfoResponse": {
"description": "Request message for `ListProjectBillingInfoResponse`.",
"id": "ListProjectBillingInfoResponse",
"properties": {
"nextPageToken": {
"description": "A token to retrieve the next page of results. To retrieve the next page,\ncall `ListProjectBillingInfo` again with the `page_token` field set to this\nvalue. This field is empty if there are no more results to retrieve.",
"type": "string"
},
"projectBillingInfo": {
"description": "A list of `ProjectBillingInfo` resources representing the projects\nassociated with the billing account.",
"items": {
"$ref": "ProjectBillingInfo"
},
"type": "array"
}
},
"type": "object"
},
"ListServicesResponse": {
"description": "Response message for `ListServices`.",
"id": "ListServicesResponse",
"properties": {
"nextPageToken": {
"description": "A token to retrieve the next page of results. To retrieve the next page,\ncall `ListServices` again with the `page_token` field set to this\nvalue. This field is empty if there are no more results to retrieve.",
"type": "string"
},
"services": {
"description": "A list of services.",
"items": {
"$ref": "Service"
},
"type": "array"
}
},
"type": "object"
},
"ListSkusResponse": {
"description": "Response message for `ListSkus`.",
"id": "ListSkusResponse",
"properties": {
"nextPageToken": {
"description": "A token to retrieve the next page of results. To retrieve the next page,\ncall `ListSkus` again with the `page_token` field set to this\nvalue. This field is empty if there are no more results to retrieve.",
"type": "string"
},
"skus": {
"description": "The list of public SKUs of the given service.",
"items": {
"$ref": "Sku"
},
"type": "array"
}
},
"type": "object"
},
"Money": {
"description": "Represents an amount of money with its currency type.",
"id": "Money",
"properties": {
"currencyCode": {
"description": "The 3-letter currency code defined in ISO 4217.",
"type": "string"
},
"nanos": {
"description": "Number of nano (10^-9) units of the amount.\nThe value must be between -999,999,999 and +999,999,999 inclusive.\nIf `units` is positive, `nanos` must be positive or zero.\nIf `units` is zero, `nanos` can be positive, zero, or negative.\nIf `units` is negative, `nanos` must be negative or zero.\nFor example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.",
"format": "int32",
"type": "integer"
},
"units": {
"description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"Policy": {
"description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam/docs).",
"id": "Policy",
"properties": {
"auditConfigs": {
"description": "Specifies cloud audit logging configuration for this policy.",
"items": {
"$ref": "AuditConfig"
},
"type": "array"
},
"bindings": {
"description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.",
"items": {
"$ref": "Binding"
},
"type": "array"
},
"etag": {
"description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.",
"format": "byte",
"type": "string"
},
"version": {
"description": "Deprecated.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"PricingExpression": {
"description": "Expresses a mathematical pricing formula. For Example:-\n\n`usage_unit: GBy`\n`tiered_rates:`\n `[start_usage_amount: 20, unit_price: $10]`\n `[start_usage_amount: 100, unit_price: $5]`\n\nThe above expresses a pricing formula where the first 20GB is free, the\nnext 80GB is priced at $10 per GB followed by $5 per GB for additional\nusage.",
"id": "PricingExpression",
"properties": {
"baseUnit": {
"description": "The base unit for the SKU which is the unit used in usage exports.\nExample: \"By\"",
"type": "string"
},
"baseUnitConversionFactor": {
"description": "Conversion factor for converting from price per usage_unit to price per\nbase_unit, and start_usage_amount to start_usage_amount in base_unit.\nunit_price / base_unit_conversion_factor = price per base_unit.\nstart_usage_amount * base_unit_conversion_factor = start_usage_amount in\nbase_unit.",
"format": "double",
"type": "number"
},
"baseUnitDescription": {
"description": "The base unit in human readable form.\nExample: \"byte\".",
"type": "string"
},
"displayQuantity": {
"description": "The recommended quantity of units for displaying pricing info. When\ndisplaying pricing info it is recommended to display:\n(unit_price * display_quantity) per display_quantity usage_unit.\nThis field does not affect the pricing formula and is for display purposes\nonly.\nExample: If the unit_price is \"0.0001 USD\", the usage_unit is \"GB\" and\nthe display_quantity is \"1000\" then the recommended way of displaying the\npricing info is \"0.10 USD per 1000 GB\"",
"format": "double",
"type": "number"
},
"tieredRates": {
"description": "The list of tiered rates for this pricing. The total cost is computed by\napplying each of the tiered rates on usage. This repeated list is sorted\nby ascending order of start_usage_amount.",
"items": {
"$ref": "TierRate"
},
"type": "array"
},
"usageUnit": {
"description": "The short hand for unit of usage this pricing is specified in.\nExample: usage_unit of \"GiBy\" means that usage is specified in \"Gibi Byte\".",
"type": "string"
},
"usageUnitDescription": {
"description": "The unit of usage in human readable form.\nExample: \"gibi byte\".",
"type": "string"
}
},
"type": "object"
},
"PricingInfo": {
"description": "Represents the pricing information for a SKU at a single point of time.",
"id": "PricingInfo",
"properties": {
"aggregationInfo": {
"$ref": "AggregationInfo",
"description": "Aggregation Info. This can be left unspecified if the pricing expression\ndoesn't require aggregation."
},
"currencyConversionRate": {
"description": "Conversion rate used for currency conversion, from USD to the currency\nspecified in the request. This includes any surcharge collected for billing\nin non USD currency. If a currency is not specified in the request this\ndefaults to 1.0.\nExample: USD * currency_conversion_rate = JPY",
"format": "double",
"type": "number"
},
"effectiveTime": {
"description": "The timestamp from which this pricing was effective within the requested\ntime range. This is guaranteed to be greater than or equal to the\nstart_time field in the request and less than the end_time field in the\nrequest. If a time range was not specified in the request this field will\nbe equivalent to a time within the last 12 hours, indicating the latest\npricing info.",
"format": "google-datetime",
"type": "string"
},
"pricingExpression": {
"$ref": "PricingExpression",
"description": "Expresses the pricing formula. See `PricingExpression` for an example."
},
"summary": {
"description": "An optional human readable summary of the pricing information, has a\nmaximum length of 256 characters.",
"type": "string"
}
},
"type": "object"
},
"ProjectBillingInfo": {
"description": "Encapsulation of billing information for a GCP Console project. A project\nhas at most one associated billing account at a time (but a billing account\ncan be assigned to multiple projects).",
"id": "ProjectBillingInfo",
"properties": {
"billingAccountName": {
"description": "The resource name of the billing account associated with the project, if\nany. For example, `billingAccounts/012345-567890-ABCDEF`.",
"type": "string"
},
"billingEnabled": {
"description": "True if the project is associated with an open billing account, to which\nusage on the project is charged. False if the project is associated with a\nclosed billing account, or no billing account at all, and therefore cannot\nuse paid services. This field is read-only.",
"type": "boolean"
},
"name": {
"description": "The resource name for the `ProjectBillingInfo`; has the form\n`projects/{project_id}/billingInfo`. For example, the resource name for the\nbilling information for project `tokyo-rain-123` would be\n`projects/tokyo-rain-123/billingInfo`. This field is read-only.",
"type": "string"
},
"projectId": {
"description": "The ID of the project that this `ProjectBillingInfo` represents, such as\n`tokyo-rain-123`. This is a convenience field so that you don't need to\nparse the `name` field to obtain a project ID. This field is read-only.",
"type": "string"
}
},
"type": "object"
},
"Service": {
"description": "Encapsulates a single service in Google Cloud Platform.",
"id": "Service",
"properties": {
"displayName": {
"description": "A human readable display name for this service.",
"type": "string"
},
"name": {
"description": "The resource name for the service.\nExample: \"services/DA34-426B-A397\"",
"type": "string"
},
"serviceId": {
"description": "The identifier for the service.\nExample: \"DA34-426B-A397\"",
"type": "string"
}
},
"type": "object"
},
"SetIamPolicyRequest": {
"description": "Request message for `SetIamPolicy` method.",
"id": "SetIamPolicyRequest",
"properties": {
"policy": {
"$ref": "Policy",
"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
},
"updateMask": {
"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.",
"format": "google-fieldmask",
"type": "string"
}
},
"type": "object"
},
"Sku": {
"description": "Encapsulates a single SKU in Google Cloud Platform",
"id": "Sku",
"properties": {
"category": {
"$ref": "Category",
"description": "The category hierarchy of this SKU, purely for organizational purpose."
},
"description": {
"description": "A human readable description of the SKU, has a maximum length of 256\ncharacters.",
"type": "string"
},
"name": {
"description": "The resource name for the SKU.\nExample: \"services/DA34-426B-A397/skus/AA95-CD31-42FE\"",
"type": "string"
},
"pricingInfo": {
"description": "A timeline of pricing info for this SKU in chronological order.",
"items": {
"$ref": "PricingInfo"
},
"type": "array"
},
"serviceProviderName": {
"description": "Identifies the service provider.\nThis is 'Google' for first party services in Google Cloud Platform.",
"type": "string"
},
"serviceRegions": {
"description": "List of service regions this SKU is offered at.\nExample: \"asia-east1\"\nService regions can be found at https://cloud.google.com/about/locations/",
"items": {
"type": "string"
},
"type": "array"
},
"skuId": {
"description": "The identifier for the SKU.\nExample: \"AA95-CD31-42FE\"",
"type": "string"
}
},
"type": "object"
},
"TestIamPermissionsRequest": {
"description": "Request message for `TestIamPermissions` method.",
"id": "TestIamPermissionsRequest",
"properties": {
"permissions": {
"description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"TestIamPermissionsResponse": {
"description": "Response message for `TestIamPermissions` method.",
"id": "TestIamPermissionsResponse",
"properties": {
"permissions": {
"description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"TierRate": {
"description": "The price rate indicating starting usage and its corresponding price.",
"id": "TierRate",
"properties": {
"startUsageAmount": {
"description": "Usage is priced at this rate only after this amount.\nExample: start_usage_amount of 10 indicates that the usage will be priced\nat the unit_price after the first 10 usage_units.",
"format": "double",
"type": "number"
},
"unitPrice": {
"$ref": "Money",
"description": "The price per unit of usage.\nExample: unit_price of amount $10 indicates that each unit will cost $10."
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Cloud Billing API",
"version": "v1"
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,750 +0,0 @@
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/cloud-platform": {
"description": "View and manage your data across Google Cloud Platform services"
}
}
}
},
"basePath": "",
"baseUrl": "https://clouderrorreporting.googleapis.com/",
"batchPath": "batch",
"canonicalName": "Clouderrorreporting",
"description": "Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors.\n",
"discoveryVersion": "v1",
"documentationLink": "https://cloud.google.com/error-reporting/",
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "clouderrorreporting:v1beta1",
"kind": "discovery#restDescription",
"name": "clouderrorreporting",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"bearer_token": {
"description": "OAuth bearer token.",
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "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.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"pp": {
"default": "true",
"description": "Pretty-print response.",
"location": "query",
"type": "boolean"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "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.",
"location": "query",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"projects": {
"methods": {
"deleteEvents": {
"description": "Deletes all error events of a given project.",
"flatPath": "v1beta1/projects/{projectsId}/events",
"httpMethod": "DELETE",
"id": "clouderrorreporting.projects.deleteEvents",
"parameterOrder": [
"projectName"
],
"parameters": {
"projectName": {
"description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta1/{+projectName}/events",
"response": {
"$ref": "DeleteEventsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"events": {
"methods": {
"list": {
"description": "Lists the specified events.",
"flatPath": "v1beta1/projects/{projectsId}/events",
"httpMethod": "GET",
"id": "clouderrorreporting.projects.events.list",
"parameterOrder": [
"projectName"
],
"parameters": {
"groupId": {
"description": "[Required] The group for which events shall be returned.",
"location": "query",
"type": "string"
},
"pageSize": {
"description": "[Optional] The maximum number of results to return per response.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "[Optional] A `next_page_token` provided by a previous response.",
"location": "query",
"type": "string"
},
"projectName": {
"description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
},
"serviceFilter.resourceType": {
"description": "[Optional] The exact value to match against\n[`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).",
"location": "query",
"type": "string"
},
"serviceFilter.service": {
"description": "[Optional] The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
"location": "query",
"type": "string"
},
"serviceFilter.version": {
"description": "[Optional] The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
"location": "query",
"type": "string"
},
"timeRange.period": {
"description": "Restricts the query to the specified time range.",
"enum": [
"PERIOD_UNSPECIFIED",
"PERIOD_1_HOUR",
"PERIOD_6_HOURS",
"PERIOD_1_DAY",
"PERIOD_1_WEEK",
"PERIOD_30_DAYS"
],
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+projectName}/events",
"response": {
"$ref": "ListEventsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"report": {
"description": "Report an individual error event.\n\nThis endpoint accepts \u003cstrong\u003eeither\u003c/strong\u003e an OAuth token,\n\u003cstrong\u003eor\u003c/strong\u003e an\n\u003ca href=\"https://support.google.com/cloud/answer/6158862\"\u003eAPI key\u003c/a\u003e\nfor authentication. To use an API key, append it to the URL as the value of\na `key` parameter. For example:\n\u003cpre\u003ePOST https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456\u003c/pre\u003e",
"flatPath": "v1beta1/projects/{projectsId}/events:report",
"httpMethod": "POST",
"id": "clouderrorreporting.projects.events.report",
"parameterOrder": [
"projectName"
],
"parameters": {
"projectName": {
"description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta1/{+projectName}/events:report",
"request": {
"$ref": "ReportedErrorEvent"
},
"response": {
"$ref": "ReportErrorEventResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"groupStats": {
"methods": {
"list": {
"description": "Lists the specified groups.",
"flatPath": "v1beta1/projects/{projectsId}/groupStats",
"httpMethod": "GET",
"id": "clouderrorreporting.projects.groupStats.list",
"parameterOrder": [
"projectName"
],
"parameters": {
"alignment": {
"description": "[Optional] The alignment of the timed counts to be returned.\nDefault is `ALIGNMENT_EQUAL_AT_END`.",
"enum": [
"ERROR_COUNT_ALIGNMENT_UNSPECIFIED",
"ALIGNMENT_EQUAL_ROUNDED",
"ALIGNMENT_EQUAL_AT_END"
],
"location": "query",
"type": "string"
},
"alignmentTime": {
"description": "[Optional] Time where the timed counts shall be aligned if rounded\nalignment is chosen. Default is 00:00 UTC.",
"format": "google-datetime",
"location": "query",
"type": "string"
},
"groupId": {
"description": "[Optional] List all \u003ccode\u003eErrorGroupStats\u003c/code\u003e with these IDs.",
"location": "query",
"repeated": true,
"type": "string"
},
"order": {
"description": "[Optional] The sort order in which the results are returned.\nDefault is `COUNT_DESC`.",
"enum": [
"GROUP_ORDER_UNSPECIFIED",
"COUNT_DESC",
"LAST_SEEN_DESC",
"CREATED_DESC",
"AFFECTED_USERS_DESC"
],
"location": "query",
"type": "string"
},
"pageSize": {
"description": "[Optional] The maximum number of results to return per response.\nDefault is 20.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "[Optional] A `next_page_token` provided by a previous response. To view\nadditional results, pass this token along with the identical query\nparameters as the first request.",
"location": "query",
"type": "string"
},
"projectName": {
"description": "[Required] The resource name of the Google Cloud Platform project. Written\nas \u003ccode\u003eprojects/\u003c/code\u003e plus the\n\u003ca href=\"https://support.google.com/cloud/answer/6158840\"\u003eGoogle Cloud\nPlatform project ID\u003c/a\u003e.\n\nExample: \u003ccode\u003eprojects/my-project-123\u003c/code\u003e.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
},
"serviceFilter.resourceType": {
"description": "[Optional] The exact value to match against\n[`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).",
"location": "query",
"type": "string"
},
"serviceFilter.service": {
"description": "[Optional] The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
"location": "query",
"type": "string"
},
"serviceFilter.version": {
"description": "[Optional] The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
"location": "query",
"type": "string"
},
"timeRange.period": {
"description": "Restricts the query to the specified time range.",
"enum": [
"PERIOD_UNSPECIFIED",
"PERIOD_1_HOUR",
"PERIOD_6_HOURS",
"PERIOD_1_DAY",
"PERIOD_1_WEEK",
"PERIOD_30_DAYS"
],
"location": "query",
"type": "string"
},
"timedCountDuration": {
"description": "[Optional] The preferred duration for a single returned `TimedCount`.\nIf not set, no timed counts are returned.",
"format": "google-duration",
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+projectName}/groupStats",
"response": {
"$ref": "ListGroupStatsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"groups": {
"methods": {
"get": {
"description": "Get the specified group.",
"flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}",
"httpMethod": "GET",
"id": "clouderrorreporting.projects.groups.get",
"parameterOrder": [
"groupName"
],
"parameters": {
"groupName": {
"description": "[Required] The group resource name. Written as\n\u003ccode\u003eprojects/\u003cvar\u003eprojectID\u003c/var\u003e/groups/\u003cvar\u003egroup_name\u003c/var\u003e\u003c/code\u003e.\nCall\n\u003ca href=\"/error-reporting/reference/rest/v1beta1/projects.groupStats/list\"\u003e\n\u003ccode\u003egroupStats.list\u003c/code\u003e\u003c/a\u003e to return a list of groups belonging to\nthis project.\n\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-group\u003c/code\u003e",
"location": "path",
"pattern": "^projects/[^/]+/groups/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta1/{+groupName}",
"response": {
"$ref": "ErrorGroup"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"update": {
"description": "Replace the data for the specified group.\nFails if the group does not exist.",
"flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}",
"httpMethod": "PUT",
"id": "clouderrorreporting.projects.groups.update",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-groupid\u003c/code\u003e",
"location": "path",
"pattern": "^projects/[^/]+/groups/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta1/{+name}",
"request": {
"$ref": "ErrorGroup"
},
"response": {
"$ref": "ErrorGroup"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
}
},
"revision": "20180126",
"rootUrl": "https://clouderrorreporting.googleapis.com/",
"schemas": {
"DeleteEventsResponse": {
"description": "Response message for deleting error events.",
"id": "DeleteEventsResponse",
"properties": {},
"type": "object"
},
"ErrorContext": {
"description": "A description of the context in which an error occurred.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.",
"id": "ErrorContext",
"properties": {
"httpRequest": {
"$ref": "HttpRequestContext",
"description": "The HTTP request which was processed when the error was\ntriggered."
},
"reportLocation": {
"$ref": "SourceLocation",
"description": "The location in the source code where the decision was made to\nreport the error, usually the place where it was logged.\nFor a logged exception this would be the source line where the\nexception is logged, usually close to the place where it was\ncaught."
},
"sourceReferences": {
"description": "Source code that was used to build the executable which has\ncaused the given error message.",
"items": {
"$ref": "SourceReference"
},
"type": "array"
},
"user": {
"description": "The user who caused or was affected by the crash.\nThis can be a user ID, an email address, or an arbitrary token that\nuniquely identifies the user.\nWhen sending an error report, leave this field empty if the user was not\nlogged in. In this case the\nError Reporting system will use other data, such as remote IP address, to\ndistinguish affected users. See `affected_users_count` in\n`ErrorGroupStats`.",
"type": "string"
}
},
"type": "object"
},
"ErrorEvent": {
"description": "An error event which is returned by the Error Reporting system.",
"id": "ErrorEvent",
"properties": {
"context": {
"$ref": "ErrorContext",
"description": "Data about the context in which the error occurred."
},
"eventTime": {
"description": "Time when the event occurred as provided in the error report.\nIf the report did not contain a timestamp, the time the error was received\nby the Error Reporting system is used.",
"format": "google-datetime",
"type": "string"
},
"message": {
"description": "The stack trace that was reported or logged by the service.",
"type": "string"
},
"serviceContext": {
"$ref": "ServiceContext",
"description": "The `ServiceContext` for which this error was reported."
}
},
"type": "object"
},
"ErrorGroup": {
"description": "Description of a group of similar error events.",
"id": "ErrorGroup",
"properties": {
"groupId": {
"description": "Group IDs are unique for a given project. If the same kind of error\noccurs in different service contexts, it will receive the same group ID.",
"type": "string"
},
"name": {
"description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-groupid\u003c/code\u003e",
"type": "string"
},
"trackingIssues": {
"description": "Associated tracking issues.",
"items": {
"$ref": "TrackingIssue"
},
"type": "array"
}
},
"type": "object"
},
"ErrorGroupStats": {
"description": "Data extracted for a specific group based on certain filter criteria,\nsuch as a given time period and/or service filter.",
"id": "ErrorGroupStats",
"properties": {
"affectedServices": {
"description": "Service contexts with a non-zero error count for the given filter\ncriteria. This list can be truncated if multiple services are affected.\nRefer to `num_affected_services` for the total count.",
"items": {
"$ref": "ServiceContext"
},
"type": "array"
},
"affectedUsersCount": {
"description": "Approximate number of affected users in the given group that\nmatch the filter criteria.\nUsers are distinguished by data in the `ErrorContext` of the\nindividual error events, such as their login name or their remote\nIP address in case of HTTP requests.\nThe number of affected users can be zero even if the number of\nerrors is non-zero if no data was provided from which the\naffected user could be deduced.\nUsers are counted based on data in the request\ncontext that was provided in the error report. If more users are\nimplicitly affected, such as due to a crash of the whole service,\nthis is not reflected here.",
"format": "int64",
"type": "string"
},
"count": {
"description": "Approximate total number of events in the given group that match\nthe filter criteria.",
"format": "int64",
"type": "string"
},
"firstSeenTime": {
"description": "Approximate first occurrence that was ever seen for this group\nand which matches the given filter criteria, ignoring the\ntime_range that was specified in the request.",
"format": "google-datetime",
"type": "string"
},
"group": {
"$ref": "ErrorGroup",
"description": "Group data that is independent of the filter criteria."
},
"lastSeenTime": {
"description": "Approximate last occurrence that was ever seen for this group and\nwhich matches the given filter criteria, ignoring the time_range\nthat was specified in the request.",
"format": "google-datetime",
"type": "string"
},
"numAffectedServices": {
"description": "The total number of services with a non-zero error count for the given\nfilter criteria.",
"format": "int32",
"type": "integer"
},
"representative": {
"$ref": "ErrorEvent",
"description": "An arbitrary event that is chosen as representative for the whole group.\nThe representative event is intended to be used as a quick preview for\nthe whole group. Events in the group are usually sufficiently similar\nto each other such that showing an arbitrary representative provides\ninsight into the characteristics of the group as a whole."
},
"timedCounts": {
"description": "Approximate number of occurrences over time.\nTimed counts returned by ListGroups are guaranteed to be:\n\n- Inside the requested time interval\n- Non-overlapping, and\n- Ordered by ascending time.",
"items": {
"$ref": "TimedCount"
},
"type": "array"
}
},
"type": "object"
},
"HttpRequestContext": {
"description": "HTTP request data that is related to a reported error.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.",
"id": "HttpRequestContext",
"properties": {
"method": {
"description": "The type of HTTP request, such as `GET`, `POST`, etc.",
"type": "string"
},
"referrer": {
"description": "The referrer information that is provided with the request.",
"type": "string"
},
"remoteIp": {
"description": "The IP address from which the request originated.\nThis can be IPv4, IPv6, or a token which is derived from the\nIP address, depending on the data that has been provided\nin the error report.",
"type": "string"
},
"responseStatusCode": {
"description": "The HTTP response status code for the request.",
"format": "int32",
"type": "integer"
},
"url": {
"description": "The URL of the request.",
"type": "string"
},
"userAgent": {
"description": "The user agent information that is provided with the request.",
"type": "string"
}
},
"type": "object"
},
"ListEventsResponse": {
"description": "Contains a set of requested error events.",
"id": "ListEventsResponse",
"properties": {
"errorEvents": {
"description": "The error events which match the given request.",
"items": {
"$ref": "ErrorEvent"
},
"type": "array"
},
"nextPageToken": {
"description": "If non-empty, more results are available.\nPass this token, along with the same query parameters as the first\nrequest, to view the next page of results.",
"type": "string"
},
"timeRangeBegin": {
"description": "The timestamp specifies the start time to which the request was restricted.",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"ListGroupStatsResponse": {
"description": "Contains a set of requested error group stats.",
"id": "ListGroupStatsResponse",
"properties": {
"errorGroupStats": {
"description": "The error group stats which match the given request.",
"items": {
"$ref": "ErrorGroupStats"
},
"type": "array"
},
"nextPageToken": {
"description": "If non-empty, more results are available.\nPass this token, along with the same query parameters as the first\nrequest, to view the next page of results.",
"type": "string"
},
"timeRangeBegin": {
"description": "The timestamp specifies the start time to which the request was restricted.\nThe start time is set based on the requested time range. It may be adjusted\nto a later time if a project has exceeded the storage quota and older data\nhas been deleted.",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"ReportErrorEventResponse": {
"description": "Response for reporting an individual error event.\nData may be added to this message in the future.",
"id": "ReportErrorEventResponse",
"properties": {},
"type": "object"
},
"ReportedErrorEvent": {
"description": "An error event which is reported to the Error Reporting system.",
"id": "ReportedErrorEvent",
"properties": {
"context": {
"$ref": "ErrorContext",
"description": "[Optional] A description of the context in which the error occurred."
},
"eventTime": {
"description": "[Optional] Time when the event occurred.\nIf not provided, the time when the event was received by the\nError Reporting system will be used.",
"format": "google-datetime",
"type": "string"
},
"message": {
"description": "[Required] The error message.\nIf no `context.reportLocation` is provided, the message must contain a\nheader (typically consisting of the exception type name and an error\nmessage) and an exception stack trace in one of the supported programming\nlanguages and formats.\nSupported languages are Java, Python, JavaScript, Ruby, C#, PHP, and Go.\nSupported stack trace formats are:\n\n* **Java**: Must be the return value of [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29).\n* **Python**: Must be the return value of [`traceback.format_exc()`](https://docs.python.org/2/library/traceback.html#traceback.format_exc).\n* **JavaScript**: Must be the value of [`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API)\nas returned by V8.\n* **Ruby**: Must contain frames returned by [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace).\n* **C#**: Must be the return value of [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx).\n* **PHP**: Must start with `PHP (Notice|Parse error|Fatal error|Warning)`\nand contain the result of [`(string)$exception`](http://php.net/manual/en/exception.tostring.php).\n* **Go**: Must be the return value of [`runtime.Stack()`](https://golang.org/pkg/runtime/debug/#Stack).",
"type": "string"
},
"serviceContext": {
"$ref": "ServiceContext",
"description": "[Required] The service context in which this error has occurred."
}
},
"type": "object"
},
"ServiceContext": {
"description": "Describes a running service that sends errors.\nIts version changes over time and multiple versions can run in parallel.",
"id": "ServiceContext",
"properties": {
"resourceType": {
"description": "Type of the MonitoredResource. List of possible values:\nhttps://cloud.google.com/monitoring/api/resources\n\nValue is set automatically for incoming errors and must not be set when\nreporting errors.",
"type": "string"
},
"service": {
"description": "An identifier of the service, such as the name of the\nexecutable, job, or Google App Engine service name. This field is expected\nto have a low number of values that are relatively stable over time, as\nopposed to `version`, which can be changed whenever new code is deployed.\n\nContains the service name for error reports extracted from Google\nApp Engine logs or `default` if the App Engine default service is used.",
"type": "string"
},
"version": {
"description": "Represents the source code version that the developer provided,\nwhich could represent a version label or a Git SHA-1 hash, for example.\nFor App Engine standard environment, the version is set to the version of\nthe app.",
"type": "string"
}
},
"type": "object"
},
"SourceLocation": {
"description": "Indicates a location in the source code of the service for which errors are\nreported. `functionName` must be provided by the application when reporting\nan error, unless the error report contains a `message` with a supported\nexception stack trace. All fields are optional for the later case.",
"id": "SourceLocation",
"properties": {
"filePath": {
"description": "The source code filename, which can include a truncated relative\npath, or a full path from a production machine.",
"type": "string"
},
"functionName": {
"description": "Human-readable name of a function or method.\nThe value can include optional context like the class or package name.\nFor example, `my.package.MyClass.method` in case of Java.",
"type": "string"
},
"lineNumber": {
"description": "1-based. 0 indicates that the line number is unknown.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"SourceReference": {
"description": "A reference to a particular snapshot of the source tree used to build and\ndeploy an application.",
"id": "SourceReference",
"properties": {
"repository": {
"description": "Optional. A URI string identifying the repository.\nExample: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"",
"type": "string"
},
"revisionId": {
"description": "The canonical and persistent identifier of the deployed revision.\nExample (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"",
"type": "string"
}
},
"type": "object"
},
"TimedCount": {
"description": "The number of errors in a given time period.\nAll numbers are approximate since the error events are sampled\nbefore counting them.",
"id": "TimedCount",
"properties": {
"count": {
"description": "Approximate number of occurrences in the given time period.",
"format": "int64",
"type": "string"
},
"endTime": {
"description": "End of the time period to which `count` refers (excluded).",
"format": "google-datetime",
"type": "string"
},
"startTime": {
"description": "Start of the time period to which `count` refers (included).",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"TrackingIssue": {
"description": "Information related to tracking the progress on resolving the error.",
"id": "TrackingIssue",
"properties": {
"url": {
"description": "A URL pointing to a related entry in an issue tracking system.\nExample: https://github.com/user/project/issues/4",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Stackdriver Error Reporting API",
"version": "v1beta1",
"version_module": true
}

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more