Client Libraries

This page provides links to convenient ways to access the Home Graph API.

Home Graph API client libraries

The Home Graph API is built on HTTP and JSON, so any standard HTTP client can send requests to it and parse the responses.

However, instead of creating HTTP requests and parsing responses manually, you may want to use the Google APIs client libraries. The client libraries provide better language integration, improved security, and support for making calls that require user authorization.

Go

Get the latest Home Graph API client library for Go (alpha). Read the client library's developer's guide.

Java

This page contains information about getting started with the HomeGraph API by using the Google API Client Library for Java. For more information, see the following documentation:

Add the client library to your project

Select your build environment (Maven or Gradle) from the following tabs:

JavaScript

Read the client library's developer's guide.

.NET

This page contains information about getting started with the HomeGraph API by using the Google API Client Library for .NET. For more information, see the following documentation:

Downloading the library

Install the NuGet package: Google.Apis.

Node.js

Get the latest Home Graph API client library for Node.js. Read the client library's developer's guide.

Obj-C

Get the latest Home Graph API client library for Objective-C. Read the client library's developer's guide.

PHP

Get the latest Home Graph API client library for PHP. Read the client library's developer's guide.

Python

This page contains information about getting started with the HomeGraph API by using the Google API Client Library for Python. For more information, see the following documentation:

System requirements

Install the client library

You can either use a package manager or manually download and install the Python client library:

Managed install

Use pip or setuptools to manage your installation. You might need to run sudo first.

  • pip (preferred):
    pip install --upgrade google-api-python-client
  • Setuptools:
    easy_install --upgrade google-api-python-client

Manual install

  1. Download the latest client library for Python.
  2. Unpack the code.
  3. Install:
    python setup.py install

App Engine

Because the Python client libraries aren't installed in the App Engine Python runtime environment, you must copy them into your application just like third-party libraries.

Ruby

This page contains information about getting started with the HomeGraph API by using the Google API Client Library for Ruby. For more information, see the following documentation:

Install the google-api-client gem

Depending on your system, you might need to prepend these commands with sudo.

If you haven't installed the Google API Client Library for Ruby before, install by using RubyGems:

gem install google-api-client

If you already have the gem installed, update to the latest version:

gem update -y google-api-client

Get started with the Google API Client Library for Ruby

To learn how to make your first request, see the Get started guide.

Other ways to access the Home Graph API

The following table lists other ways to access the Home Graph API:

Access method Description
APIs Explorer An interactive tool that lets you try out Google APIs right from your browser.

Other libraries

Other libraries and repositories that can assist with your smart home integrations.

Library Description
Actions on Google Node.js library This is the Node.js library for implementing Google smart home fulfillment. For more information about Smart Home integrations, see the smart home module.
Actions on Google Java library This is the Java library for implementing Google smart home fulfillment. For more information about Google smart home integrations, see the smart home module.
Google smart home JSON schemas Repositories of JSON schemas definitions for Google smart home intents and traits interfaces. See JSON schemas generators options to generate libraries artifact for supported languages.
Local Home SDK typings library This is the TypeScript library for implementing Local Home SDK fulfillment. For more information, see the local fulfillment guide.