go get -u -v github.com/orijtech/uber/v1
You 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() | |
} | |
} |