java.io.IOException:无法创建目录:/tokens Google Sheet API

java.io.IOException:无法创建目录:/tokens Google Sheet API,java,android,google-api,ioexception,create-directory,Java,Android,Google Api,Ioexception,Create Directory,我最终按照GoogleSheet快速启动完成了示例应用程序。现在我想调用API来创建工作表,但是,错误显示: java.io.IOException: unable to create directory: /tokens 2020-09-19 01:27:53.967 9027-9097/com.yichuchen.phonecallreminder W/System.err: at com.google.api.client.util.store.FileDataStoreF

我最终按照GoogleSheet快速启动完成了示例应用程序。现在我想调用API来创建工作表,但是,错误显示:

    java.io.IOException: unable to create directory: /tokens
2020-09-19 01:27:53.967 9027-9097/com.yichuchen.phonecallreminder W/System.err:     at com.google.api.client.util.store.FileDataStoreFactory.<init>(FileDataStoreFactory.java:71)
2020-09-19 01:27:53.967 9027-9097/com.yichuchen.phonecallreminder W/System.err:     at com.yichuchen.phonecallreminder.SheetsQuickstart.getCredentials(SheetsQuickstart.java:58)
我试过:

但显示错误:

package android.os does not exist
import android.os.Environment;
添加了用于询问的用户。

这是我调用quickstart.class的函数

public void createSheet() throws GeneralSecurityException, IOException {
    SheetsQuickstart sheetsQuickstart = new SheetsQuickstart();
    Sheets service = new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, sheetsQuickstart.getCredentials(HTTP_TRANSPORT))
            .setApplicationName("PhoneCallReminder")
            .build();
        Spreadsheet spreadsheet = new Spreadsheet()
                .setProperties(new SpreadsheetProperties()
                        .setTitle("Test"));
        spreadsheet = service.spreadsheets().create(spreadsheet)
                .setFields("spreadsheetId")
                .execute();
        System.out.println("Spreadsheet ID: " + spreadsheet.getSpreadsheetId());
}
这是我的项目和应用程序结构,
sheetquickstart.java
在应用程序之外,对吗?我把
package com.yichuchen.phone放在手机上提醒可以调用类。


提前感谢。

最新版本getExternalStorageDirectory()将不再使用,
。不,就用它吧。“/token”不是有效路径,当然不是完整路径。如果您没有外部存储权限或没有写访问权限,请使用
getExternalFilesDir(“令牌”)
。您好,我已经更新了我的帖子,请查看。似乎我的Sheetsquickstart.java不在应用程序文件夹中,在项目文件夹中,我无法调用“Environment.getExternalStorageDirectory()”,也无法使用“context”调用getExternalFilesDir(“令牌”)方法。请帮忙!将SheetQuickstart.java复制到我的应用程序文件夹后,我可以使用“Environment.getExternalStorageDirectory()”但出现错误:java.io.IOException:无法创建目录:/storage/emulated/0/tokensYes。但我想那是因为你在安卓10上。请确认。不,我在11楼。
permission.READ_EXTERNAL_STORAGE, 
permission.WRITE_EXTERNAL_STORAGE
public void createSheet() throws GeneralSecurityException, IOException {
    SheetsQuickstart sheetsQuickstart = new SheetsQuickstart();
    Sheets service = new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, sheetsQuickstart.getCredentials(HTTP_TRANSPORT))
            .setApplicationName("PhoneCallReminder")
            .build();
        Spreadsheet spreadsheet = new Spreadsheet()
                .setProperties(new SpreadsheetProperties()
                        .setTitle("Test"));
        spreadsheet = service.spreadsheets().create(spreadsheet)
                .setFields("spreadsheetId")
                .execute();
        System.out.println("Spreadsheet ID: " + spreadsheet.getSpreadsheetId());
}