2011-01-18 5 views
1

GData APIを使用してgdocsスプレッドシートを編集しようとしています。しかし、そのブロックの最後の行に、それが例外をスローGData APIのスプレッドシート認証

_service = new DocsService("attask-gdocsintegration-1.0"); 
    _service.setUserCredentials(username, password); 

    String feedUrl = "https://docs.google.com/feeds/default/private/full"; 

    SpreadsheetQuery query = new SpreadsheetQuery(new URL(feedUrl)); 
    query.setMaxResults(1); 
    query.setTitleExact(true); 
    query.setTitleQuery(title); 
    SpreadsheetFeed feed = _service.getFeed(query, SpreadsheetFeed.class); 

    if(feed.getEntries().size() != 1) { 
     throw new FileNotFoundException("'"+title+"' not a spreadsheet"); 
    } 
    _entry = feed.getEntries().get(0); 
    List<WorksheetEntry> worksheets = _entry.getWorksheets(); 

:私は、次のコードを持っている

Exception in thread "main" com.google.gdata.util.AuthenticationException: Unauthorized 
<HTML> 
<HEAD> 
<TITLE>Unauthorized</TITLE> 
</HEAD> 
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
<H1>Unauthorized</H1> 
<H2>Error 401</H2> 
</BODY> 
</HTML> 

    at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:600) 
    ... 

ユーザー名/パスワードが正しいか、と私を照会するために細かい認証するように思えますしかし、すぐにワークシートを取得しようとすると失敗します。私がここで紛失しているもののアイデア?

+0

あなたはこれを追加しましたか?私はSpreadsheetServiceクラスのsetUserCredentialsメソッドを取得できないので、gdata-spreadsheet-3.0を追加しました。 – milind

答えて

1

さらに試行錯誤した結果、フィードのURLが正しくないことがわかりました。

String feedUrl = "https://docs.google.com/feeds/default/private/full"; 

に:変更

:ここでは、私が変更しなければならなかったものだ

String feedUrl = "https://spreadsheets.google.com/feeds/spreadsheets/private/full"; 

、それが働きました。