Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Google Tasks Go API Simplified

License

NotificationsYou must be signed in to change notification settings

jtsalva/tasq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Built on top ofgoogle.golang.org/api/tasks/v1 adding extra functionality making it easier to get started with the Google Tasks API in Golang.

Getting Started

  1. Enable Google Tasks API fromAPI Console
  2. Create a new OAuth Client ID credential and download it as JSON
  3. Configure your OAuth consent screen
  4. Understand the conceptsdevelopers.google.com/tasks/concepts
  5. Get tasqgo get -u github.com/jtsalva/tasq
  6. Import tasqimport "github.com/jtsalva/tasq"
tasq.Init(&tasq.QConfig{// Either QTasksReadWriteScope or QTasksReadOnlyScopeScope:tasq.QTasksReadWriteScope,Credentials:"/path/to/credentials.json",})// Direct users here to grant access to your// application from their Google accountsauthURL:=tasq.Auth.GetAuthCodeURL()// Once the user grants access and is// redirected to your specified URL, grab// the code from the query stringauthCode:="4/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXX"// The auth code can only be used once// to generate a token, the token is// reusable, store it somewhere safetoken,err:=tasq.Auth.GetToken(authCode)// Create new service using tokensvc,err:=tasq.NewService(token)// List all Taskliststasklists,err:=svc.Tasklists.List().Do()// List Tasks from Tasklisttasks,err:=svc.Tasks.List(tasklistId).Do()

Listing Tasklists

// tasklists is of type QTaskListstasklists,err:=svc.Tasklists.List().Do()// tasklists.Items is of type []*QTaskListfor_,tasklist:=rangetasklists.Items {fmt.Println(tasklist.Id,tasklist.Name)}

Listing Tasks

// tasks is of type QTaskstasks,err:=svc.Tasks.List().Do()// tasks.Items is of type []*QTaskfor_,task:=rangetasks.Items {fmt.Println(task.Id,task.Title,task.Notes)// List sub-tasks of task// task.Children is of type []*QTaskfor_,child:=rangetask.Children {fmt.Println("\t",child.Id,child.Title,child.Notes)  }}

Filter and Sort Tasks

Fllter by either

  • QCompletedFilter - show only completed tasks
  • QNeedsActionFilter - show only tasks needing action
  • QOverdueFilter - show only tasks needing action where the datetime now is more than the due datetime
filteredTasks,err:=svc.Tasks.List().Filter(tasq.QOverdueFilter).Do()

Additionally, you can sort your items either by

  • QPositionSort - sort in the way the user positioned the tasks
  • QLatestFirstSort - newly updated tasks first
  • QOldestFirstSort - oldest updated tasks first
sortedTasks,err:=svc.Tasks.List().Sort(tasq.QPositionSort).Do()

You can combine filter and sort

filterdAndSortedTasks,err:=svc.Tasks.List().Filter(filter).Sort(sort).Do()

Interacting with Tasks

You can directly manipulate and perform actions on aQTaskList andQTask.

// tasklist is of type QTaskListtasklist,err:=svc.Tasklists.Get(tasklistid).Do()// task is of type QTasktask,err:=svc.Tasks.Get(tasklistid,taskid).Do()
  1. Deleting
  2. Inserting
  3. Updating
  4. Refreshing
  5. Move to Parent
  6. Move to Previous
  7. Move to Beginning
  8. Get Time of Last Update

Deleting

// Delete a list, including the tasks and subtasks within iterr:=tasklist.Delete()// Delete a single taskerr:=task.Delete()

Inserting

Insert a task into another list

insertedTask,err:=task.Insert(anotherTasklistid)

Updating

tasklist.Title="change tasklist title"updatedTasklist,err:=tasklist.Update()task.Title="change task title"updatedTask,err:=task.Update()

Refreshing

If there have been remote changes, update the data currently stored in memory

err:=tasklist.Refresh()err:=task.Refresh()

Move to Parent

Make task a subtask to the given parent task id

movedTask,err:=task.MoveToParent(parentTaskid)

Move to Previous

Move task after given previous task id

movedTask,err:=task.MoveToPrevious(previousTaskid)

Move to Beginning

Moves task to beginning of list

movedTask,err:=task.MoveToBeginning()

Get Time of Last Update

Returns time of last update as typetime.Time

tasklistUpdatedTime,err:=tasklist.Time()taskUpdatedTime,err:=task.Time()

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp