小编Mr.*_*vin的帖子

使用 Google 的 Java API 客户端库进行身份验证时出现 IllegalArgumentException

我正在尝试在 NetBeans 8.2 上运行 QuickStart.java https://developers.google.com/sheets/api/quickstart/java。我已经导入了所有的 Google 图书馆,但遇到了这个问题

Exception in thread "main" java.lang.IllegalArgumentException
at com.google.api.client.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:111)
at com.google.api.client.util.Preconditions.checkArgument(Preconditions.java:37)
at com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets.getDetails(GoogleClientSecrets.java:82)
at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow$Builder.<init>(GoogleAuthorizationCodeFlow.java:197)
at Quickstart.authorize(Quickstart.java:71)
at Quickstart.getSheetsService(Quickstart.java:90)
at Quickstart.main(Quickstart.java:98)
C:\Users\kevin\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
Run Code Online (Sandbox Code Playgroud)

我已经尝试过警告中提到的内容:无法更改每个人的权限:,但没有用。我的代码如下:

import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.util.store.FileDataStoreFactory;
import com.google.api.services.sheets.v4.SheetsScopes;
import com.google.api.services.sheets.v4.model.*;
import com.google.api.services.sheets.v4.Sheets;
import java.io.FileInputStream;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.List;

public class Quickstart {
    /** …
Run Code Online (Sandbox Code Playgroud)

java google-api-java-client

7
推荐指数
1
解决办法
3452
查看次数

Google表格使用API​​密钥而不是client_secret.json

Java QuickstartQuickStart.java上的示例中,它们用于标识应用程序,这会弹出一个窗口,要求提供Google凭据以使用该应用程序。您必须下载才能修改Google表格。OAuth client IDclient_secret.json

我的问题是:您可以使用API Key或其他方法来躲避弹出窗口询问Google凭据吗?并且,如果可能的话,如何更改Java代码以实现此目的?

java google-api google-spreadsheet-api google-api-java-client google-oauth

4
推荐指数
2
解决办法
1509
查看次数