• Stars
    star
    2,654
  • Rank 17,227 (Top 0.4 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created over 10 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Google Cloud Client Library for Node.js

Google Cloud Node.js Client Libraries

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:

Repo Release Level Version
Access Approval Stable npm
Access Context Manager Stable npm
AI Platform Notebooks Stable npm
API Gateway Stable npm
Apigee Connect API Stable npm
App Engine Admin API Stable npm
Artifact Registry Stable npm
Asset Inventory Stable npm
Assured Workloads for Government Stable npm
AutoML Stable npm
Backup for GKE API Stable npm
Bigtable Stable npm
Billing Stable npm
Billing Budgets Stable npm
Binary Authorization Stable npm
Build Stable npm
Certificate Authority Service Stable npm
Certificate Manager Stable npm
Channel API Stable npm
Composer Stable npm
Contact Center AI Insights API Stable npm
Data Catalog Stable npm
Data Fusion Stable npm
Data Loss Prevention Stable npm
Database Migration Service Stable npm
Dataplex Stable npm
Dataproc Stable npm
Dataproc Metastore Stable npm
Datastore Stable npm
Datastore Session Stable npm
Datastream Stable npm
Debugger Stable npm
Deploy Stable npm
Dialogflow API Stable npm
Dialogflow CX API Stable npm
DNS Stable npm
Document AI Stable npm
Document AI Warehouse Stable npm
Domains Stable npm
Error Reporting Stable npm
Essential Contacts API Stable npm
Eventarc Stable npm
Eventarc Publishing API Stable npm
Filestore Stable npm
Firestore Stable npm
Firestore Session Stable npm
Functions Stable npm
GKE Hub Stable npm
Google BigQuery Stable npm
Google BigQuery Connection Stable npm
Google BigQuery Data Transfer Service Stable npm
Google BigQuery Reservation Stable npm
Google BigQuery Storage Stable npm
Google Compute Engine Stable npm
Google Container Analysis Stable npm
Grafeas Stable npm
IAM Policy Troubleshooter API Stable npm
IAM Service Account Credentials API Stable npm
Identity and Access Management Stable npm
Identity-Aware Proxy Stable npm
IDS Stable npm
Internet of Things (IoT) Core Stable npm
Key Management Service Stable npm
Kubernetes Engine Cluster Manager API Stable npm
Live Stream API Stable npm
Logging Stable npm
Logging for Bunyan Stable npm
Logging for Winston Stable npm
Managed Service for Microsoft Active Directory Stable npm
Media Translation Stable npm
Memorystore for Memcached Stable npm
Migrate for Compute Engine Stable npm
Monitoring Dashboards Stable npm
Natural Language Stable npm
Network Connectivity Center Stable npm
Network Management API Stable npm
Optimization AI Stable npm
Organization Policy Stable npm
OS Config API Stable npm
OS Login Stable npm
Profiler Stable npm
Pub/Sub Stable npm
reCAPTCHA Enterprise Stable npm
Recommender Stable npm
Redis Stable npm
Resource Manager API Stable npm
Resource Settings API Stable npm
Retail API Stable npm
Run Stable npm
Scheduler Stable npm
Secret Manager Stable npm
Security Command Center Stable npm
Service Control API Stable npm
Service Directory Stable npm
Service Management API Stable npm
Service Usage Stable npm
Shell Stable npm
Spanner Stable npm
Speech Stable npm
Stackdriver Monitoring Stable npm
Storage Stable npm
Storage Transfer Service Stable npm
Talent Solution Stable npm
Tasks Stable npm
Text-to-Speech Stable npm
TPU Stable npm
Transcoder API Stable npm
Translation Stable npm
Vertex AI Stable npm
Video Intelligence Stable npm
Video Stitcher API Stable npm
Virtual Private Cloud Stable npm
Vision API Stable npm
VMware Engine API Stable npm
Web Risk API Stable npm
Web Security Scanner Stable npm
Workflows Stable npm
Preview npm
Advisory Notifications API Preview npm
AlloyDB API Preview npm
Analytics Hub API Preview npm
Anthos Multi-Cloud API Preview npm
API Keys API Preview npm
Apigee Registry API Preview npm
Area120 Tables API Preview npm
Bare Metal Solution API Preview npm
Batch Preview npm
BeyondCorp API Preview npm
BeyondCorp API Preview npm
BeyondCorp API Preview npm
BeyondCorp API Preview npm
BeyondCorp API Preview npm
BigQuery Migration API Preview npm
Confidential Computing API Preview npm
Data Labeling Preview npm
Data Lineage API Preview npm
Data QnA Preview npm
Dataflow Preview npm
Dataform API Preview npm
Discovery Engine API Preview npm
Generative Language API Preview npm
GKE Connect Gateway Preview npm
Google Analytics Admin Preview npm
Google Analytics Data Preview npm
Google Maps Routing Preview npm
Google Workspace Add-ons API Preview npm
Life Sciences Preview npm
Migration Center API Preview npm
Network Security API Preview npm
Phishing Protection Preview npm
Places API (New) Preview npm
Private Catalog Preview npm
Public Certificate Authority Preview npm
Rapid Migration Assessment API Preview npm
Storage Insights API Preview npm
Support API Preview npm
Trace Preview npm
Workstations API Preview npm

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.

Enabling APIs

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.

Authentication

Download your Service Account Credentials JSON file

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

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.

Example Applications

  • nodejs-getting-started - A sample and tutorial that demonstrates how to build a complete web application using Cloud Datastore, Cloud Storage, and Cloud Pub/Sub and deploy it to Google App Engine or Google Compute Engine.
  • gcloud-node-todos - A TodoMVC backend using google-cloud-node and Datastore.
  • gitnpm - Easily lookup an npm package's GitHub repo using google-cloud-node and Google App Engine.
  • gcloud-kvstore - Use Datastore as a simple key-value store.
  • hya-wave - Cloud-based web sample editor. Part of the hya-io family of products.
  • gstore-node - Google Datastore Entities Modeling library.
  • gstore-api - REST API builder for Google Datastore Entities.

Supported Node.js Versions

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:

  • Legacy versions are not tested in continuous integration.
  • Some security patches and features cannot be backported.
  • Dependencies cannot be kept up-to-date.

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.

Versioning

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.

Contributing

Contributions to this library are always welcome and highly encouraged.

See CONTRIBUTING for more information on how to get started.

License

Apache 2.0 - See LICENSE for more information.

More Repositories

1

google-api-nodejs-client

Google's officially supported Node.js client library for accessing Google APIs. Support for authorization and authentication with OAuth 2.0, API Keys and JWT (Service Tokens) is included.
TypeScript
11,377
star
2

google-api-php-client

A PHP client library for accessing Google APIs
PHP
8,706
star
3

google-api-python-client

🐍 The official Python client library for Google's discovery based APIs.
Python
6,858
star
4

googleapis

Public interface definitions of Google APIs.
Starlark
6,797
star
5

release-please

generate release PRs based on the conventionalcommits.org spec
TypeScript
4,740
star
6

google-cloud-python

Google Cloud Client Library for Python
Python
4,324
star
7

google-api-go-client

Auto-generated Google APIs for Go.
Go
3,572
star
8

google-cloud-go

Google Cloud Client Libraries for Go.
Go
3,361
star
9

google-api-ruby-client

REST client for Google APIs
Ruby
2,679
star
10

google-cloud-java

Google Cloud Client Library for Java
Java
1,773
star
11

google-auth-library-nodejs

πŸ”‘ Google Auth Library for Node.js
TypeScript
1,549
star
12

google-http-java-client

Google HTTP Client Library for Java
Java
1,342
star
13

google-api-dotnet-client

Google APIs Client Library for .NET
C#
1,340
star
14

google-api-java-client

Google APIs Client Library for Java
Java
1,336
star
15

google-auth-library-php

Google Auth Library for PHP
PHP
1,323
star
16

google-cloud-ruby

Google Cloud Client Library for Ruby
Ruby
1,293
star
17

google-api-php-client-services

PHP
1,179
star
18

google-cloud-php

Google Cloud Client Library for PHP
PHP
1,085
star
19

elixir-google-api

Elixir client libraries for accessing Google APIs.
Elixir
1,011
star
20

google-cloud-dotnet

Google Cloud Client Libraries for .NET
C#
929
star
21

nodejs-storage

Node.js client for Google Cloud Storage: unified object storage for developers and enterprises, from live data serving to data analytics/ML to data archiving.
TypeScript
828
star
22

oauth2client

This is a Python library for accessing resources protected by OAuth 2.0.
Python
795
star
23

nodejs-dialogflow

Node.js client for Dialogflow: Design and integrate a conversational user interface into your applications and devices.
JavaScript
793
star
24

google-auth-library-python

Google Auth Python Library
Python
744
star
25

python-bigquery

Python
739
star
26

gaxios

An HTTP request client that provides an axios like interface over top of node-fetch. Super lightweight. Supports proxies and all sorts of other stuff.
TypeScript
692
star
27

nodejs-speech

This repository is deprecated. All of its content and history has been moved to googleapis/google-cloud-node.
684
star
28

python-aiplatform

A Python SDK for Vertex AI, a fully managed, end-to-end platform for data science and machine learning.
Python
626
star
29

repo-automation-bots

A collection of bots, based on probot, for performing common maintenance tasks across the open-source repos managed by Google on GitHub.
TypeScript
613
star
30

nodejs-firestore

Node.js client for Google Cloud Firestore: a NoSQL document database built for automatic scaling, high performance, and ease of application development.
JavaScript
612
star
31

google-oauth-java-client

Google OAuth Client Library for Java
Java
606
star
32

api-linter

A linter for APIs defined in protocol buffers.
Go
575
star
33

go-genproto

Generated code for Google Cloud client libraries.
Go
558
star
34

google-cloud-cpp

C++ Client Libraries for Google Cloud Services
C++
538
star
35

nodejs-pubsub

Node.js client for Google Cloud Pub/Sub: Ingest event streams from anywhere, at any scale, for simple, reliable, real-time stream analytics.
TypeScript
519
star
36

nodejs-translate

Node.js client for Google Cloud Translate: Dynamically translate text between thousands of language pairs.
JavaScript
514
star
37

nodejs-vision

Node.js client for Google Cloud Vision: Derive insight from images.
TypeScript
497
star
38

google-api-java-client-services

Generated Java code for Google APIs
497
star
39

python-bigquery-pandas

Google BigQuery connector for pandas
Python
447
star
40

python-bigquery-sqlalchemy

SQLAlchemy dialect for BigQuery
Python
426
star
41

nodejs-bigquery

Node.js client for Google Cloud BigQuery: A fast, economical and fully-managed enterprise data warehouse for large-scale data analytics.
TypeScript
420
star
42

google-auth-library-ruby

Google Auth Library for Ruby
Ruby
417
star
43

google-auth-library-java

Open source Auth client library for Java
Java
400
star
44

python-dialogflow

This library has moved to https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-dialogflow
397
star
45

python-pubsub

Python
390
star
46

signet

Signet is an OAuth 1.0 / OAuth 2.0 implementation.
Ruby
364
star
47

nodejs-text-to-speech

Node.js client for Google Cloud Text-to-Speech
JavaScript
355
star
48

python-speech

This library has moved to https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-speech
355
star
49

python-storage

Python
339
star
50

google-cloud-php-storage

PHP
322
star
51

google-cloud-php-core

PHP
319
star
52

gapic-generator

Tools for generating API client libraries from API Service Configuration descriptions.
Java
304
star
53

cloud-trace-nodejs

Node.js agent for Cloud Trace: automatically gather latency data about your application
TypeScript
272
star
54

gapic-generator-go

Generate Go API client libraries from Protocol Buffers.
Go
252
star
55

gax-php

Google API Extensions for PHP
PHP
232
star
56

api-common-protos

A standard library for use in specifying protocol buffer APIs.
Starlark
221
star
57

python-firestore

Python
214
star
58

google-cloud-datastore

Low-level, Protobuf-based Java and Python client libraries for Cloud Datastore. Check out google-cloud-java and google-cloud-python first!
Python
213
star
59

nodejs-datastore

Node.js client for Google Cloud Datastore: a highly-scalable NoSQL database for your web and mobile applications.
TypeScript
196
star
60

google-cloud-php-translate

PHP
194
star
61

python-bigquery-dataframes

BigQuery DataFrames
Python
186
star
62

google-cloud-rust

Rust
183
star
63

gapic-showcase

An API that demonstrates Generated API Client (GAPIC) features and common API patterns used by Google.
Go
174
star
64

github-repo-automation

A set of tools to automate multiple GitHub repository management.
TypeScript
174
star
65

google-cloud-php-firestore

PHP
170
star
66

cloud-debug-nodejs

Node.js agent for Google Cloud Debugger: investigate your code’s behavior in production
TypeScript
169
star
67

java-bigtable-hbase

Java libraries and HBase client extensions for accessing Google Cloud Bigtable
Java
165
star
68

gax-java

This library has moved to https://github.com/googleapis/sdk-platform-java/tree/main/gax-java.
162
star
69

python-vision

This library has moved to https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-vision
160
star
70

google-auth-library-python-oauthlib

Python
160
star
71

nodejs-logging

Node.js client for Stackdriver Logging: Store, search, analyze, monitor, and alert on log data and events from Google Cloud Platform and Amazon Web Services (AWS).
TypeScript
156
star
72

nodejs-tasks

Node.js client for Google Cloud Tasks: A fully managed service that allows you to manage the execution, dispatch and delivery of a large number of distributed tasks.
TypeScript
144
star
73

python-ndb

Python
144
star
74

google-cloudevents

Types for CloudEvents issued by Google
JavaScript
142
star
75

common-protos-php

PHP protocol buffer classes generated from https://github.com/googleapis/api-common-protos
PHP
132
star
76

artman

Artifact Manager, a build and packaging tool for Google API client libraries.
Python
132
star
77

proto-plus-python

Beautiful, idiomatic protocol buffers in Python
Python
132
star
78

googleapis.github.io

The GitHub pages site for the googleapis organization.
HTML
131
star
79

nodejs-language

Node.js client for Google Cloud Natural Language: Derive insights from unstructured text using Google machine learning.
JavaScript
131
star
80

java-pubsub

Java
126
star
81

python-analytics-data

Python
125
star
82

gapic-generator-python

Generate Python API client libraries from Protocol Buffers.
Python
122
star
83

google-auth-library-swift

Auth client library for Swift command-line tools and cloud services. Supports OAuth1, OAuth2, and Google Application Default Credentials.
Swift
122
star
84

python-api-core

Python
118
star
85

nodejs-compute

Node.js client for Google Compute Engine: Scalable, High-Performance Virtual Machines
JavaScript
115
star
86

python-texttospeech

Python
111
star
87

nodejs-spanner

Node.js client for Google Cloud Spanner: the world’s first fully managed relational database service to offer both strong consistency and horizontal scalability.
TypeScript
111
star
88

java-bigquery

Java
109
star
89

node-gtoken

πŸ”‘ Google Auth Service Account Tokens for Node.js
TypeScript
108
star
90

python-translate

This library has moved to https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-translate
108
star
91

java-storage

Java
104
star
92

go-sql-spanner

Google Cloud Spanner driver for Go's database/sql package.
Go
104
star
93

google-cloud-php-vision

PHP
103
star
94

gax-nodejs

Google API Extensions for Node.js
TypeScript
100
star
95

java-firestore

Java
100
star
96

nodejs-logging-winston

Node.js client integration between Stackdriver Logging and Winston.
TypeScript
100
star
97

python-logging

Python
99
star
98

nodejs-bigtable

Node.js client for Google Cloud Bigtable: Google's NoSQL Big Data database service.
TypeScript
91
star
99

nodejs-secret-manager

A cloud-hosted service that provides a secure and convenient tool for storing API keys, passwords, certificates, and other sensitive data.
JavaScript
89
star
100

synthtool

Python
87
star