Нижеприведенный код работает только на локальном сервере, что нужно сделать что бы работало и в развернутом виде?
private final String APPLICATION_NAME = "Qwerty";
private final java.io.File DATA_STORE_DIR = new
java.io.File("StoredCredential.txt");
private FileDataStoreFactory DATA_STORE_FACTORY;
private final JsonFactory JSON_FACTORY =
JacksonFactory.getDefaultInstance();
private HttpTransport HTTP_TRANSPORT;
private String spreadsheetId;
private final List<String> SCOPES =
Arrays.asList(SheetsScopes.SPREADSHEETS, DriveScopes.DRIVE_METADATA,
DriveScopes.DRIVE);
private GoogleClientSecrets clientSecrets;
private Credential credential;
private ValueRange response;
private AppendValuesResponse request;
private Credential Autorize() throws IOException{
try {
HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
DATA_STORE_FACTORY = new FileDataStoreFactory(DATA_STORE_DIR);
} catch (Throwable t) {
t.printStackTrace();
System.exit(1);
}
InputStream in = GoogleSheet.class.getResourceAsStream("/client_secret.json");
clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));
GoogleAuthorizationCodeFlow flow =
new GoogleAuthorizationCodeFlow.Builder(
HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
.setDataStoreFactory(DATA_STORE_FACTORY)
.setAccessType("online")
.build();
// Авторизация.
Credential credential = new AuthorizationCodeInstalledApp(
flow, new LocalServerReceiver()).authorize("");
return credential;
}
private Sheets getSheetsService() throws IOException {
credential = Autorize();
return new Sheets.Builder(HTTP_TRANSPORT,JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME)
.build();
}
Читал что секретный ключ json нужно добавить в переменные окружения Heroku, но как это правильно сделать, и как потом взаимодействовать с ним в коде так и не понял.
Логи Heroku:
INFO org.mortbay.log - Logging to Logger[org.mortbay.log] via
org.mortbay.log.Slf4jLog
DEBUG org.mortbay.log - Container Server@64f4e8c3 +
SocketConnector@0.0.0.0:0 as connector
DEBUG org.mortbay.log - Container Server@64f4e8c3 +
LocalServerReceiver$CallbackHandler@749dc2e8 as handler
INFO org.mortbay.log - jetty-6.1.26
DEBUG org.mortbay.log - Container Server@64f4e8c3 +
org.mortbay.thread.QueuedThreadPool@21640f3b as threadpool
DEBUG org.mortbay.log - started org.mortbay.thread.QueuedThreadPool@21640f3b
DEBUG org.mortbay.log - starting
LocalServerReceiver$CallbackHandler@749dc2e8
DEBUG org.mortbay.log - started LocalServerReceiver$CallbackHandler@749dc2e8
DEBUG org.mortbay.log - starting Server@64f4e8c3
INFO org.mortbay.log - Started SocketConnector@localhost:32889
DEBUG org.mortbay.log - started SocketConnector@localhost:32889
DEBUG org.mortbay.log - started Server@64f4e8c3
at=error code=H12 desc="Request timeout" method=POST path="/google-success"
host=qwerty.herokuapp.com request_id=130e5c05-bab1-4e0b-a286-c67e77cd8875
fwd="178.151.29.139" dyno=web.1 connect=1ms service=30000ms status=503
bytes=0 protocol=https
at=info method=GET path="/favicon.ico" host=englishtestfirst.herokuapp.com
request_id=312144bd-d72f-4e71-bf1b-1a88d3e1a809 fwd="178.151.29.139"
dyno=web.1 connect=0ms service=8ms status=400 bytes=1567 protocol=https
Сборка персонального компьютера от Artline: умный выбор для современных пользователей