MattTW / BlinkMonitorProtocol

Unofficial documentation for the Blink Wire-Free HD Home Monitoring & Alert System
443 stars 82 forks source link

An app update is required? #27

Closed HughAndersonNUS closed 5 years ago

HughAndersonNUS commented 5 years ago

Hi, Today I tried out a script that has worked for a long time, and it now gives me an error: curl -L -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: $AUTH" --compressed https://prod.immedia-semi.com/api/v2/videos/page/0 Now this returns: {"message":"An app update is required"} Is there some way around this? Regards Hugh

HughAndersonNUS commented 5 years ago

Issue 20 gives an alternative way of accessing lists of videos, but it includes other videos that I had assumed had been deleted. I notice that the /api/v2/video/$line/delete also no longer works... It also gives "an app update is required"... Cheers Hugh

HughAndersonNUS commented 5 years ago

Alexei Potashnik suggested this:

I wonder if simply changing "client_specifier" : "iPhone 9.2 | 2.2 | 222" to a newer string would work?

It does not seem to, as far as I can see. I am logging in and getting authentication codes OK, but some of the older api/v2 commands no longer seem to work. I cannot "delete", and I cannot get any of the lists of videos page/0. page/1 and so on.

Cheers Hugh

fronzbot commented 5 years ago

Yeah it looks like the api/v2 endpoint is no longer active. This isn't the first time blink has changed their video endpoint.

alexeip0 commented 5 years ago

Thank you @HughAndersonNUS,

your suggestion to use Issue 20 solution (/changed?... API) with region-based urls worked me.

HughAndersonNUS commented 5 years ago

Hi Alexei, Yes - it can be used to retrieve videos, but I still have not found a way to delete videos after they have been downloaded. I tried to use the Android "Packet Capture" app to find out the new endpoints, but it does not seem to work any more - the app does not trust the certificate I guess. Cheers Hugh

HughAndersonNUS commented 5 years ago

OK - I have been experimenting with Charles, and it appears as if you can delete videos using api/v3:

:method: POST
:path: /api/v3/videos/delete
:authority: rest-prod.immedia-semi.com
:scheme: https
app-build: ANDROID_310200
locale: en_US
user-agent: 3.3.20ANDROID_310200
token_auth: xxxxxxxxxxxxxxxxxxxxd
content-type: application/json; charset=UTF-8
content-length: 38
accept-encoding: gzip
{"video_list":[1097xxxxxx,1097xxxxxx]}

Hope this helps others. From curl, I use a command like this:

curl -L -H Host: prod.immedia-semi.com -H TOKEN_AUTH: yyyyyyyyyyyyy --header Content-Type: application/json; charset=UTF-8 --request POST --data {"video_list":[10973xxxx]} https://prod.immedia-semi.com/api/v3/videos/delete

Cheers Hugh