Node.js idiomatic client libraries for Google Cloud Platform services.
Libraries are available on GitHub and npm for developing Node.js applications that interact with individual Google Cloud services:
If the service is not listed above, google-api-nodejs-client interfaces with additional Google Cloud APIs using a legacy REST interface.
When building Node.js applications, preference should be given to the libraries listed in the table.
Before you can interact with a given Google Cloud Service, you must enable its API.
Links are available for enabling APIs in the table at the beginning of this document, and in each libraries README.md.
To use Application Default Credentials, You first need to download a set of JSON credentials for your project. Go to APIs & Auth > Credentials in the Google Developers Console and select Service account from the Add credentials dropdown.
This file is your only copy of these credentials. It should never be committed with your source code, and should be stored securely.
Once downloaded, store the path to this file in the GOOGLE_APPLICATION_CREDENTIALS
environment variable.
Other authentication methods are outlined in the README for google-auth-library-nodejs, which is the authentication library used by all Google Cloud Node.js clients.
Our client libraries follow the Node.js release schedule. Libraries are compatible with all current active and maintenance versions of Node.js. If you are using an end-of-life version of Node.js, we recommend that you update as soon as possible to an actively supported LTS version.
Google's client libraries support legacy versions of Node.js runtimes on a best-efforts basis with the following warnings:
Client libraries targeting some end-of-life versions of Node.js are available, and
can be installed through npm dist-tags.
The dist-tags follow the naming convention legacy-(version)
.
For example, {{ metadata['lib_install_cmd'] }}@legacy-10
installs client libraries
for versions compatible with Node.js 10.
Our libraries follow Semantic Versioning.
Please note it is currently under active development. Any release versioned 0.x.y
is subject to backwards-incompatible changes at any time.
Stable: Libraries defined at the Stable quality level are stable. The code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with an extensive deprecation period. Issues and requests against Stable libraries are addressed with the highest priority.
Preview: Libraries defined at the preview quality level are still a work-in-progress and are more likely to get backwards-incompatible updates.
Contributions to this library are always welcome and highly encouraged.
See CONTRIBUTING for more information on how to get started.
Apache 2.0 - See LICENSE for more information.