Я написал настольное приложение на java, у которого есть доступ к гугловскому диску. (он просто выгружает и скачивает файлы).
На данный момент тип доступа - онлайн. когда мне нужно получить доступ к файлам / папкам на диске, я перенаправляю браузер на URL-адрес Google и получаю код доступа:
String code = "code that was returned from brouser"
GoogleTokenResponse response = flow.newTokenRequest(code).setRedirectUri(REDIRECT_URI).execute();
GoogleCredential credential = new GoogleCredential().setFromTokenResponse(response);
все работает хорошо! но мне нужно это перенаправление только в первый раз.
Когда я использую Google, в документации по API Диска Google я обнаружил, что я могу получить токен обновления через перенаправление браузера и сохранить его, например, в БД. (Другими словами, я могу использовать автономный доступ).
И каждый раз, когда мне нужно прочитать данные с диска Google, я получаю токен доступа с помощью токена обновления без перенаправления. а это не?
поэтому я получаю такой токен обновления:
вопрос 1
я получаю код от перенаправления браузера. это токен обновления, не так ли? теперь мне нужно получить токен доступа, используя этот токен обновления.
$.ajax({
type: "POST",
url: 'https://accounts.google.com/o/oauth2/token',
data: {
client_id: "695230079990.apps.googleusercontent.com",
client_secret: 'OWasYmp7YQ...4GJaPjP902R',
refresh_toke: '4/hBr......................xwJCgQI',
grant_type: 'refresh_token'
},
success: function(response) {
alert(response);
}
});
но у меня ошибка 400;
вопрос 2), когда я пытаюсь изменить URL-адрес перенаправления, у меня возникает эта ошибка: *
Недействительное значение параметра для redirect_uri: закрытые домены запрещены: https://sampl.ecom
Итак, должен ли я создавать идентификатор клиента веб-приложений вместо установленного приложения из консоли API Google? Не могу ли я изменить URI перенаправления в установленном приложении? Я запуталась, не знаю, что мне использовать.