连接到Google Spreadsheet

时间:2018-10-08 23:07:44

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

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

如果我在IDE上执行此示例,那么它将正常工作。 现在,我想将此示例集成到我的android应用程序中。第一个活动直接调用上一个链接的主方法(代码在链接的第3步中。main方法已重命名,以便由该活动调用)。但是我遇到一个错误:

    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设备上创建目录。但是为什么会这样呢?并存在解决方法吗?

1 个答案:

答案 0 :(得分:1)

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

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

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