尝试创建 GoogleCredential 时出现 java.io.FileNotFoundException

标签 java android google-bigquery

我正在尝试在我的 Android 应用程序中运行此代码:

    public Bigquery createAuthorizedClient() throws IOException {
    final List SCOPE = Arrays.asList("https://www.googleapis.com/auth/bigquery");
    HttpTransport transport = new NetHttpTransport();
    JsonFactory jsonFactory = new JacksonFactory();
    GoogleCredential credential = new GoogleCredential();
    try{
        File file = new File("C:\\testprojectbigquery\\UkrBikeApp-ff55878cb577.p12");
        credential = new GoogleCredential.Builder().setTransport(transport)
                .setJsonFactory(jsonFactory)
                .setServiceAccountId("bigquerymain@ukrbikeapp.iam.gserviceaccount.com")
                .setServiceAccountScopes(SCOPE)
                .setServiceAccountPrivateKeyFromP12File(file)
                .build();
    }
    catch (Exception e){
        System.out.println("e = " + e);
    }


    if (credential.createScopedRequired()) {
        credential = credential.createScoped(BigqueryScopes.all());
    }

    return new Bigquery.Builder(transport, jsonFactory, credential)
            .setApplicationName("Bigquery Samples")
            .build();
}

但每次我得到:

java.io.FileNotFoundException

然后我尝试创建InputStream,但没有改变情况:

        AssetManager am = getAssets();
        InputStream inputStream = am.open("C:\\testprojectbigquery\\UkrBikeApp-ff55878cb577.p12");
        File file = createFileFromInputStream(inputStream);

最佳答案

您正在为 Android 设备编码,而 Android 没有 C 驱动器!要读取此文件,您必须将文件放入项目的assets文件夹中,然后从此文件夹中读取。这是一个example of reading assets

关于尝试创建 GoogleCredential 时出现 java.io.FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44122191/

相关文章:

java - 软键盘覆盖底部工作表对话框

java - SDL_SetVideoMode 试图释放一个没有被 malloc 的指针(?)

javax.net.ssl.sslhandshakeexception java.security.cert.certificateexception for soap

python - 导入错误: cannot import name pubsub_v1

google-analytics - 在大查询Google Analytics(分析)中构造为JSON

java - libc.so 中的 SIGSEGV 上 busybox 上的 Openjdk 11 崩溃

android - Android Studio 中的布局验证

android - Jetpack Compose 的 LazyVerticalGrid 是否有 span 策略

google-bigquery - BigQuery 中查询作业中的 allowLargeResults

java - ZipException:重复输入异常