Java 如何为电子表格服务设置OAuth2 Google凭据?

Java 如何为电子表格服务设置OAuth2 Google凭据?,java,google-api,google-sheets,google-spreadsheet-api,Java,Google Api,Google Sheets,Google Spreadsheet Api,我举了一个例子。但是下面的代码告诉我“类型SpreadsheetService的方法setOAuth2Credentials(GoogleCredentials)未定义” import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; 导入com.google.api.client.http.HttpTransport; 导入com.google.api.client.http.javanet.NetHttpTransp

我举了一个例子。但是下面的代码告诉我“类型SpreadsheetService的方法setOAuth2Credentials(GoogleCredentials)未定义”

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
导入com.google.api.client.http.HttpTransport;
导入com.google.api.client.http.javanet.NetHttpTransport;
导入com.google.api.client.json.jackson.JacksonFactory;
导入com.google.gdata.client.spreadsheet.spreadsheet服务;
导入com.google.gdata.data.spreadsheet.spreadsheet条目;
导入com.google.gdata.data.spreadsheet.SpreadsheetFeed;
导入com.google.gdata.util.ServiceException;
导入java.io.File;
导入java.io.IOException;
导入java.net.MalformedURLException;
导入java.net.URL;
导入java.security.GeneralSecurityException;
导入java.util.array;
导入java.util.List;
公共班机{
publicstaticvoidmain(字符串[]args)抛出畸形的DurLexception、GeneralSecurityException、IOException和ServiceException{
URL电子表格\u提要\u URL;
电子表格\u提要\u URL=新URL(“https://spreadsheets.google.com/feeds/spreadsheets/private/full");
文件p12=新文件(“./key.p12”);
HttpTransport HttpTransport=新的NetHttpTransport();
JacksonFactory jsonFactory=新JacksonFactory();
字符串[]范围数组={”https://spreadsheets.google.com/feeds", "https://spreadsheets.google.com/feeds/spreadsheets/private/full", "https://docs.google.com/feeds"};
最终列表SCOPES=Arrays.asList(SCOPESArray);
GoogleCredential credential=新建GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(“客户端ID”)
.setServiceAccountScopes(范围)
.SetServiceAccountPrivateKeyfromP12文件(p12)
.build();
电子表格服务=新电子表格服务(“测试”);
service.setOAuth2Credentials(凭证);//此处出现错误“类型电子表格服务的方法setOAuth2Credentials(Google凭证)未定义”
SpreadsheetFeed=service.getFeed(电子表格\u feed\u URL,SpreadsheetFeed.class);
列表电子表格=feed.getEntries();
如果(电子表格.size()==0){
System.out.println(“未找到电子表格”);
}
SpreadsheetEntry电子表格=空;
对于(int i=0;i
我只是简单地复制了代码并导入了前面提到的库,但我不明白为什么会出现下面这样的错误


检查您是否使用了正确版本的依赖项:

<dependency>
    <groupId>com.google.gdata</groupId>
    <artifactId>core</artifactId>
    <version>1.47.1</version>
</dependency>
<dependency>
    <groupId>com.google.api-client</groupId>
    <artifactId>google-api-client</artifactId>
    <version>1.20.0</version>
</dependency>
<dependency>
    <groupId>com.google.http-client</groupId>
    <artifactId>google-http-client-jackson</artifactId>
    <version>1.20.0</version>
</dependency>

com.google.gdata
核心
1.47.1
com.google.api-client
谷歌api客户端
1.20.0
com.google.http-client
谷歌http客户端jackson
1.20.0

我遇到了同样的问题。请分享你是否有任何解决这个问题的方法。面对同样的问题。如果有人有任何解决方案,请分享
<dependency>
    <groupId>com.google.gdata</groupId>
    <artifactId>core</artifactId>
    <version>1.47.1</version>
</dependency>
<dependency>
    <groupId>com.google.api-client</groupId>
    <artifactId>google-api-client</artifactId>
    <version>1.20.0</version>
</dependency>
<dependency>
    <groupId>com.google.http-client</groupId>
    <artifactId>google-http-client-jackson</artifactId>
    <version>1.20.0</version>
</dependency>