diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 5077549..8101d9e 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -979,7 +979,7 @@ async def _gsa_request(self, parameters: dict[str, Any]) -> dict[str, Any]: "Content-Type": "text/x-xml-plist", "Accept": "*/*", "User-Agent": "akd/1.0 CFNetwork/978.0.7 Darwin/18.7.0", - "X-MMe-Client-Info": self._anisette.client, + "X-MMe-Client-Info": self._anisette.client_akd, } resp = await self._http.post( diff --git a/findmy/reports/anisette.py b/findmy/reports/anisette.py index 1c5e3e5..30d5ab1 100644 --- a/findmy/reports/anisette.py +++ b/findmy/reports/anisette.py @@ -125,6 +125,17 @@ def client(self) -> str: "" ) + @property + def client_akd(self) -> str: + """ + Client string identifying as ``akd``, the daemon that performs Grand Slam requests. + + Same format and platform as :attr:`client`, differing only in the app bundle. + Apple's GSA endpoint refuses requests that identify as Xcode with an HTTP 503, + so this is the string to send alongside an ``akd`` user agent. + """ + return " " + async def get_headers( self, user_id: str,