Open ghost opened 1 year ago
Same thing here - but an additional point with the current source and reminders:
Calling the api.reminders as is would result in:
pyicloud.exceptions.PyiCloudAPIResponseException: Authentication required for Account. (421)
Specifically, as identified in #330 , the 'dsid' parameter needs to be added when the reminders api call is made:
def refresh(self):
"""Refresh data."""
params_reminders = dict(self._params)
params_reminders.update(
{"clientVersion": "4.0",
"lang": "en-us",
"usertz": get_localzone_name(),
"dsid": self.session.service.data["dsInfo"]["dsid"]
<---- This key/value
})
^-- Adding the 'dsid' key and associated object to the 'params_reminders.update' dictionary got around the auth error (in services/reminders.py
)
So now that the reminders call is working, the returned value when calling 'api.reminders.lists' is as follows:
{'Somelistname': [{'title': 'The creator of this list has upgraded these reminders.', 'desc': 'Learn more here: https://support.apple.com/HT210220', 'due': None},
.... for each individual list.
This follows what we knew when Apple updated Reminders a few years back. So more-or-less, the above patch to services/reminders.py
is required to get the API call to function, but the returned data no longer works for anyone who was upgraded their Reminders app(s) in the last 2 years.
FWIW - calling api.reminders.collections
does seem to return the appropriate list structure and accompanying GUID.
The problem
Calling
api.reminders.post()
returns a 404 errorEnvironment
pip show pyicloud
):1.0.0
RemindersService
python -V
):Python 3.7.3
Linux
Traceback/Error logs
Additional information
When I do the
refresh
method and look at the data retrieved from the endpoint/rd/startup
I get: {'Collections': [...], 'Reminders': [ ... 'startDateIsAllDay': True, 'title': 'Where are my reminders?'}, { ... 'startDateIsAllDay': True, 'title': 'The creator of this list has upgraded these ' 'reminders.'}]}