2014-08-28 4 views
1

Google 마이 그 레이션 도구를 사용하여 기존 GAMv1 사용자를 GAMv2로 가져오고 있으며 401 소비자 키가 유효하지 않다고 알려지며 승인되지 않았습니다. 우리는 여기에서 찾을 구글의 APIClient 루비 라이브러리를 사용하고UpgradableApp API를 사용할 때 "401 Unauthorized"

: https://github.com/google/google-api-ruby-client/ 나는 우리가 https://developers.google.com/apps-marketplace/v1migratev2, 에서 확인 된 동일한 자격 증명 집합을 전달하고 것을 우리는 두 다리의 OAuth 1.0을 지정하고 꽤 확신 API. 우리는 다음과 같습니다 사용하는 코드는 단지 승인 비트 제거 : 우리는 나는 개인 세부 사항을 제거했습니다 (수율이 로그를 보면

@client = Google::APIClient.new(
    :authorization => :two_legged_oauth_1, 
    :application_name => 'App Name', 
    :application_version => ‘1.0' 
) 

@client.authorization.client_credential_key = '%s.apps.googleusercontent.com' % Auth::Application::CONFIG['GOOGLE_GAMV1_APPLICATION_ID'] 
@client.authorization.client_credential_secret = Auth::Application::CONFIG['GOOGLE_GAMV1_SECRET'] 
@service = @client.discovered_api('appsmarket', 'v2’) 

request = @client.execute(
    @service.upgradable_app.update, 
    'marketplaceListingId' => Auth::Application::CONFIG['GOOGLE_GAMV1_LISTING_ID'], 
    'domainName' => account.domain, 
    'cwsItemId' => Auth::Application::CONFIG['GOOGLE_GAMV2_CWS_ID'] 
) 

을, 그러나 우리는 우리가했습니다 거의 확신하는 우리는 문제가 공급자의 말에 의심하기 시작하고이 시점에서, 솔직히

D, [2014-08-28T14:37:17.025667 #12517] DEBUG -- : Google::APIClient - Initializing client with options {:authorization=>:two_legged_oauth_1, :application_name=>"App Name", :application_version=>"1.0"} 
D, [2014-08-28T14:37:17.040994 #12517] DEBUG -- : Google::APIClient::Request Sending API request get https://www.googleapis.com/discovery/v1/apis/appsmarket/v2/rest {"User-Agent"=>"App Name/1.0 google-api-ruby-client/0.7.1 Linux/2.6.18-371.3.1.el5\n (gzip)", "Accept-Encoding"=>"gzip", "Content-Type"=>""} 
D, [2014-08-28T14:37:17.202238 #12517] DEBUG -- : Decompressing gzip encoded response (2427 bytes) 
D, [2014-08-28T14:37:17.202646 #12517] DEBUG -- : Decompressed (11988 bytes) 
D, [2014-08-28T14:37:17.202801 #12517] DEBUG -- : Google::APIClient::Request Result: 200 {"expires"=>"Thu, 28 Aug 2014 18:42:17 GMT", "date"=>"Thu, 28 Aug 2014 18:37:17 GMT", "cache-control"=>"public, max-age=300, must-revalidate, no-transform", "etag"=>"\"FrPV2U6xXFUq8eRv_PO3IoAURkc/cQQHsn4vhpzWbmwcoTBTIElFFgs\"", "content-type"=>"application/json; charset=UTF-8", "x-content-type-options"=>"nosniff", "x-frame-options"=>"SAMEORIGIN", "x-xss-protection"=>"1; mode=block", "content-length"=>"2427", "server"=>"GSE", "alternate-protocol"=>"443:quic", "connection"=>"close"} 
D, [2014-08-28T14:37:17.326157 #12517] DEBUG -- : Google::APIClient::Request Sending API request put https://www.googleapis.com/appsmarket/v2/upgradableApp/xxxxxxxxxxxx/xxxxxxxxxxxxxxxx/xxxxxxxx {"User-Agent"=>"App Name/1.0 google-api-ruby-client/0.7.1 Linux/2.6.18-371.3.1.el5\n (gzip)", "Accept-Encoding"=>"gzip", "Content-Type"=>"", "Authorization"=>"OAuth oauth_consumer_key=\"xxxxxxxxxx.apps.googleusercontent.com\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"xxxxxxxxx\", oauth_nonce=\"xxxxxxxxxxxxxxxxxxxxxxxx\", oauth_version=\"1.0\", oauth_signature=\"xxxxxxxxxxxxxxxxxxx\"", "Cache-Control"=>"no-store"} 
D, [2014-08-28T14:37:17.742199 #12517] DEBUG -- : Decompressing gzip encoded response (149 bytes) 
D, [2014-08-28T14:37:17.742494 #12517] DEBUG -- : Decompressed (203 bytes) 
D, [2014-08-28T14:37:17.742686 #12517] DEBUG -- : Google::APIClient::Request Result: 401 {"www-authenticate"=>"Bearer realm=\"https://accounts.google.com/AuthSubRequest\"", "content-type"=>"application/json; charset=UTF-8", "date"=>"Thu, 28 Aug 2014 18:37:18 GMT", "expires"=>"Thu, 28 Aug 2014 18:37:18 GMT", "cache-control"=>"private, max-age=0", "x-content-type-options"=>"nosniff", "x-frame-options"=>"SAMEORIGIN", "x-xss-protection"=>"1; mode=block", "server"=>"GSE", "alternate-protocol"=>"443:quic", "connection"=>"close", "transfer-encoding"=>"chunked"} 
E, [2014-08-28T14:37:17.755822 #12517] ERROR -- : Bad request: status=401, body={"error":{"errors":[{"domain":"global","reason":"authError","message":"Invalid OAuth consumer key","locationType":"header","location":"Authorization"}],"code":401,"message":"Invalid OAuth consumer key"}} 

-하지만 우리는 할 수 싶네요 : 올바른 CLIENT_ID, client_secret, 목록 ID 등)을 가지고 입증 된 잘못!

+0

Java로 구현할 때 똑같은 것을 보게됩니다. 어떤 해결책이나 결정이 Google 문제입니까? 감사! –

+0

아직! 우리는 우리가 짖는 소리인지 아닌지 알아 내려고 노력하고 있습니다. – minichate

답변

0

Google 측의 버그로 확인되었으며 이후 수정되었습니다. 감사!

관련 문제