导入 GoogleCredentials 以连接到 BigQuery

Posted

技术标签:

【中文标题】导入 GoogleCredentials 以连接到 BigQuery【英文标题】:importing GoogleCredentials to connect to BigQuery 【发布时间】:2015-07-24 09:15:59 【问题描述】:

我在使用 Java 关注 tutorial 时无法连接到 Google 的 BigQuery。

我的问题是我无法解决方法:

GoogleCredentials.getApplicationDefault(HttpTransport t, JsonFactory f);

即使我正在导入正确的包:

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;

我添加了我认为正确的库:

com.google.oauth-client:google-oauth-client:1.19.0

这是我的完整代码:

package com.test.tester;

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.bigquery.Bigquery;
import com.google.api.services.bigquery.BigqueryScopes;

import java.io.IOException;
import java.util.Collection;

public class BigQuerytest 

    private static Bigquery createAuthorizedClient() throws IOException 
        Collection<String> bigqueryScopes = BigqueryScopes.all();
        HttpTransport transport = new NetHttpTransport();
        JsonFactory jsonFactory = new JacksonFactory();
        GoogleCredential credential = GoogleCredential.getApplicationDefault(
                transport, jsonFactory);
        if (credential.createScopedRequired()) 
            credential = credential.createScoped(bigqueryScopes);
        
        return new Bigquery.Builder(transport, jsonFactory, credential)
                .setApplicationName("BigQuery Samples").build();
    

我相信我的问题来自 Google Credentials 库,它不是正确的,但我尝试了许多其他方法,但都没有成功...

感谢您的帮助。

【问题讨论】:

【参考方案1】:

将此添加到您的应用程序底座文件中

compile 'com.google.apis:google-api-services-bigquery:v2-rev245-1.20.0'

【讨论】:

以上是关于导入 GoogleCredentials 以连接到 BigQuery的主要内容,如果未能解决你的问题,请参考以下文章

如何配置 truffle 以连接到 RSK 测试网公共节点?

有没有办法配置 Elastic Beanstalk 以连接到现有的 Oracle 数据库(没有 BYOL)?

xcode 颠覆设置以连接到基于网络的存储库

从 XML 文件中读取网络凭据以连接到 TFS 服务器

JDBC Postgres 驱动程序是不是可以设置“client_encoding”以连接到数据库?

如何设置连接 URL 以连接到 HSQLDB 中的多个数据库