如何获得包含授权码的Google令牌响应?

时间:2015-09-04 09:13:06

标签: google-apps-marketplace google-oauth2

我需要一种方法来获取谷歌的回复,其中包括授权代码,一旦我从谷歌应用市场安装应用程序,或者我有办法获得授权代码吗?

我用来检索访问令牌的代码

 String url = "https://www.googleapis.com/oauth2/v3/token";
    URL obj = new URL(url);
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", USER_AGENT);
    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

    String urlParameters = "code=authorization code returned from previous request&client_id=my_client_id&client_secret=my_client_secret_from dev console&redirect_uri=google app oauth redirect uri&grant_type=authorization_code";
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(urlParameters);
            wr.flush();

1 个答案:

答案 0 :(得分:0)

好的,你就是这样做的。

首先获取如下所示的授权网址

switch (v.getId()) {

            case R.id.leftClick:
                square.setRotation(square.getRotation() - 90);

                break;

            case R.id.rightClick:
                square.setRotation(square.getRotation() + 90);

                break;

            default:

                break;
        }

调用此方法后,您将获得授权代码,该代码将被传递以检索刷新令牌和访问令牌。只有在您需要刷新令牌时才需要授权期间 setAccessType(“离线”),如果您只需要访问令牌,则可以忽略它,但访问令牌将在一小时后过期。

令牌响应检索:

String authorizationUrl = new GoogleAuthorizationCodeRequestUrl(
                GoogleOAuthConstants.AUTHORIZATION_SERVER_URL, clientId,
                nextUrl, GoogleResellerAdvController.SCOPES)
                .setAccessType("offline").build();

响应将同时具有访问令牌和刷新令牌!干杯!