| <!DOCTYPE html> |
| <html lang="en-us"> |
| <head> |
| <meta charset="UTF-8"> |
| <title>Googleapis by googleapis</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen"> |
| <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'> |
| <link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen"> |
| <link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen"> |
| </head> |
| <body> |
| <section class="page-header"> |
| <h1 class="project-name">Googleapis</h1> |
| <h2 class="project-tagline">Contains the interface definitions for a small (but growing) set of Google APIs</h2> |
| <a href="https://github.com/googleapis/googleapis" class="btn">View on GitHub</a> |
| <a href="https://github.com/googleapis/googleapis/zipball/master" class="btn">Download .zip</a> |
| <a href="https://github.com/googleapis/googleapis/tarball/master" class="btn">Download .tar.gz</a> |
| </section> |
| |
| <section class="main-content"> |
| <h1> |
| <a id="google-apis" class="anchor" href="#google-apis" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Google APIs</h1> |
| |
| <p>This repository contains the original interface definitions for a |
| small (but growing) set of Google APIs built on a next-generation API |
| serving stack. Reading the original interface definitions can provide |
| a better understanding of these APIs and help you to utilize them more |
| efficiently. You can also use these interface definitions with open |
| source tools to generate client libraries or other artifacts such as |
| documentation.</p> |
| |
| <p>For more details on all Google APIs and developer tools, see the <a href="https://developers.google.com/products/">Google |
| Developers</a> site.</p> |
| |
| <h2> |
| <a id="overview" class="anchor" href="#overview" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Overview</h2> |
| |
| <p>Google APIs are typically deployed as API services that are hosted |
| under different DNS names. One API service may implement multiple APIs |
| and multiple versions of the same API, and each API contains a |
| collection of API methods.</p> |
| |
| <p>By default, Google APIs use <a href="https://github.com/google/protobuf">Protocol |
| Buffers</a> language version 3 - aka |
| proto3 - as their Interface Definition Language (IDL) to define the |
| API interface and the structure of the payload messages. The same |
| interface definition is used for both REST and RPC versions of the |
| API, which can be accessed over different wire protocols.</p> |
| |
| <p>There are two ways of accessing Google APIs:</p> |
| |
| <ol> |
| <li><p>JSON over HTTP/1.1: You can access Google APIs directly using JSON |
| over HTTP/1.1, using Google-provided API or third-party API client |
| libraries.</p></li> |
| <li><p>Protocol Buffers over gRPC: You can access Google APIs published |
| in this repository through <a href="https://github.com/grpc">GRPC</a>, which is |
| a high-performance binary RPC protocol over HTTP/2. It offers many |
| useful features, including request/response multiplex and full-duplex |
| streaming.</p></li> |
| </ol> |
| |
| <h2> |
| <a id="discussions" class="anchor" href="#discussions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Discussions</h2> |
| |
| <p>You may use the <a href="https://groups.google.com/group/googleapis">Google APIs</a> |
| mailing list for general discussions about this repository.</p> |
| |
| <h2> |
| <a id="repository-structure" class="anchor" href="#repository-structure" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Repository Structure</h2> |
| |
| <p>This repository uses a directory hierarchy that reflects the Google |
| API product structure. In general, every API has its own root |
| directory, and each major version of the API has its own subdirectory. |
| The proto package names exactly match the directory: this makes it |
| easy to locate the proto definitions and ensures that the generated |
| client libraries have idiomatic namespaces in most programming |
| languages. Alongside the API directories live the configuration files |
| for the <a href="https://github.com/googleapis/toolkit">GAPIC toolkit</a>.</p> |
| |
| <p><strong>NOTE:</strong> the major version of an API is used to indicate breaking |
| change to the API.</p> |
| |
| <h2> |
| <a id="generate-grpc-source-code" class="anchor" href="#generate-grpc-source-code" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Generate gRPC Source Code</h2> |
| |
| <p>To generate gRPC source code for Google APIs in this repository, you |
| first need to install both Protocol Buffers and gRPC on your local |
| machine. Then you can run <code>make all</code> in this directory to generate |
| the code.</p> |
| |
| <h3> |
| <a id="go-grpc-source-code" class="anchor" href="#go-grpc-source-code" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Go gRPC Source Code</h3> |
| |
| <p>It is difficult to generate Go gRPC source code from this repository, |
| since Go has different directory structure. |
| Please use <a href="https://github.com/google/go-genproto">this repository</a> instead.</p> |
| |
| <p><strong>NOTE:</strong> The Makefile needs more improvements.</p> |
| |
| <footer class="site-footer"> |
| <span class="site-footer-owner"><a href="https://github.com/googleapis/googleapis">Googleapis</a> is maintained by <a href="https://github.com/googleapis">googleapis</a>.</span> |
| |
| <span class="site-footer-credits">This page was generated by <a href="https://pages.github.com">GitHub Pages</a> using the <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a> by <a href="https://twitter.com/jasonlong">Jason Long</a>.</span> |
| </footer> |
| |
| </section> |
| |
| |
| </body> |
| </html> |