Tim*_*Lai 7 java google-sheets google-spreadsheet-api
我正在尝试使用Java进行编程以连接到Google Spreadsheet以进行数据检索或修改单元格中的数据.
我的Google电子表格链接是https://docs.google.com/spreadsheets/d/1UXoGD2gowxZ2TY3gooI9y7rwWTPBOA0dnkeNYwUqQRA
我查看了Sheets API,它需要链接
https://spreadsheets.google.com/feeds/worksheets/key/private/full
我尝试过不同形式的链接,例如:
https://spreadsheets.google.com/feeds/worksheets/1UXoGD2gowxZ2TY3gooI9y7rwWTPBOA0dnkeNYwUqQRA/private/full
https://spreadsheets.google.com/feeds/worksheets/1UXoGD2gowxZ2TY3gooI9y7rwWTPBOA0dnkeNYwUqQRA/private/full
他们分别给了我不同的错误:
com.google.gdata.util.ParseException: Unrecognized content type:application/binarycom.google.gdata.util.RedirectRequiredException: Moved Temporarily我不知道如何使用Java连接到Googl Spreadsheet.如果您有这方面的经验,请帮助我.
import com.google.gdata.client.authn.oauth.*;
import com.google.gdata.client.spreadsheet.*;
import com.google.gdata.data.*;
import com.google.gdata.data.batch.*;
import com.google.gdata.data.spreadsheet.*;
import com.google.gdata.util.*;
import org.testng.annotations.Test;
import java.io.IOException;
import java.net.*;
import java.util.*;
public class TestGoogleSheetsAPI {
@Test
public void testConnectToSpreadSheet() throws ServiceException, IOException {
SpreadsheetService service = new SpreadsheetService("google-spreadsheet");
URL SPREADSHEET_FEED_URL = new URL("https://spreadsheets.google.com/feeds/worksheets/1UXoGD2gowxZ2TY3gooI9y7rwWTPBOA0dnkeNYwUqQRA/public/full");
SpreadsheetFeed feed = service.getFeed(SPREADSHEET_FEED_URL, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
if (spreadsheets.size() == 0) {
// TODO: There were no spreadsheets, act accordingly.
}
SpreadsheetEntry spreadsheet = spreadsheets.get(0);
System.out.println(spreadsheet.getTitle().getPlainText());
}
}
Run Code Online (Sandbox Code Playgroud)
我没有使用,service.setUserCredentials("xxx@gmail", "password")因为我会有另一个错误,这是com.google.gdata.util.AuthenticationException: Error authenticating (check service name)
您从该 URL 获得的提要是 a WorksheetFeed,而不是SpreadsheetFeed。尝试这个:
SpreadsheetService service = new SpreadsheetService("google-spreadsheet");
FeedURLFactory urlFactory = FeedURLFactory.getDefault();
WorksheetFeed worksheetFeed = service.getFeed(urlFactory.getWorksheetFeedUrl("1V4jT4vSqmY4YNY1VJhariLRLbxfFWf5z8bSTpDcSBPE", "public", "full"), WorksheetFeed.class);
List<WorksheetEntry> worksheets = worksheetFeed.getEntries();
WorksheetEntry worksheet = worksheets.get(0);
System.out.println(worksheet.getTitle().getPlainText());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9986 次 |
| 最近记录: |