go get -u -v github.com/orijtech/uber/v1You just need to have a serialized OAuth2.0 JSON configuration file saved in in $HOME/.uber/credentials.json
For each file, just do:
go run <fileName.go>e.g
go run driverProfile.go| package main | |
| import ( | |
| "fmt" | |
| "log" | |
| "os" | |
| "time" | |
| "github.com/orijtech/uber/v1" | |
| ) | |
| func main() { | |
| client, err := uber.NewClientFromOAuth2File(os.ExpandEnv("$HOME/.uber/credentials.json")) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| prof, err := client.DriverProfile() | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| fmt.Printf("Rating: %.2f\nFirst Name: %s\nLast Name: %s\n", | |
| prof.Rating, prof.FirstName, prof.LastName) | |
| } |
| package main | |
| import ( | |
| "fmt" | |
| "log" | |
| "os" | |
| "time" | |
| "github.com/orijtech/uber/v1" | |
| ) | |
| func main() { | |
| client, err := uber.NewClientFromOAuth2File(os.ExpandEnv("$HOME/.uber/credentials.json")) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| aWeekAgo := time.Now().Add(-1 * time.Hour * 7 * 24) | |
| yesterday := time.Now().Add(-1 * time.Hour * 24) | |
| payments, err := client.ListDriverPayments(&uber.DriverInfoQuery{ | |
| StartDate: &aWeekAgo, | |
| EndDate: &yesterday, | |
| }) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| for page := range payments.Pages { | |
| if page.Err != nil { | |
| fmt.Printf("%d err: %v\n", page.PageNumber, page.Err) | |
| continue | |
| } | |
| for i, payment := range page.Payments { | |
| fmt.Printf("\t%d:: %#v\n", i, payment) | |
| } | |
| fmt.Println() | |
| } | |
| } |
| package main | |
| import ( | |
| "fmt" | |
| "log" | |
| "os" | |
| "time" | |
| "github.com/orijtech/uber/v1" | |
| ) | |
| func main() { | |
| client, err := uber.NewClientFromOAuth2File(os.ExpandEnv("$HOME/.uber/credentials.json")) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| aWeekAgo := time.Now().Add(-1 * time.Hour * 7 * 24) | |
| yesterday := time.Now().Add(-1 * time.Hour * 24) | |
| trips, err := client.ListDriverTrips(&uber.DriverInfoQuery{ | |
| StartDate: &aWeekAgo, | |
| EndDate: &yesterday, | |
| MaxPageNumber: 2, | |
| Offset: 4, | |
| }) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| for page := range trips.Pages { | |
| if page.Err != nil { | |
| fmt.Printf("%d err: %v\n", page.PageNumber, page.Err) | |
| continue | |
| } | |
| for i, trip := range page.Trips { | |
| fmt.Printf("\t%d:: DriverID: %q\nFare: %.2f\n%#v\n", i, trip.DriverID, trip.Fare, trip) | |
| } | |
| fmt.Println() | |
| } | |
| } |