Documentation
¶
Index ¶
Constants ¶
const ( BundleIDWord = "com.microsoft.Word" BundleIDExcel = "com.microsoft.Excel" BundleIDPowerPoint = "com.microsoft.Powerpoint" BundleIDOutlook = "com.microsoft.Outlook" BundleIDOneNote = "com.microsoft.onenote.mac" BundleIDOneDrive = "com.microsoft.OneDrive" BundleIDTeams = "com.microsoft.teams2" BundleIDDefender = "com.microsoft.wdav" BundleIDEdge = "com.microsoft.edgemac" BundleIDCopilot = "com.microsoft.m365copilot" BundleIDCompanyPortal = "com.microsoft.CompanyPortalMac" BundleIDRemoteDesktop = "com.microsoft.rdc.macos" BundleIDAutoUpdate = "com.microsoft.autoupdate2" BundleIDIntuneAgent = "com.microsoft.intuneMDMAgent" )
macOS App Store bundle ID constants for Microsoft applications.
Variables ¶
var AppSearchTerms = []string{
"Microsoft Word",
"Microsoft Excel",
"Microsoft PowerPoint",
"Microsoft Outlook",
"Microsoft OneNote",
"Microsoft OneDrive",
"Microsoft Teams",
"Microsoft Defender",
"Microsoft Edge",
"Microsoft Copilot",
"Azure VPN Client",
"Microsoft Intune Company Portal",
"Microsoft Remote Desktop",
}
macOS App Store search terms for Microsoft applications. These are the search strings passed to the iTunes Search API.
Functions ¶
This section is empty.
Types ¶
type AppEntry ¶
type AppEntry struct {
// TrackID is the numeric App Store identifier.
TrackID int `json:"trackId"`
// TrackName is the application's display name in the App Store.
TrackName string `json:"trackName"`
// BundleID is the macOS bundle identifier (e.g. "com.microsoft.Word").
BundleID string `json:"bundleId"`
// Version is the current App Store version string (e.g. "16.108.0").
Version string `json:"version"`
// CurrentVersionReleaseDate is the ISO 8601 release date of the current version.
CurrentVersionReleaseDate string `json:"currentVersionReleaseDate"`
// MinimumOsVersion is the minimum macOS version required.
MinimumOsVersion string `json:"minimumOsVersion"`
// ReleaseNotes contains the release notes for the current version.
ReleaseNotes string `json:"releaseNotes"`
// ArtworkUrl512 is the URL of the 512×512 app icon.
ArtworkUrl512 string `json:"artworkUrl512"`
// TrackViewURL is the App Store URL for this application.
TrackViewURL string `json:"trackViewUrl"`
// Price is the App Store price (0.0 for free apps).
Price float64 `json:"price"`
// SellerName is the developer name as shown in the App Store.
SellerName string `json:"sellerName"`
}
AppEntry represents a single macOS application in the App Store.
type AppStoreMacOSService ¶
type AppStoreMacOSService struct {
// contains filtered or unexported fields
}
AppStoreMacOSService fetches Microsoft application metadata from the macOS App Store via the Apple iTunes Search API.
Each application is queried individually using its search term. Results include version, release date, minimum OS, release notes, and App Store URL.
func NewService ¶
func NewService(c client.Client) *AppStoreMacOSService
NewService creates a new AppStoreMacOSService.
func (*AppStoreMacOSService) GetAllAppsV1 ¶
func (s *AppStoreMacOSService) GetAllAppsV1(ctx context.Context) (*AppStoreResponse, error)
GetAllAppsV1 queries the iTunes Search API for all known Microsoft macOS App Store applications and returns the combined results.
GET https://itunes.apple.com/search?term={app}&country=us&entity=macSoftware
func (*AppStoreMacOSService) GetAppByBundleIDV1 ¶
func (s *AppStoreMacOSService) GetAppByBundleIDV1(ctx context.Context, bundleID string) (*AppEntry, error)
GetAppByBundleIDV1 fetches macOS App Store metadata for the application with the given bundle identifier (e.g. "com.microsoft.Word").
GET https://itunes.apple.com/search?term={bundleId}&country=us&entity=macSoftware
func (*AppStoreMacOSService) GetAppByNameV1 ¶
GetAppByNameV1 queries the iTunes Search API for a single Microsoft macOS app by its display name (e.g. "Microsoft Word").
GET https://itunes.apple.com/search?term={name}&country=us&entity=macSoftware
type AppStoreResponse ¶
type AppStoreResponse struct {
// ResultCount is the number of results returned by the iTunes API.
ResultCount int `json:"resultCount"`
// Results contains the individual app entries.
Results []AppEntry `json:"results"`
}
AppStoreResponse holds the search results from the iTunes Search API for macOS Microsoft applications.