-
Notifications
You must be signed in to change notification settings - Fork 0
/
api.go
81 lines (69 loc) · 2.57 KB
/
api.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package main
const (
listAlbums = "https://photoslibrary.googleapis.com/v1/albums?pageSize=50"
listMediaItems = "https://photoslibrary.googleapis.com/v1/mediaItems?pageSize=100"
)
type Album struct {
ID string `json:"id"`
Title string `json:"title"`
ProductURL string `json:"productUrl"`
IsWriteable string `json:"isWriteable"`
MediaItemsCount string `json:"mediaItemsCount"`
CoverPhotoBaseURL string `json:"coverPhotoBaseUrl"`
CoverPhotoMediaItemID string `json:"coverPhotoMediaItemId"`
ShareInfo ShareInfo `json:"shareInfo"`
}
type ShareInfo struct {
SharedAlbumOptions SharedAlbumOptions `json:"sharedAlbumOptions"`
ShareableURL string `json:"shareableUrl"`
ShareToken string `json:"shareToken"`
IsJoined string `json:"isJoined"`
IsOwned string `json:"isOwned"`
}
type SharedAlbumOptions struct {
IsCollaborative string `json:"isCollaborative"`
IsCommentable string `json:"isCommentable"`
}
type AlbumListResponse struct {
Albums []Album `json:"albums"`
NextPageToken string `json:"nextPageToken"`
}
//MediaItems
type Photo struct {
CameraMake string `json:"cameraMake"`
CameraModel string `json:"cameraModel"`
FocalLength int `json:"focalLength"`
ApertureFNumber int `json:"apertureFNumber"`
IsoEquivalent int `json:"isoEquivalent"`
ExposureTime string `json:"exposureTime"`
}
type Video struct {
CameraMake string `json:"cameraMake"`
CameraModel string `json:"cameraModel"`
Fps int `json:"fps"`
}
type ContributorInfo struct {
ProfilePictureBaseURL string `json:"profilePictureBaseUrl"`
DisplayName string `json:"displayName"`
}
type MediaMetadata struct {
CreationTime string `json:"creationTime"`
Width string `json:"width"`
Height string `json:"height"`
Photo *Photo `json:"photo"`
Video *Video `json:"video"`
}
type MediaItem struct {
ID string `json:"id"`
Description string `json:"description"`
ProductURL string `json:"productUrl"`
BaseURL string `json:"baseUrl"`
MimeType string `json:"mimeType"`
MediaMetadata *MediaMetadata `json:"mediaMetadata"`
ContributorInfo *ContributorInfo `json:"contributorInfo"`
Filename string `json:"filename"`
}
type MediaItemsListResponse struct {
MediaItems []MediaItem `json:"mediaItems"`
NextPageToken string `json:"nextPageToken"`
}