缺少任务列表 ID、任务 ID

时间:2021-06-28 14:16:29

标签: android kotlin google-tasks-api google-tasks

我正在尝试使用 Google Tasks API 更新 TaskLists 和 Tasks。通过 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()
            }
        }
    }

0 个答案:

没有答案