gpt4 book ai didi

java - 谷歌 OAuth : how to use a refresh token?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:32 24 4
gpt4 key购买 nike

我能够从我的 Android 设备交换我的一次性使用 token 以获取一个访问 token 和一个刷新 token 。我正在尝试弄清楚如何使用刷新 token

我找到了 this它通过 HTTPS 请求工作,但我想知道 Java SDK 中是否有某些地方可以处理刷新?

最佳答案

你不需要。只需在每次 HTTP 对话之前调用 GoogleAuthUtil.getToken(),GoogleAuthUtil 将确保您获得有效的对话,并在必要时进行刷新。

已编辑:哦,好的,他正在服务器上执行此操作。下面是一些使用刷新 token 的 Java 代码:

       String data = "refresh_token=" + mRefreshToken +
"&client_id=" + Constants.WEB_CLIENT_ID +
"&client_secret=" + Constants.WEB_CLIENT_SECRET +
"&grant_type=refresh_token";
byte[] body = data.getBytes();

URL url = new URL(Constants.GOOGLE_TOKEN_ENDPOINT);
conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setFixedLengthStreamingMode(body.length);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.getOutputStream().write(body);

body = XAuth.readStream(conn.getInputStream());
JSONObject json = new JSONObject(new String(body));

String accessToken = json.optString("access_token");
if (accessToken == null) {
throw new Exception("Refresh token yielded no access token");
}

关于java - 谷歌 OAuth : how to use a refresh token?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18725736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com