如何验证UpgradeableApp API以将Google Apps Marketplace应用从v1迁移到v2?

时间:2014-06-07 16:57:11

标签: google-apps-marketplace

我们正在使用https://www.googleapis.com/appsmarket/v2/upgradableApp将oauth1.0应用迁移到oauth2.0应用。

我们指的是https://developers.google.com/apps-marketplace/v1migratev2

在拨打电话时我们正在接收"无效的OAuth标头"错误(401)

我们正在单独使用消费者密钥和消费者秘密。我们没有使用任何令牌。

我确信我们在这里遗漏了一些东西。但不确定它是什么。任何指向这个问题的指针都会对我们有所帮助。

提前致谢。

以下是示例代码 HttpClient client = new HttpClient(); PutMethod method = new PutMethod("https://www.googleapis.com/appsmarket/v2/upgradableApp///"); method.addRequestHeader("Authorization", "oAuth"); method.addRequestHeader("Consumer Key",""); method.addRequestHeader("Consumer Key Secret",""); try { int status = client.executeMethod(method); System.out.println("status:" + status); System.out.println("response:" + method.getResponseBodyAsString()); } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }

结果:

  

状态::: 401   响应:: {"错误" {"错误":[{"结构域":"全球""理由&#34 ;:" authError"," message":"无效的OAuth>报头""的locationType":"头""位置":"授权"}],"代码&#34 ;:401,"消息":"在   有效的OAuth标题"}}

1 个答案:

答案 0 :(得分:1)

我们尝试使用以下代码,使用适用于Google的OAuth 1.0 API,它运行良好。

OAuthRequest request = new OAuthRequest(Verb.PUT, api.getUpdateDomainEndpoint(listingId, chromeWSId, domain));
request.addOAuthParameter(OAuthConstants.TIMESTAMP, api.getTimestampService().getTimestampInSeconds());
request.addOAuthParameter(OAuthConstants.NONCE, api.getTimestampService().getNonce());
request.addOAuthParameter(OAuthConstants.CONSUMER_KEY, config.getApiKey());
request.addOAuthParameter(OAuthConstants.SIGN_METHOD, api.getSignatureService().getSignatureMethod());
request.addOAuthParameter(OAuthConstants.VERSION, getVersion());
request.addOAuthParameter(OAuthConstants.SIGNATURE, getSignature(request, token));
String oauthHeader = api.getHeaderExtractor().extract(request);
request.addHeader(OAuthConstants.HEADER, oauthHeader);