您可以验证access_token
是否有效。
您需要发送GET
请求到api终点:https://www.googleapis.com/oauth2/v1/tokeninfo
请求您的access_token。
,您可以尝试这样的:
String connection = new ConnectionService().connectionGoogle("https://www.googleapis.com/oauth2/v1/tokeninfo", "access_token=" + "YOUR_EXISTING_ACCESS_TOKEN");
System.out.println(connection);
在上面的代码中使用的方法是:
public static String connectionGoogle(String url, String parameter) throws MalformedURLException, ProtocolException, IOException {
URL url1 = new URL(url);
HttpURLConnection request1 = (HttpURLConnection) url1.openConnection();
request1.setRequestMethod("GET");
request1.setDoOutput(true);
request1.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
OutputStreamWriter wr = new OutputStreamWriter(request1.getOutputStream());
wr.write(parameter);
wr.flush();
request1.connect();
String responseBody = convertStreamToString(request1.getInputStream());
wr.close();
return responseBody;
}
private static String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
} catch (IOException e) {
} finally {
try {
is.close();
} catch (IOException e) {
}
}
return sb.toString();
}
我不知道有关的问题。由于你的应用程序直接与谷歌服务器进行通信,因此你的个人服务器在哪里出现?你可以检查你的android应用程序本身的标记有效性。你能详细说明吗? – drulabs
我已经从客户端应用程序(Android)中获取g +的令牌,我将该访问令牌发送到我的服务器,在那个服务器中,我想重新验证从Google发起的访问令牌或者不需要获取用户信息...使用该访问令牌....感谢回复 –
尝试任何操作。像搜索或上传或任何东西,如果令牌是有效的,你会得到答复,否则你会收到一个“未经授权”的回应。通常,令牌每过一小时或用户明确更改Google密码时过期。如果您已正确完成身份验证,则必须使用访问令牌收到刷新令牌。使用此刷新令牌获取新的访问令牌。 – drulabs