The Google .Net client library is an open source project. Open Source projects can be nice because they allow us as developers full access to the source code of a project. The main source code for the Google .Net client library can be found on GitHub google-apis-dotnet-client. However this is not the only source.
The dll’s behind the different APIs are dynamically built using a tool that requests all the information about the API from the Discovery Services API.
The Google API Discovery Service is used by Google and others to build client libraries, IDE plugins, and other tools that interact with Google APIs. It provides a lightweight, JSON-based API that exposes machine-readable metadata about Google APIs, including:
The Discovery API supports the following:
- A list of supported APIs.
- A machine-readable “Discovery document” for each of the supported APIs that includes:
- A list of API resource schemas based on JSON Schema.
- A list of API methods and available parameters for each method.
- A list of available OAuth 2.0 scopes.
- Inline documentation of methods, parameters, and available parameter values.
In short the Discovery API returns all the information about the API in question, its just an API of APIs
API libraries source code
Using the following formula, you can find the link you need to download the source for any of the API .dlls.
Replace APINAME with the name of the API.
Replace APIVERSION with the version of the api.
The name of the API used in the Discovery API is not always the same as the common name the API is referred to. For instance we normally refer to drive as the Google Drive API but its just drive, it is the same with Google Analytics.
You can check the Discovery API at the bottom of this page Discovery directory.list if you are unsure of the version or discovery name of the API.
A link to the package source code can also be found in the comments of most of the Google .APIs NuGet packages. I am not sure if this is true for all of the packages, however most of them have a link to the package source in the comment section. The Google.Apis.Analytics.v3 package has it added, if you are having trouble finding your source check the NuGet page a link may be found there.
The package source code is available at:
The Google .Net client library is an open source project. The core part of the project can be found on GitHub. The source code for the dlls individual behind the individual APIs is dynamically built using a tool that access the discovery API. You should now understand how to find the source code if you should have the need for it.