【问题标题】:Java :: Creating a spreadsheet programmatically using latest Google Sheets v4 APIJava :: 使用最新的 Google Sheets v4 API 以编程方式创建电子表格
【发布时间】:2017-01-02 09:56:13
【问题描述】:
我有一个用例,我需要获取新创建的 Google 电子表格的电子表格 ID。我参考了 Google Docs,发现 Google Sheets API v4 中的 Spreadsheet.create 方法返回了电子表格 ID 作为响应。
但是,我不知道如何在 Java 中使用此方法。
另外,参考 Google 文档 (Link),我知道我也需要 OAuth 授权。请帮助我了解如何使用 Java 设置 OAuth 授权,或者如果有使用 Java 和 OAuth 创建 Google 电子表格的现有示例,请分享。
【问题讨论】:
标签:
java
oauth
oauth-2.0
google-spreadsheet-api
google-sheets-api
【解决方案1】:
关注 Sheets API 文档中的 Java Quickstart。授权部分包含在快速入门中。
这是 Java 凭据部分的 sn-p:
public static Credential authorize() throws IOException {
// Load client secrets.
InputStream in =
Quickstart.class.getResourceAsStream("/client_secret.json");
GoogleClientSecrets clientSecrets =
GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));
// Build flow and trigger user authorization request.
GoogleAuthorizationCodeFlow flow =
new GoogleAuthorizationCodeFlow.Builder(
HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
.setDataStoreFactory(DATA_STORE_FACTORY)
.setAccessType("offline")
.build();
Credential credential = new AuthorizationCodeInstalledApp(
flow, new LocalServerReceiver()).authorize("user");
System.out.println(
"Credentials saved to " + DATA_STORE_DIR.getAbsolutePath());
return credential;
}