먼저 서비스를 만들고 로그인 정보를 입력합니다.
SpreadsheetService service = new SpreadsheetService("Naratalk-SpreadSheet-1");
service.setUserCredentials(<사용자아이디>, <패스워드>);
service.setUserCredentials(<사용자아이디>, <패스워드>);
서비스 이름은 아직까지 별로 중요하지는 않은것 같습니다. 무엇을 입력해도 상관없더군요. (이부분은 자세한 정보 필요). 그리고 사용자 아이디와 패스워드를 입력하는데 사용자 아이디는 gmail 계정 아이디가 아니라 전체 이메일 주소를 모두 입력하셔야 합니다. 만약 Google Apps 등을 이용해서 자신만의 도메인을 쓰고 있다면 그 이메일 전체를 입력하시면 됩니다.
URL metafeedUrl = new URL("http://spreadsheets.google.com/feeds/spreadsheets/private/full");
SpreadsheetFeed feed = service.getFeed(metafeedUrl, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
SpreadsheetFeed feed = service.getFeed(metafeedUrl, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
서비스 URL 입니다. 별로 고칠 부분은 없어보입니다. feed.getEntries() 를 통해 등록되어 있는 모든 SpreadSheet 의 Entry 를 List 로 반환합니다. 이제 이 List 를 차례로 보면서 해당 내용을 확인해봅니다.
for (int i = 0; i < spreadsheets.size(); i++) {
System.out.println("Entry>>");
SpreadsheetEntry entry = spreadsheets.get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
System.out.println("Entry>>");
SpreadsheetEntry entry = spreadsheets.get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
전체적인 구조는 SpreadSheetEntry -> WorksheetEntry -> CellEntry 의 형태를 가지며, 동일한 방법에 의해 접근이 가능합니다. 자세한 내용은 API 문서를 참고하시면 됩니다.
전체 프로그램 소스는 아래와 같습니다.
import com.google.gdata.client.spreadsheet.*;
import java.net.URL;
import com.google.gdata.data.spreadsheet.*;
import java.util.*;
public class GdataTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
SpreadsheetService service = new SpreadsheetService("Naratalk-SpreadSheet-1");
service.setUserCredentials("", "");
URL metafeedUrl = new URL("http://spreadsheets.google.com/feeds/spreadsheets/private/full");
SpreadsheetFeed feed = service.getFeed(metafeedUrl, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
for (int i = 0; i < spreadsheets.size(); i++) {
System.out.println("Entry>>");
SpreadsheetEntry entry = spreadsheets.get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
List<WorksheetEntry> worksheets = entry.getWorksheets();
for(int k=0;k< worksheets.size();k++)
{
WorksheetEntry worksheet = worksheets.get(k);
System.out.println("\t\t"+ worksheet.getTitle().getPlainText());
URL cellFeedUrl = worksheet.getCellFeedUrl();
CellFeed cellFeed = service.getFeed(cellFeedUrl, CellFeed.class);
for (CellEntry cell : cellFeed.getEntries()) {
System.out.println(cell.getTitle().getPlainText());
String shortId = cell.getId().substring(cell.getId().lastIndexOf('/') + 1);
System.out.println(" -- Cell(" + shortId + "/" + cell.getTitle().getPlainText()
+ ") formula(" + cell.getCell().getInputValue() + ") numeric("
+ cell.getCell().getNumericValue() + ") value("
+ cell.getCell().getValue() + ")");
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
import java.net.URL;
import com.google.gdata.data.spreadsheet.*;
import java.util.*;
public class GdataTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
SpreadsheetService service = new SpreadsheetService("Naratalk-SpreadSheet-1");
service.setUserCredentials("", "");
URL metafeedUrl = new URL("http://spreadsheets.google.com/feeds/spreadsheets/private/full");
SpreadsheetFeed feed = service.getFeed(metafeedUrl, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
for (int i = 0; i < spreadsheets.size(); i++) {
System.out.println("Entry>>");
SpreadsheetEntry entry = spreadsheets.get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
List<WorksheetEntry> worksheets = entry.getWorksheets();
for(int k=0;k< worksheets.size();k++)
{
WorksheetEntry worksheet = worksheets.get(k);
System.out.println("\t\t"+ worksheet.getTitle().getPlainText());
URL cellFeedUrl = worksheet.getCellFeedUrl();
CellFeed cellFeed = service.getFeed(cellFeedUrl, CellFeed.class);
for (CellEntry cell : cellFeed.getEntries()) {
System.out.println(cell.getTitle().getPlainText());
String shortId = cell.getId().substring(cell.getId().lastIndexOf('/') + 1);
System.out.println(" -- Cell(" + shortId + "/" + cell.getTitle().getPlainText()
+ ") formula(" + cell.getCell().getInputValue() + ") numeric("
+ cell.getCell().getNumericValue() + ") value("
+ cell.getCell().getValue() + ")");
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
이올린에 북마크하기
이올린에 추천하기
댓글을 달아 주세요