0
我想获取用于离线登录的refreshToken。 我已经获得访问令牌,但我没有得到refreshToken。 这里是我的源代码:如何获取refreshToken?
public void OpenBrower(){
httpTransport = new NetHttpTransport();
jsonFactory = new JacksonFactory();
flow = new GoogleAuthorizationCodeFlow.Builder(httpTransport, jsonFactory, CLIENT_ID, CLIENT_SECRET,
Arrays.asList(DriveScopes.DRIVE)).setAccessType("online").setApprovalPrompt("auto").build();
String url = flow.newAuthorizationUrl().setRedirectUri(REDIRECT_URI).build();
try {
java.awt.Desktop.getDesktop().browse(java.net.URI.create(url));
} catch (IOException ex) {
Logger.getLogger(GoogleD.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void Register(String code){
GoogleTokenResponse response = null;
try {
response = flow.newTokenRequest(code).setRedirectUri(REDIRECT_URI).execute();
} catch (IOException ex) {
Logger.getLogger(GoogleD.class.getName()).log(Level.SEVERE, null, ex);
}
GoogleCredential credential = new GoogleCredential().setFromTokenResponse(response);
client = new Drive.Builder(httpTransport, jsonFactory, credential).build();
try {
System.out.println(credential.refreshToken());
} catch (IOException ex) {
Logger.getLogger(GoogleD.class.getName()).log(Level.SEVERE, null, ex);
}
}
谢谢u..You帮助了我很多次...... 我有一些题。所以..我会问,我想让你对我的问题感兴趣。 –
你能检查这个问题吗?... http://stackoverflow.com/questions/19877831/how-do-i-get-refreshtoken-by-using-old-refreshtoken –
对不起 - 我不知道。我不喜欢使用Oauth库,所以我使用原始的http请求,因为我发现它们更易于调试,并且实现起来并不困难。 – pinoyyid