java - 连接到 Google 电子表格

标签 java android android-studio google-sheets google-sheets-api

我正在尝试根据 https://developers.google.com/sheets/api/quickstart/java 通过 java 连接到 google Spreadsheet .

如果我在 IDE 上执行此示例,它可以正常工作。 现在我想将此示例集成到我的 Android 应用程序中。第一个Activity直接调用前一个链接的main方法(代码在链接的step3中。main方法已被重命名,以便被 Activity 调用)。但我收到错误:

    W/System.err: java.io.IOException: unable to create directory: /tokens
    W/System.err:     at com.google.api.client.util.store.FileDataStoreFactory.<init>(FileDataStoreFactory.java:61)
    W/System.err:     at com.kazumi.management.ConnectToDatabase.getCredentials(ConnectToDatabase.java:70)

根据错误,应该是这一行:

GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
                HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
                .setDataStoreFactory(new FileDataStoreFactory(new java.io.File(TOKENS_DIRECTORY_PATH)))
                .setAccessType("offline")
                .build();

所以原因是,这个函数无法在我的虚拟 Android 设备上创建目录。但为什么会这样呢?是否存在解决方法?

最佳答案

所以我自己找到了解决方案。在 android 上很难访问内部和外部存储( https://developer.android.com/guide/topics/data/data-storage )

因此,为了在我的内部存储上创建目录,我需要使用以下内容:

File folder = getDir("theFolder",Context.MODE_PRIVATE);

关于java - 连接到 Google 电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52711189/

相关文章:

java - 增加 MAC OSX 10.12 中的 JVM 最大堆大小

android - 如何知道电子邮件是否是出于 Intent 发送的

android - 如何使用 jQuery-mobile 开发看起来原生于 Android 的 UI?

java - TabLayout 的问题

maven - 如何将 maven 模块导入 Android Studio 项目

java - 在Java中为堆栈结构创建动态数组

java - 在 java 中,是否可以创建一个流畅的可扩展类层次结构,其中的方法可以按任何顺序调用?

android - 如何创建类似 Foursquare 兴趣选择屏幕的 gridview?

android - 如何在Android studio 2.0中浏览android SDK源码

Java 模板 : array of Template Type in Template