hobbyquaker / lgtv2

Control LG WebOS TV using node.js :tv:
MIT License
332 stars 45 forks source link

Any luck launching netflix with contentId? #25

Open ciberado opened 5 years ago

ciberado commented 5 years ago

I'm triying to use Netflix with contentId (so I can directly watch a show) but with no luck at the present time. Has anyone been able to do it? I'm using ConnectSDK as doc of the API call.

vietvudanh commented 5 years ago

I am trying to open browser with contentId (which is url). I can with pylgtv

But I cannot open it fullscreen so I came here: #17

vietvudanh commented 5 years ago

Ah, actually my bad, there are two enpoints to launch app.

First I used com.webos.applicationManager/launch, the app open but contentId not recognize, later I use system.launcher/launch, with payload like this and it's ok:

lgtv.request('ssap://system.launcher/launch', {
            'id': BROWSER,
            'contentId': URL
        }, function (err, res) {
            if (err) {
                reject("cannot get app");
            } else {
                resolve(res);
            }
        });

also need to wait for a bit for the client to connect, so using setTimeout for like 1s is enough.

poroping commented 5 years ago

I'm triying to use Netflix with contentId (so I can directly watch a show) but with no luck at the present time. Has anyone been able to do it? I'm using ConnectSDK as doc of the API call.

Hey not sure if you figured it out but I've found that you can do this using the ssap://system.launcher/launch endpoint. A working payload is: { "id": "netflix", "contentId": "m=http://api.netflix.com/catalog/titles/movies/80145130&source_type=4" } Where the 80145130 is the content ID. Which seems to correlate to https://www.netflix.com/watch/80157974?trac.... portion of the URL when watching in the browser.

Doesn't appear to be any easy way or a public facing API where we can look up titles to IDs though which is a shame as that's all that's required now for me to yell at my TV. If you find a way to do this please let me know.

Shout out to this guy where I stumbled across a working example

konzulta commented 3 years ago

Hiya! Sorry to revive this one, but this is now possible with the following code. The important bit is to close the app and reopen, as at the moment I have not been able to just issue the URL to Netflix directly without relaunching it.

No need to search for APIs on the URl scheme above, all you need is to add the url as follows:

lgtv.request('ssap://system.launcher/close', { "id": "netflix"}); lgtv.request('ssap://system.launcher/launch', { "id": "netflix", "contentId": "m=https://www.netflix.com/watch/80189685" }); lgtv.disconnect();

Tested on an OLEDB9 with software version 4.8

As you can see the standard URL for watch works great, but the title url also works (it shows the title and the starts autoplay if you have it set up in your Netflix profile settings.

Example https://www.netflix.com/title/80002472

Hope this helps someone!

MDoreto commented 3 years ago

How can i do it for prime Video and disney+? just put the link of movie dont work