2013-07-10 4 views
1

를 만들 수 없습니다 것은 내 코드입니다 :다음은 스프레드 시트

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(); 
    } 

그러나 작동하지 않습니다. 스프레드 시트의 생성자에서 항상 충돌합니다.

  • GDATA - 클라이언트 1.0
  • GDATA 클라이언트 - 메타 - 1.0
  • GDATA 코어 - 1.0
  • GDATA - 스프레드 시트 3.0
  • GDATA-spreadsheet- : 나는이 라이브러리를 사용하고 있습니다 메타 3.0
  • 구아바 - 13.0.1

사람이 가능성이 잘못 될 수 있는지 말해 줄래?

+0

LogCat을 사용하여 충돌과 관련된 Java 스택 추적을 검사하십시오. – CommonsWare

답변

0

스프레드 시트의 생성자에서 충돌이 발생합니까? SpreadsheetService가 아닌가요? 스프레드 시트의 인스턴스는 어디에 생성됩니까? 아마 어딘가에있는 것 같아요. 어쨌든 한 주석자가 말한대로 logcat을 확인하십시오. 충돌하는 부분이 전혀 없다면 (어디에서 오는지 알려주는 텍스트를 읽는다면 알려줄 것입니다.), 가능한 모든 곳에서 logcat을 던지십시오.

static final String MESSAGE = "SPREADSHEET TEST MESSAGE:"; 
SpreadsheetService spreadsheet= new SpreadsheetService("v1"); 
Log.d(MESSAGE, "spreadsheet was created successfully."); 
spreadsheet.setProtocolVersion(SpreadsheetService.Versions.V3); 
Log.d(MESSAGE, "setProtocolVersion done successfully."); 

try { 
    spreadsheet.setUserCredentials("username", "password"); 
    Log.d(MESSAGE, "set credentials worked."); 
    URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full"); 
    Log.d(MESSAGE, "metafeedUrl was created successfully."); 
    SpreadsheetFeed feed = spreadsheet.getFeed(metafeedUrl, SpreadsheetFeed.class); 
    Log.d(MESSAGE, "feed was created, too."); 
    List<SpreadsheetEntry> spreadsheets = feed.getEntries(); 
    Log.d(MESSAGE, "spreadsheets List was created successfully."); 
    for (SpreadsheetEntry service : spreadsheets) {    
     System.out.println(service.getTitle().getPlainText()); 
    } 
    Log.d(MESSAGE, "The for-loop worked."); 
} catch (AuthenticationException e) {   
    e.printStackTrace(); 
} 

어리석은 것처럼 보이지만 작동하면 모든 메시지를 삭제하면됩니다. 나는 거룩한 모든 것의 이름에 단서가 없다면 나는 보통 이런 종류의 일을한다. 화면을 쳐다보기보다 결과가 더 많이 나옵니다.

어쨌든 어디서 실패했는지 확인하고 거기에서 알아냅니다. 더 나은 정보를 얻으면 더 명확한 질문을 던지십시오.

+0

SpreadsheetService가 Spreadsheet가 아니란 점을 유감스럽게 생각합니다. 내가 로그를 사용하고 SpreadsheetService 생성자와 충돌이 완전히 확실합니다. logcat 출력을 추가합니다. – user2570143