Documentation
¶
Overview ¶
Package api provides functionality for interacting with the iCloud API.
Index ¶
- func ConstructDriveID(id string, zone string, t string) string
- func DeconstructDriveID(id string) (docType, zone, docid string)
- func GetCommonHeaders(overwrite map[string]string) map[string]string
- func GetContentTypeForFile(name string) string
- func GetCookiesForDomain(url *url.URL, cookies []*http.Cookie) ([]*http.Cookie, error)
- func GetDocIDFromDriveID(id string) string
- func IntoReader(values any) (*bytes.Reader, error)
- func MergeCookies(left []*http.Cookie, right []*http.Cookie) ([]*http.Cookie, error)
- type AccountInfo
- type Album
- type Client
- func (c *Client) Authenticate(ctx context.Context) error
- func (c *Client) DriveService() (*DriveService, error)
- func (c *Client) PhotosService() (*PhotosService, error)
- func (c *Client) Request(ctx context.Context, opts rest.Opts, request any, response any) (resp *http.Response, err error)
- func (c *Client) RequestNoReAuth(ctx context.Context, opts rest.Opts, request any, response any) (resp *http.Response, err error)
- func (c *Client) SignIn(ctx context.Context) error
- type CreateFoldersResponse
- type Document
- type DocumentData
- type DocumentUpdateResponse
- type DriveItem
- type DriveItemRaw
- type DriveItemRawInfo
- type DriveService
- func (d *DriveService) CopyDocByItemID(ctx context.Context, itemID string) (*DriveItemRaw, *http.Response, error)
- func (d *DriveService) CreateNewFolderByDriveID(ctx context.Context, drivewsid, name string) (*DriveItem, *http.Response, error)
- func (d *DriveService) CreateNewFolderByItemID(ctx context.Context, id, name string) (*DriveItem, *http.Response, error)
- func (d *DriveService) CreateUpload(ctx context.Context, size int64, name string) (*UploadResponse, *http.Response, error)
- func (d *DriveService) DownloadFile(ctx context.Context, url string, opt []fs.OpenOption) (*http.Response, error)
- func (d *DriveService) GetDocByItemID(ctx context.Context, id string) (*Document, *http.Response, error)
- func (d *DriveService) GetDocByPath(ctx context.Context, path string) (*Document, *http.Response, error)
- func (d *DriveService) GetDownloadURLByDriveID(ctx context.Context, id string) (string, *http.Response, error)
- func (d *DriveService) GetItemByDriveID(ctx context.Context, id string, includeChildren bool) (*DriveItem, *http.Response, error)
- func (d *DriveService) GetItemByPath(ctx context.Context, path string) (*DriveItem, *http.Response, error)
- func (d *DriveService) GetItemRawByItemID(ctx context.Context, id string) (*DriveItemRaw, *http.Response, error)
- func (d *DriveService) GetItemsByDriveID(ctx context.Context, ids []string, includeChildren bool) ([]*DriveItem, *http.Response, error)
- func (d *DriveService) GetItemsInFolder(ctx context.Context, id string, limit int64) ([]*DriveItemRaw, *http.Response, error)
- func (d *DriveService) MoveItemByDriveID(ctx context.Context, id, etag, dstID string, force bool) (*DriveItem, *http.Response, error)
- func (d *DriveService) MoveItemByItemID(ctx context.Context, id, etag, dstID string, force bool) (*DriveItem, *http.Response, error)
- func (d *DriveService) MoveItemToTrashByID(ctx context.Context, drivewsid, etag string, force bool) (*DriveItem, *http.Response, error)
- func (d *DriveService) MoveItemToTrashByItemID(ctx context.Context, id, etag string, force bool) (*DriveItem, *http.Response, error)
- func (d *DriveService) RenameItemByDriveID(ctx context.Context, id, etag, name string, force bool) (*DriveItem, *http.Response, error)
- func (d *DriveService) RenameItemByItemID(ctx context.Context, id, etag, name string, force bool) (*DriveItem, *http.Response, error)
- func (d *DriveService) UpdateFile(ctx context.Context, r *UpdateFileInfo) (*DriveItem, *http.Response, error)
- func (d *DriveService) Upload(ctx context.Context, in io.Reader, size int64, name, uploadURL string) (*SingleFileResponse, *http.Response, error)
- type FileFlags
- type FileRequest
- type FileRequestToken
- type Filter
- type Library
- type Photo
- type PhotosService
- type RequestError
- type Session
- func (s *Session) AuthWithToken(ctx context.Context) error
- func (s *Session) GetAuthHeaders(overwrite map[string]string) map[string]string
- func (s *Session) GetCookieString() string
- func (s *Session) GetHeaders(overwrite map[string]string) map[string]string
- func (s *Session) Request(ctx context.Context, opts rest.Opts, request any, response any) (*http.Response, error)
- func (s *Session) Requires2FA() bool
- func (s *Session) SignIn(ctx context.Context, appleID, password string) error
- func (s *Session) TrustSession(ctx context.Context) error
- func (s *Session) Validate2FACode(ctx context.Context, code string) error
- func (s *Session) ValidateSession(ctx context.Context) error
- type SingleFileInfo
- type SingleFileResponse
- type UpdateFileInfo
- type UploadResponse
- type ValidateDataApp
- type ValidateDataDsInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConstructDriveID ¶
ConstructDriveID constructs a drive ID from the given components.
func DeconstructDriveID ¶
DeconstructDriveID returns the document type, zone, and document ID from the drive ID.
func GetCommonHeaders ¶
GetCommonHeaders generates common HTTP headers with optional overwrite.
func GetContentTypeForFile ¶
GetContentTypeForFile detects content type for given file name.
func GetCookiesForDomain ¶
GetCookiesForDomain filters the provided cookies based on the domain of the given URL.
func GetDocIDFromDriveID ¶
GetDocIDFromDriveID returns the DocumentID from the drive ID.
func IntoReader ¶
IntoReader marshals the provided values into a JSON encoded reader
Types ¶
type AccountInfo ¶
type AccountInfo struct {
DsInfo *ValidateDataDsInfo `json:"dsInfo"`
HasMinimumDeviceForPhotosWeb bool `json:"hasMinimumDeviceForPhotosWeb"`
ICDPEnabled bool `json:"iCDPEnabled"`
Webservices map[string]*webService `json:"webservices"`
PcsEnabled bool `json:"pcsEnabled"`
TermsUpdateNeeded bool `json:"termsUpdateNeeded"`
ConfigBag struct {
Urls struct {
AccountCreateUI string `json:"accountCreateUI"`
AccountLoginUI string `json:"accountLoginUI"`
AccountLogin string `json:"accountLogin"`
AccountRepairUI string `json:"accountRepairUI"`
DownloadICloudTerms string `json:"downloadICloudTerms"`
RepairDone string `json:"repairDone"`
AccountAuthorizeUI string `json:"accountAuthorizeUI"`
VettingURLForEmail string `json:"vettingUrlForEmail"`
AccountCreate string `json:"accountCreate"`
GetICloudTerms string `json:"getICloudTerms"`
VettingURLForPhone string `json:"vettingUrlForPhone"`
} `json:"urls"`
AccountCreateEnabled bool `json:"accountCreateEnabled"`
} `json:"configBag"`
HsaTrustedBrowser bool `json:"hsaTrustedBrowser"`
AppsOrder []string `json:"appsOrder"`
Version int `json:"version"`
IsExtendedLogin bool `json:"isExtendedLogin"`
PcsServiceIdentitiesIncluded bool `json:"pcsServiceIdentitiesIncluded"`
IsRepairNeeded bool `json:"isRepairNeeded"`
HsaChallengeRequired bool `json:"hsaChallengeRequired"`
RequestInfo struct {
Country string `json:"country"`
TimeZone string `json:"timeZone"`
Region string `json:"region"`
} `json:"requestInfo"`
PcsDeleted bool `json:"pcsDeleted"`
ICloudInfo struct {
SafariBookmarksHasMigratedToCloudKit bool `json:"SafariBookmarksHasMigratedToCloudKit"`
} `json:"iCloudInfo"`
Apps map[string]*ValidateDataApp `json:"apps"`
}
AccountInfo represents an account info
type Album ¶
type Album struct {
Name string
ObjectType string
ListType string
Direction string
Filters []Filter
RecordName string
Zone string
// contains filtered or unexported fields
}
Album represents a photo album with its metadata and query configuration
func (*Album) GetPhotoCount ¶
GetPhotoCount returns the number of photos in this album
type Client ¶
type Client struct {
Session *Session
// contains filtered or unexported fields
}
Client defines the client configuration
func New ¶
func New(appleID, password, trustToken string, clientID string, cookies []*http.Cookie, sessionSaveCallback sessionSave) (*Client, error)
New creates a new Client instance with the provided Apple ID, password, trust token, cookies, and session save callback.
Parameters: - appleID: the Apple ID of the user. - password: the password of the user. - trustToken: the trust token for the session. - clientID: the client id for the session. - cookies: the cookies for the session. - sessionSaveCallback: the callback function to save the session.
func (*Client) Authenticate ¶
Authenticate authenticates the client with the iCloud API.
func (*Client) DriveService ¶
func (c *Client) DriveService() (*DriveService, error)
DriveService returns the DriveService instance associated with the Client.
func (*Client) PhotosService ¶
func (c *Client) PhotosService() (*PhotosService, error)
PhotosService returns the PhotosService instance associated with the Client.
func (*Client) Request ¶
func (c *Client) Request(ctx context.Context, opts rest.Opts, request any, response any) (resp *http.Response, err error)
Request makes a request and retries it if the session is invalid.
This function is the main entry point for making requests to the iCloud API. If the initial request returns a 401 (Unauthorized), it will try to reauthenticate and retry the request.
func (*Client) RequestNoReAuth ¶
func (c *Client) RequestNoReAuth(ctx context.Context, opts rest.Opts, request any, response any) (resp *http.Response, err error)
RequestNoReAuth makes a request without re-authenticating.
This function is useful when you have a session that is already authenticated, but you need to make a request without triggering a re-authentication.
type CreateFoldersResponse ¶
type CreateFoldersResponse struct {
Folders []*DriveItem `json:"folders"`
}
CreateFoldersResponse is the response of a create folders request.
type Document ¶
type Document struct {
Status struct {
StatusCode int `json:"status_code"`
ErrorMessage string `json:"error_message"`
} `json:"status"`
DocumentID string `json:"document_id"`
ItemID string `json:"item_id"`
Urls struct {
URLDownload string `json:"url_download"`
} `json:"urls"`
Etag string `json:"etag"`
ParentID string `json:"parent_id"`
Name string `json:"name"`
Type string `json:"type"`
Deleted bool `json:"deleted"`
Mtime int64 `json:"mtime"`
LastEditorName string `json:"last_editor_name"`
Data DocumentData `json:"data"`
Size int64 `json:"size"`
Btime int64 `json:"btime"`
Zone string `json:"zone"`
FileFlags struct {
IsExecutable bool `json:"is_executable"`
IsWritable bool `json:"is_writable"`
IsHidden bool `json:"is_hidden"`
} `json:"file_flags"`
LastOpenedTime int64 `json:"lastOpenedTime"`
RestorePath any `json:"restorePath"`
HasChainedParent bool `json:"hasChainedParent"`
}
Document represents a document on iCloud.
type DocumentData ¶
type DocumentData struct {
Signature string `json:"signature"`
Owner string `json:"owner"`
Size int64 `json:"size"`
ReferenceSignature string `json:"reference_signature"`
WrappingKey string `json:"wrapping_key"`
PcsInfo string `json:"pcsInfo"`
}
DocumentData represents the data of a document.
type DocumentUpdateResponse ¶
type DocumentUpdateResponse struct {
Status struct {
StatusCode int `json:"status_code"`
ErrorMessage string `json:"error_message"`
} `json:"status"`
Results []struct {
Status struct {
StatusCode int `json:"status_code"`
ErrorMessage string `json:"error_message"`
} `json:"status"`
OperationID any `json:"operation_id"`
Document *Document `json:"document"`
} `json:"results"`
}
DocumentUpdateResponse is the response of a document update request.
type DriveItem ¶
type DriveItem struct {
DateCreated time.Time `json:"dateCreated"`
Drivewsid string `json:"drivewsid"`
Docwsid string `json:"docwsid"`
Itemid string `json:"item_id"`
Zone string `json:"zone"`
Name string `json:"name"`
ParentID string `json:"parentId"`
Hierarchy []DriveItem `json:"hierarchy"`
Etag string `json:"etag"`
Type string `json:"type"`
AssetQuota int64 `json:"assetQuota"`
FileCount int64 `json:"fileCount"`
DirectChildrenCount int64 `json:"directChildrenCount"`
Items []*DriveItem `json:"items"`
NumberOfItems int64 `json:"numberOfItems"`
Status string `json:"status"`
Extension string `json:"extension,omitempty"`
DateModified time.Time `json:"dateModified,omitempty"`
DateChanged time.Time `json:"dateChanged,omitempty"`
Size int64 `json:"size,omitempty"`
LastOpenTime time.Time `json:"lastOpenTime,omitempty"`
Urls struct {
URLDownload string `json:"url_download"`
} `json:"urls"`
}
DriveItem represents an item on iCloud.
func (*DriveItem) DownloadURL ¶
DownloadURL returns the download URL of the item.
type DriveItemRaw ¶
type DriveItemRaw struct {
ItemID string `json:"item_id"`
ItemInfo *DriveItemRawInfo `json:"item_info"`
}
DriveItemRaw is a raw drive item. not suure what to call this but there seems to be a "unified" and non "unified" drive item response. This is the non unified.
func (*DriveItemRaw) CreatedTime ¶
func (d *DriveItemRaw) CreatedTime() time.Time
CreatedTime returns the creation time of the DriveItemRaw.
It parses the CreatedAt field of the ItemInfo struct and converts it to a time.Time value. If the parsing fails, it returns the zero value of time.Time. The returned time.Time
func (*DriveItemRaw) IntoDriveItem ¶
func (d *DriveItemRaw) IntoDriveItem() *DriveItem
IntoDriveItem converts a DriveItemRaw into a DriveItem.
It takes no parameters. It returns a pointer to a DriveItem.
func (*DriveItemRaw) ModTime ¶
func (d *DriveItemRaw) ModTime() time.Time
ModTime returns the modification time of the DriveItemRaw.
It parses the ModifiedAt field of the ItemInfo struct and converts it to a time.Time value. If the parsing fails, it returns the zero value of time.Time. The returned time.Time value represents the modification time of the DriveItemRaw.
func (*DriveItemRaw) SplitName ¶
func (d *DriveItemRaw) SplitName() (string, string)
SplitName splits the name of a DriveItemRaw into its name and extension.
It returns the name and extension as separate strings. If the name ends with a dot, it means there is no extension, so an empty string is returned for the extension. If the name does not contain a dot, it means
type DriveItemRawInfo ¶
type DriveItemRawInfo struct {
Name string `json:"name"`
// Extension is absolutely borked on endpoints so dont use it.
Extension string `json:"extension"`
Size int64 `json:"size,string"`
Type string `json:"type"`
Version string `json:"version"`
ModifiedAt string `json:"modified_at"`
CreatedAt string `json:"created_at"`
Urls struct {
URLDownload string `json:"url_download"`
} `json:"urls"`
}
DriveItemRawInfo is the raw information about a drive item.
type DriveService ¶
type DriveService struct {
RootID string
// contains filtered or unexported fields
}
DriveService represents an iCloud Drive service.
func NewDriveService ¶
func NewDriveService(icloud *Client) (*DriveService, error)
NewDriveService creates a new DriveService instance.
func (*DriveService) CopyDocByItemID ¶
func (d *DriveService) CopyDocByItemID(ctx context.Context, itemID string) (*DriveItemRaw, *http.Response, error)
CopyDocByItemID copies a document by its item ID.
func (*DriveService) CreateNewFolderByDriveID ¶
func (d *DriveService) CreateNewFolderByDriveID(ctx context.Context, drivewsid, name string) (*DriveItem, *http.Response, error)
CreateNewFolderByDriveID creates a new folder by its Drive ID.
func (*DriveService) CreateNewFolderByItemID ¶
func (d *DriveService) CreateNewFolderByItemID(ctx context.Context, id, name string) (*DriveItem, *http.Response, error)
CreateNewFolderByItemID creates a new folder by item ID.
func (*DriveService) CreateUpload ¶
func (d *DriveService) CreateUpload(ctx context.Context, size int64, name string) (*UploadResponse, *http.Response, error)
CreateUpload creates an url for an upload.
func (*DriveService) DownloadFile ¶
func (d *DriveService) DownloadFile(ctx context.Context, url string, opt []fs.OpenOption) (*http.Response, error)
DownloadFile downloads a file from the given URL using the provided options.
func (*DriveService) GetDocByItemID ¶
func (d *DriveService) GetDocByItemID(ctx context.Context, id string) (*Document, *http.Response, error)
GetDocByItemID retrieves a document by its item ID.
func (*DriveService) GetDocByPath ¶
func (d *DriveService) GetDocByPath(ctx context.Context, path string) (*Document, *http.Response, error)
GetDocByPath retrieves a document by its path.
func (*DriveService) GetDownloadURLByDriveID ¶
func (d *DriveService) GetDownloadURLByDriveID(ctx context.Context, id string) (string, *http.Response, error)
GetDownloadURLByDriveID retrieves the download URL for a file in the DriveService.
func (*DriveService) GetItemByDriveID ¶
func (d *DriveService) GetItemByDriveID(ctx context.Context, id string, includeChildren bool) (*DriveItem, *http.Response, error)
GetItemByDriveID retrieves a DriveItem by its Drive ID.
func (*DriveService) GetItemByPath ¶
func (d *DriveService) GetItemByPath(ctx context.Context, path string) (*DriveItem, *http.Response, error)
GetItemByPath retrieves a DriveItem by its path.
func (*DriveService) GetItemRawByItemID ¶
func (d *DriveService) GetItemRawByItemID(ctx context.Context, id string) (*DriveItemRaw, *http.Response, error)
GetItemRawByItemID retrieves a DriveItemRaw by its item ID.
func (*DriveService) GetItemsByDriveID ¶
func (d *DriveService) GetItemsByDriveID(ctx context.Context, ids []string, includeChildren bool) ([]*DriveItem, *http.Response, error)
GetItemsByDriveID retrieves DriveItems by their Drive IDs.
func (*DriveService) GetItemsInFolder ¶
func (d *DriveService) GetItemsInFolder(ctx context.Context, id string, limit int64) ([]*DriveItemRaw, *http.Response, error)
GetItemsInFolder retrieves a list of DriveItemRaw objects in a folder with the given ID.
func (*DriveService) MoveItemByDriveID ¶
func (d *DriveService) MoveItemByDriveID(ctx context.Context, id, etag, dstID string, force bool) (*DriveItem, *http.Response, error)
MoveItemByDriveID moves an item by its drive ID.
func (*DriveService) MoveItemByItemID ¶
func (d *DriveService) MoveItemByItemID(ctx context.Context, id, etag, dstID string, force bool) (*DriveItem, *http.Response, error)
MoveItemByItemID moves an item by its item ID to a destination item ID.
func (*DriveService) MoveItemToTrashByID ¶
func (d *DriveService) MoveItemToTrashByID(ctx context.Context, drivewsid, etag string, force bool) (*DriveItem, *http.Response, error)
MoveItemToTrashByID moves an item to the trash based on the item ID.
func (*DriveService) MoveItemToTrashByItemID ¶
func (d *DriveService) MoveItemToTrashByItemID(ctx context.Context, id, etag string, force bool) (*DriveItem, *http.Response, error)
MoveItemToTrashByItemID moves an item to the trash based on the item ID.
func (*DriveService) RenameItemByDriveID ¶
func (d *DriveService) RenameItemByDriveID(ctx context.Context, id, etag, name string, force bool) (*DriveItem, *http.Response, error)
RenameItemByDriveID renames a DriveItem by its drive ID.
func (*DriveService) RenameItemByItemID ¶
func (d *DriveService) RenameItemByItemID(ctx context.Context, id, etag, name string, force bool) (*DriveItem, *http.Response, error)
RenameItemByItemID renames a DriveItem by its item ID.
func (*DriveService) UpdateFile ¶
func (d *DriveService) UpdateFile(ctx context.Context, r *UpdateFileInfo) (*DriveItem, *http.Response, error)
UpdateFile updates a file in the DriveService.
ctx: the context.Context object for the request. r: a pointer to the UpdateFileInfo struct containing the information for the file update. Returns a pointer to the DriveItem struct representing the updated file, the http.Response object, and an error if any.
type FileFlags ¶
type FileFlags struct {
IsExecutable bool `json:"is_executable"`
IsHidden bool `json:"is_hidden"`
IsWritable bool `json:"is_writable"`
}
FileFlags defines the file flags for a document.
type FileRequest ¶
type FileRequest struct {
DocumentID string `json:"document_id"`
ItemID string `json:"item_id"`
OwnerDsid int64 `json:"owner_dsid"`
DataToken *FileRequestToken `json:"data_token,omitempty"`
PackageToken *FileRequestToken `json:"package_token,omitempty"`
DoubleEtag string `json:"double_etag"`
}
FileRequest represents the request of a file.
type FileRequestToken ¶
type FileRequestToken struct {
URL string `json:"url"`
Token string `json:"token"`
Signature string `json:"signature"`
WrappingKey string `json:"wrapping_key"`
ReferenceSignature string `json:"reference_signature"`
}
FileRequestToken represents the token of a file request.
type Filter ¶
type Filter struct {
FieldName string `json:"fieldName"`
Comparator string `json:"comparator"`
FieldValue interface{} `json:"fieldValue"`
}
Filter represents a CloudKit query filter
type Library ¶
type Library struct {
// contains filtered or unexported fields
}
Library represents a photo library in a specific zone
func (*Library) GetAlbumCount ¶
GetAlbumCount returns the number of albums in this library
type Photo ¶
type Photo struct {
ID string
Filename string
Size int64
AssetDate int64 // Unix timestamp in milliseconds
AddedDate int64
Width int
Height int
IsVideo bool
DownloadURL string
}
Photo represents a photo or video with its metadata
type PhotosService ¶
type PhotosService struct {
// contains filtered or unexported fields
}
PhotosService manages iCloud Photos API interactions
func NewPhotosService ¶
func NewPhotosService(client *Client) (*PhotosService, error)
NewPhotosService creates a new PhotosService instance
func (*PhotosService) GetLibraries ¶
GetLibraries returns all available photo libraries
type RequestError ¶
RequestError holds info on a result state, icloud can return a 200 but the result is unknown
func (*RequestError) Error ¶
func (e *RequestError) Error() string
Error satisfy the error interface.
type Session ¶
type Session struct {
SessionToken string `json:"session_token"`
Scnt string `json:"scnt"`
SessionID string `json:"session_id"`
AccountCountry string `json:"account_country"`
TrustToken string `json:"trust_token"`
ClientID string `json:"client_id"`
Cookies []*http.Cookie `json:"cookies"`
AccountInfo AccountInfo `json:"account_info"`
// contains filtered or unexported fields
}
Session represents an iCloud session
func NewSession ¶
func NewSession() *Session
NewSession creates a new Session instance with default values.
func (*Session) AuthWithToken ¶
AuthWithToken authenticates the session
func (*Session) GetAuthHeaders ¶
GetAuthHeaders returns the authentication headers for the session.
It takes an `overwrite` map[string]string parameter which allows overwriting the default headers. It returns a map[string]string.
func (*Session) GetCookieString ¶
GetCookieString returns the cookie header string for the session.
func (*Session) GetHeaders ¶
GetHeaders Gets the authentication headers required for a request
func (*Session) Request ¶
func (s *Session) Request(ctx context.Context, opts rest.Opts, request any, response any) (*http.Response, error)
Request makes a request
func (*Session) Requires2FA ¶
Requires2FA returns true if the session requires 2FA
func (*Session) TrustSession ¶
TrustSession trusts the session
func (*Session) Validate2FACode ¶
Validate2FACode validates the 2FA code
type SingleFileInfo ¶
type SingleFileInfo struct {
ReferenceSignature string `json:"referenceChecksum"`
Size int64 `json:"size"`
Signature string `json:"fileChecksum"`
WrappingKey string `json:"wrappingKey"`
Receipt string `json:"receipt"`
}
SingleFileInfo represents the information of a single file.
type SingleFileResponse ¶
type SingleFileResponse struct {
SingleFile *SingleFileInfo `json:"singleFile"`
}
SingleFileResponse is the response of a single file request.
type UpdateFileInfo ¶
type UpdateFileInfo struct {
AllowConflict bool `json:"allow_conflict"`
Btime int64 `json:"btime"`
Command string `json:"command"`
CreateShortGUID bool `json:"create_short_guid"`
Data struct {
Receipt string `json:"receipt,omitempty"`
ReferenceSignature string `json:"reference_signature,omitempty"`
Signature string `json:"signature,omitempty"`
Size int64 `json:"size,omitempty"`
WrappingKey string `json:"wrapping_key,omitempty"`
} `json:"data,omitempty"`
DocumentID string `json:"document_id"`
FileFlags FileFlags `json:"file_flags"`
Mtime int64 `json:"mtime"`
Path struct {
Path string `json:"path"`
StartingDocumentID string `json:"starting_document_id"`
} `json:"path"`
}
UpdateFileInfo represents the information for an update to a file in the DriveService.
func NewUpdateFileInfo ¶
func NewUpdateFileInfo() UpdateFileInfo
NewUpdateFileInfo creates a new UpdateFileInfo object with default values.
Returns an UpdateFileInfo object.
type UploadResponse ¶
UploadResponse is the response of an upload request.
type ValidateDataApp ¶
type ValidateDataApp struct {
CanLaunchWithOneFactor bool `json:"canLaunchWithOneFactor"`
IsQualifiedForBeta bool `json:"isQualifiedForBeta"`
}
ValidateDataApp represents an app
type ValidateDataDsInfo ¶
type ValidateDataDsInfo struct {
HsaVersion int `json:"hsaVersion"`
LastName string `json:"lastName"`
ICDPEnabled bool `json:"iCDPEnabled"`
TantorMigrated bool `json:"tantorMigrated"`
Dsid string `json:"dsid"`
HsaEnabled bool `json:"hsaEnabled"`
IsHideMyEmailSubscriptionActive bool `json:"isHideMyEmailSubscriptionActive"`
IroncadeMigrated bool `json:"ironcadeMigrated"`
Locale string `json:"locale"`
BrZoneConsolidated bool `json:"brZoneConsolidated"`
ICDRSCapableDeviceList string `json:"ICDRSCapableDeviceList"`
IsManagedAppleID bool `json:"isManagedAppleID"`
IsCustomDomainsFeatureAvailable bool `json:"isCustomDomainsFeatureAvailable"`
IsHideMyEmailFeatureAvailable bool `json:"isHideMyEmailFeatureAvailable"`
ContinueOnDeviceEligibleDeviceInfo []string `json:"ContinueOnDeviceEligibleDeviceInfo"`
Gilligvited bool `json:"gilligvited"`
AppleIDAliases []any `json:"appleIdAliases"`
UbiquityEOLEnabled bool `json:"ubiquityEOLEnabled"`
IsPaidDeveloper bool `json:"isPaidDeveloper"`
CountryCode string `json:"countryCode"`
NotificationID string `json:"notificationId"`
PrimaryEmailVerified bool `json:"primaryEmailVerified"`
ADsID string `json:"aDsID"`
Locked bool `json:"locked"`
ICDRSCapableDeviceCount int `json:"ICDRSCapableDeviceCount"`
HasICloudQualifyingDevice bool `json:"hasICloudQualifyingDevice"`
PrimaryEmail string `json:"primaryEmail"`
AppleIDEntries []struct {
IsPrimary bool `json:"isPrimary"`
Type string `json:"type"`
Value string `json:"value"`
} `json:"appleIdEntries"`
GilliganEnabled bool `json:"gilligan-enabled"`
IsWebAccessAllowed bool `json:"isWebAccessAllowed"`
FullName string `json:"fullName"`
MailFlags struct {
IsThreadingAvailable bool `json:"isThreadingAvailable"`
IsSearchV2Provisioned bool `json:"isSearchV2Provisioned"`
SCKMail bool `json:"sCKMail"`
IsMppSupportedInCurrentCountry bool `json:"isMppSupportedInCurrentCountry"`
} `json:"mailFlags"`
LanguageCode string `json:"languageCode"`
AppleID string `json:"appleId"`
HasUnreleasedOS bool `json:"hasUnreleasedOS"`
AnalyticsOptInStatus bool `json:"analyticsOptInStatus"`
FirstName string `json:"firstName"`
ICloudAppleIDAlias string `json:"iCloudAppleIdAlias"`
NotesMigrated bool `json:"notesMigrated"`
BeneficiaryInfo struct {
IsBeneficiary bool `json:"isBeneficiary"`
} `json:"beneficiaryInfo"`
HasPaymentInfo bool `json:"hasPaymentInfo"`
PcsDelet bool `json:"pcsDelet"`
AppleIDAlias string `json:"appleIdAlias"`
BrMigrated bool `json:"brMigrated"`
StatusCode int `json:"statusCode"`
FamilyEligible bool `json:"familyEligible"`
}
ValidateDataDsInfo represents an validation info