制作谷歌电子表格的副本

时间:2012-07-12 16:27:27

标签: java google-docs google-docs-api google-sheets

我正在尝试按照documentation page上的示例复制现有的电子表格文档。我使用ClientLogin方法进行身份验证。我的第一步是获取模板doc:

SpreadsheetService service =
    new SpreadsheetService("MySpreadsheetIntegration-v1");
service.setUserCredentials(USERNAME, PASSWORD);

DocumentQuery query = new DocumentQuery(new URL(
    "https://spreadsheets.google.com/feeds/spreadsheets/private/full")); 
query.setTitleQuery("template"); 
query.setTitleExact(true); 

SpreadsheetFeed feed = service.getFeed(query, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();

SpreadsheetEntry template = spreadsheets.get(0);

一切都很好。在template我有文件。然后我尝试创建一个新的:

SpreadsheetEntry newDoc = new SpreadsheetEntry();
newDoc.setTitle(new PlainTextConstruct("new copy"));
newDoc.setId(template.getId());
service.insert(new URL("https://docs.google.com/feeds/default/private/full"), newDoc);

我得到AuthenticationException: Token invalid。如果我使用https://docs.google.com/feeds/default/private/full来检索文档,那么它就会失败。所以我猜docs.google.com/...需要某种更高的特权,但如何获得它们呢?

1 个答案:

答案 0 :(得分:0)

我猜您无法使用ClientLogin身份验证模型创建文档。使用Oauth。