我正在尝试使用 Google 任务 API 更新任务列表和任务。通过 API,我获得了 TaskList 和 Tasks 的列表。问题是当我尝试检查从 Google API Explorer 上的 API 收到的任务列表 ID 或任务 ID 时,我收到消息“检查任务 ID 时缺少任务列表 ID,任务 ID 相同”
由于这两个 ID 都是通过 API 提供的,所以我不知道我在这里做错了什么。
我的任务同步代码如下,请求解决,谢谢!!
private fun syncWholeTasks() {
GlobalScope.launch {
try {
val allTasksLists = mTService.Tasklists().list().execute()
val taskList = allTasksLists.items
val db = AppDatabase.getDatabase(requireActivity())
db.TasksListsDao().deleteAll()
for (tsk in taskList) {
val updatedtl = tsk.updated.value
db.TasksListsDao().insert(
TasksList(
tsk.id,
tsk.title,
updatedtl,
tsk.selfLink,
tsk.etag,
)
)
//Constructing the Calendar tasks Access list for Google Calendar
val allTasks = mTService.tasks().list(tsk.id)
//Getting page token if there are multiple pages of data to be retrieved
var pageToken: String? = null
var tasks = allTasks.execute()
var completedDt: Long?
var updatedDt: Long?
var dueDt: Long?
var tskListId: String?
do {
allTasks.pageToken = pageToken
val tskList = tasks!!.items
if (tskList != null) {
if (tskList.size == 0) {
break
} else {
//Sync tasks from the calendar
for (tsks in tskList) {
if (tsks.deleted == false || tsks.deleted == null) {
if (tsks.completed != null) {
completedDt = tsks.completed.value
} else {
completedDt = null
}
if (tsks.updated != null) {
updatedDt = tsks.updated.value
} else {
updatedDt = null
}
if (tsks.due != null) {
dueDt = tsks.due.value
} else {
dueDt = null
}
if (tsk.id != null) {
tskListId = tsk.id
} else {
tskListId = null
}
} else {
}
} else {
}
}
}
}
pageToken = tasks.nextPageToken
} while (pageToken != null)
}
isSynced = true
requireActivity().getSharedPreferences("PRE", AppCompatActivity.MODE_PRIVATE)
.edit().putBoolean("first", false).apply()
Log.d(TAG, "syncWholeTasks: Data Synced Successfully")
} catch (e: UserRecoverableAuthIOException) {
requireActivity().runOnUiThread { progressBar.dismiss() }
startActivityForResult(e.intent, RC_SIGN_IN)
} catch (e: IOException) {
requireActivity().runOnUiThread { progressBar.dismiss() }
e.printStackTrace()
}
}
}