Android 앱을 개발 중입니다. 사용자가 Google 계정으로 로그인하면 Google 시트에 액세스하여 데이터베이스를 가져 오는 기능이 있습니다. Google Spreadsheet Api를 검색하려고했지만 사용법이 명확하지 않았습니다.사용자가 Google 계정으로 로그인 한 후 비공개 Google 시트에서 데이터를 가져 오는 방법은 무엇입니까?
물론 아래 코드에서 공개 시트의 데이터를 가져올 수 있지만 문제는 개인 시트를 얻는 것입니다.
private List<String> getDataFromApi() throws IOException {
String spreadsheetId = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms";
String range = "Class Data!A2:E";
List<String> results = new ArrayList<String>();
ValueRange response = this.mService.spreadsheets().values()
.get(spreadsheetId, range)
.execute();
List<List<Object>> values = response.getValues();
if (values != null) {
results.add("Name, Major");
for (List row : values) {
results.add(row.get(0) + ", " + row.get(4));
}
}
return results;
}
또한 어딘가에 검색하여 아래의 코드를 발견하지만 NoSuchMethodError 예외가 발생, 나는 라인 spreadsheet.setUserCredentials에서 "사용자 이름"과 "암호"무엇 혼동.
SpreadsheetService spreadsheet= new SpreadsheetService("v1");
spreadsheet.setProtocolVersion(SpreadsheetService.Versions.V3);
try {
spreadsheet.setUserCredentials("username", "password");
URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full");
SpreadsheetFeed feed = spreadsheet.getFeed(metafeedUrl, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
for (SpreadsheetEntry service : spreadsheets) {
System.out.println(service.getTitle().getPlainText());
}
} catch (AuthenticationException e) {
e.printStackTrace();
}
누구든지이 작업을 수행하거나 샘플 코드를 갖고있는 방법을 알고 있습니다. 미리 감사드립니다!