tchellomello / python-arlo

Python Arlo is a library written in Python 2.7/3x that exposes the Netgear Arlo cameras as Python objects.
GNU Lesser General Public License v3.0
100 stars 35 forks source link

Streaming API Changed #100

Closed lukiffer closed 5 years ago

lukiffer commented 6 years ago

It looks like all requests to the streaming API (including the initial notify call) are returning a permissions error:

{'data': {'error': '2016', 'message': "We are sorry, but you don't have permission to perform this action.", 'reason': 'No Such Permissions'}, 'success': False}

I'll continue looking into the underlying cause and post any updates here.

lukiffer commented 6 years ago

So after some (very) cursory investigation, it appears that nothing has changed about their API signatures, only that their server-side model validation has gotten pickier about stray properties.

In https://github.com/tchellomello/python-arlo/blob/master/pyarlo/__init__.py#L119 we're simply appending params, but anything that's already on self.__params is preserved. And on https://github.com/tchellomello/python-arlo/blob/master/pyarlo/__init__.py#L86-L87 we're always including username and password fields on the request body.

If we omit these from the body, the request works as expected. I've made this change locally in my homeassistant instance and everything appears to be back to normal. I'll push up to a branch so we can get wider testing.

tchellomello commented 5 years ago

Fixed by #101