diff --git a/lib/google/api_client/auth/oauth_1.rb b/lib/google/api_client/auth/oauth_1.rb
index cca3d3363..ac9c2e69a 100644
--- a/lib/google/api_client/auth/oauth_1.rb
+++ b/lib/google/api_client/auth/oauth_1.rb
@@ -52,6 +52,8 @@ module Google #:nodoc:
#
# @param [Hash] options
# The configuration options.
+ # :service
::
+ # The name of the service.
# :request_token_uri
::
# The OAuth endpoint for obtaining a request token.
# :authorization_uri
::
diff --git a/lib/google/api_client/discovery/discovery.rb b/lib/google/api_client/discovery/discovery.rb
index 64fb0705c..0041825d9 100644
--- a/lib/google/api_client/discovery/discovery.rb
+++ b/lib/google/api_client/discovery/discovery.rb
@@ -34,6 +34,12 @@ module Google #:nodoc:
# Creates a new API discovery handler.
#
# @param [Hash] options
+ # :service
::
+ # The name of the service.
+ # :service_version
::
+ # The version of the service.
+ # :discovery_uri
::
+ # The URI of the discovery document.
#
# @return [Google::APIClient::Discovery] The API discovery handler.
def initialize(options={})
@@ -43,6 +49,17 @@ module Google #:nodoc:
@options = DEFAULTS.clone
end
@options.merge!(options)
+ if @options[:service] && !@options[:discovery_uri]
+ service_id = @options[:service]
+ service_version = @options[:service_version] || "1.0"
+ @options[:discovery_uri] =
+ "http://www.googleapis.com/discovery/0.1/describe" +
+ "?api=#{service_id}&apiVersion=#{service_version}"
+ end
+ unless @options[:discovery_uri]
+ raise ArgumentError,
+ "Missing required configuration value, :discovery_uri."
+ end
# Handle any remaining configuration here
end