diff --git a/lib/google/api_client.rb b/lib/google/api_client.rb index 9c6ffd3ee..6da8ca616 100644 --- a/lib/google/api_client.rb +++ b/lib/google/api_client.rb @@ -26,23 +26,38 @@ module Google #:nodoc: # NOTE: Do not rely on this default value, as it may change @options[:parser] = JSONParser.new end - unless @options[:authentication] - require 'google/api_client/auth/oauth_1' + unless @options[:authorization] + require 'signet/oauth_1/client' # NOTE: Do not rely on this default value, as it may change - @options[:authentication] = OAuth1.new + @options[:authorization] = Signet::OAuth1::Client.new( + :temporary_credential_uri => + 'https://www.google.com/accounts/OAuthGetRequestToken', + :authorization_uri => + 'https://www.google.com/accounts/OAuthAuthorizeToken', + :token_credential_uri => + 'https://www.google.com/accounts/OAuthGetAccessToken', + :client_credential_key => 'anonymous', + :client_credential_secret => 'anonymous' + ) end - unless @options[:transport] - require 'google/api_client/transport/http_transport' - @options[:transport] = HTTPTransport + unless @options[:http_adapter] + require 'httpadapter/adapters/net_http' + @options[:http_adapter] = HTTPAdapter::NetHTTPRequestAdapter end end - + ## # Returns the parser used by the client. def parser return @options[:parser] end - + + ## + # Returns the authorization mechanism used by the client. + def authorization + return @options[:authorization] + end + def build_request(*args, &block) if !args.empty? || block # Build the request! diff --git a/spec/google/api_client_spec.rb b/spec/google/api_client_spec.rb index 7c7e29881..a38dafc80 100644 --- a/spec/google/api_client_spec.rb +++ b/spec/google/api_client_spec.rb @@ -14,12 +14,12 @@ require 'spec_helper' +require 'signet/oauth_1/client' +require 'httpadapter/adapters/net_http' + require 'google/api_client' require 'google/api_client/version' require 'google/api_client/parser/json_parser' -require 'google/api_client/auth/oauth_1' -require 'google/api_client/transport/http_transport' - describe Google::APIClient, 'with default configuration' do before do @@ -33,6 +33,18 @@ describe Google::APIClient, 'with default configuration' do it 'should use the default JSON parser' do @client.parser.should be_instance_of(Google::APIClient::JSONParser) end + + it 'should use the default OAuth1 client configuration' do + @client.authorization.temporary_credential_uri.to_s.should == + 'https://www.google.com/accounts/OAuthGetRequestToken' + @client.authorization.authorization_uri.to_s.should include( + 'https://www.google.com/accounts/OAuthAuthorizeToken' + ) + @client.authorization.token_credential_uri.to_s.should == + 'https://www.google.com/accounts/OAuthGetAccessToken' + @client.authorization.client_credential_key.should == 'anonymous' + @client.authorization.client_credential_secret.should == 'anonymous' + end end describe Google::APIClient, 'with custom pluggable parser' do