0

我创建了一个谷歌应用程序,并在谷歌应用程序市场 sdk api 中填写了所有必需的详细信息并添加了我需要的范围。并在 chrome 开发者仪表板中创建了一个 webapp 并提交了该应用程序进行测试。第一次从市场安装应用程序时,它会获得用户对我在谷歌应用市场 sdk api 中添加的范围的许可。在我点击允许后,它只会安装应用程序。在这里,当用户单击允许时,我如何检索 Accesstoken 并刷新令牌或授权码?

我使用此 api 调用手动获取 Auth 代码:

"" https://accounts.google.com/o/oauth2/auth?client_id=CLIENTID &redirect_uri=REDIRECT_URI&scope=email+profile+https://www.googleapis.com/auth/drive&response_type=code&access_type=offline ""

在重定向的 uri 中使用此 api 调用收集访问和引用令牌:

String accessTokenUrl = "https://accounts.google.com/o/oauth2/token";
        String accessTokenUrlParameters = "client_id=" + clientId + "&client_secret=" + clientSecret + "&redirect_uri="
                + redirectUri + "&grant_type=authorization_code&code=" + code;
        String accessToken = null;
        String refreshToken = null;
        try {
            HttpClient hc = new HttpClient();
            hc.setURL(accessTokenUrl);
            hc.setHeader("Content-Length", "" + Integer.toString(accessTokenUrlParameters.getBytes().length));
            hc.doPost("application/x-www-form-urlencoded; charset=UTF-8");

}

在这种类型中,我同时获得访问令牌和刷新令牌,但是在第一次安装应用程序时,我如何使用该权限和范围获得访问令牌。安装应用程序时的同意屏幕有这样的网址。

https://accounts.google.com/o/oauth2/auth?client_id=1234567890-1od573nk87eq712l7suam1hu9upa8tm2.apps.googleusercontent.com&origin=https%3A%2F%2Fapis.google.com&authuser=0&login_hint=abcdefghijk@gmail.com&response_type=token&redirect_uri= postmessage&hl=en&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile

但它没有重定向uri和所有。如何在允许此同意屏幕的同时获取访问令牌。

4

0 回答 0