问题描述
我终于遵循了Google工作表快速入门并完成了示例应用程序。现在,我想调用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)
这部分代码无法创建目录:
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 giving IOException with 'unable to create directory: /tokens' when using google calendar api
但显示错误:
package android.os does not exist
import android.os.Environment;
permission.READ_EXTERNAL_STORAGE,permission.WRITE_EXTERNAL_STORAGE
这是我用来调用quickstart.class的函数
public void createSheet() throws GeneralSecurityException,IOException {
SheetsQuickstart sheetsQuickstart = new SheetsQuickstart();
Sheets service = new Sheets.Builder(HTTP_TRANSPORT,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.phonecallreminder;
放在第一行,因为我的应用可以调用该类。
提前谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)