Java 谷歌云存储:创建存储时打开浏览器

Java 谷歌云存储:创建存储时打开浏览器,java,browser,google-cloud-storage,Java,Browser,Google Cloud Storage,我使用“谷歌API服务存储”库。 当我要创建存储以创建存储桶时: private static Storage createStorage(String clientId, String clientSecret, String applicationName, Set<String> scopesList) { HttpTransport httpTransport = null; Storage storage; Credential credential

我使用“谷歌API服务存储”库。 当我要创建存储以创建存储桶时:

private static Storage createStorage(String clientId, String clientSecret, String applicationName, Set<String> scopesList) {
    HttpTransport httpTransport = null;
    Storage storage;
    Credential credential = null;
    VerificationCodeReceiver receiver;

    try {
        httpTransport = GoogleNetHttpTransport.newTrustedTransport();
    } catch (GeneralSecurityException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();

    }
    JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
    GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(httpTransport, jsonFactory, clientId, clientSecret, scopesList).build();

    receiver = new LocalServerReceiver();
    try {
        credential = new AuthorizationCodeInstalledApp(flow, receiver).authorize(clientId);
    } catch (IOException e) {
        e.printStackTrace();

    }
    storage = new Storage.Builder(httpTransport, jsonFactory, credential).setApplicationName(applicationName).build();

    return storage;
}
私有静态存储createStorage(String clientId、String clientSecret、String applicationName、Set scopesList){
HttpTransport HttpTransport=null;
储存;
凭证=空;
验证接收端;
试一试{
httpTransport=GoogleNetHttpTransport.newTrustedTransport();
}捕获(一般安全性例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
JsonFactory JsonFactory=JacksonFactory.getDefaultInstance();
GoogleAuthorizationCodeFlow=新的GoogleAuthorizationCodeFlow.Builder(httpTransport,jsonFactory,clientId,clientSecret,scopesList).build();
receiver=新的LocalServerReceiver();
试一试{
credential=新授权代码InstalledApp(流程、接收方)。授权(客户端ID);
}捕获(IOE异常){
e、 printStackTrace();
}
storage=new storage.Builder(httpTransport,jsonFactory,credential).setApplicationName(applicationName).build();
返回存储;
}
Windows打开我的浏览器并显示此页面:


问题是我的代码将在服务器上使用,所以我希望这一步是自动的。怎么办?

如评论中所述,您应该将其用于在服务器上运行的程序。这将生成一个私钥文件,您必须确保该文件的安全,并将其安装到服务器上。仅当代表用户在网站或已安装的应用程序上操作时,才应使用OAuth web流。

在服务器上使用oauth2。
转到谷歌控制台:

凭证
创建新的客户端ID
服务帐户
创建客户端ID
生成新的p12密钥


并使用文档:

如果您只访问自己的信息,请使用服务帐户而不是Oauth2。