grpc-dart/example/googleapis
Jakob Andersen 108181c2d2
Added support for metadata providers. (#39)
Provide a hook for metadata providers that need to generate their
metadata for each RPC. An example is authorization, where the provider
may need to refresh a token before it can provide the header.

Add stackdriver logging examplei to demonstrate calling a Google API.

Updated other examples to protobuf 0.6.0 (protoc plugin 0.7.8).

Updated SDK requirement to Dart 1.24.3, which adds support for creating a SecurityContext that trusts built-in roots, and support for ALPN on macOS.
2017-12-14 14:32:06 +01:00
..
bin Added support for metadata providers. (#39) 2017-12-14 14:32:06 +01:00
lib/src/generated/google Added support for metadata providers. (#39) 2017-12-14 14:32:06 +01:00
tool Added support for metadata providers. (#39) 2017-12-14 14:32:06 +01:00
.gitignore Added support for metadata providers. (#39) 2017-12-14 14:32:06 +01:00
README.md Added support for metadata providers. (#39) 2017-12-14 14:32:06 +01:00
pubspec.yaml Added support for metadata providers. (#39) 2017-12-14 14:32:06 +01:00

README.md

Description

The googleapis client demonstrates how to use Dart gRPC libraries to communicate with Google APIs.

Set up Google Cloud Platform project

This example uses the Stackdriver Logging API. Please follow the documentation on Stackdriver Logging Documentation to create a project and enable the logging API.

Then follow the documentation to create a service account. This example uses the Logging/Logs Writer role.

Create a new service key, download the JSON file for it, and save it as logging-service-account.json.

Run the sample code

To run the example, assuming you are in the root of the googleapis folder, i.e., .../example/googleapis/, first get the dependencies by running:

$ pub get

Then, to run the logging client sample:

$ pub run googleapis:logging

Regenerate the stubs

The Dart gRPC stubs and message classes are generated based on protobuf definition files from googleapis/googleapis.

To regenerate them, you will need to check out both googleapis/googleapis and google/protobuf.

You will also need to have protoc version 3.0.0 or higher and the Dart protoc plugin version 0.7.8 or higher on your PATH.

To install protoc, see the instructions on the Protocol Buffers website.

The easiest way to get the Dart protoc plugin is by running

$ pub global activate protoc_plugin

and follow the directions to add ~/.pub-cache/bin to your PATH, if you haven't already done so.

You can now regenerate the Dart files. Set the PROTOBUF and GOOGLEAPIS environment variables to point to your clone of google/protobuf and googleapis/googleapis, respectively, and then run

$ tool/regenerate.sh