petio-team / petio

Petio Request, Discover, Review
https://petio.tv
MIT License
251 stars 28 forks source link

FR: Link to Netflix #406

Open Dulanic opened 3 years ago

Dulanic commented 3 years ago

Is your feature request related to a problem? Please describe. No

Describe the solution you'd like I'd like to have a quick link to netflix within petio. As a netflix user, I don't want to request these items, but I may want to quickly add new items to my list within netflix. This would assist in doing so.

EX: https://www.netflix.com/title/80244953

Describe alternatives you've considered Doing it manually. Or click tbmb and then going to the links via that to netflix.

Update: To clarify, I am referring to Netflix productions specifically. As a netflix subscriber, I am looking to easily click over to netflix to add to My List since I have Netflix.

angrycuban13 commented 3 years ago

As far as I know there is no public Netflix API for this to be possible

Dulanic commented 3 years ago

Don't need a API per say. But TMDB also has the link, so there has to be a way to get it that way?

https://streamable.com/lhl6az

roundaboutluke commented 3 years ago

It uses the JustWatch API which isn't public. There is a third party one available but obviously this could break at any point. https://github.com/dawoudt/JustWatchAPI

Dulanic commented 3 years ago

The page it should link to is available in the TMDB API at homepage. EX: https://api.themoviedb.org/3/movie/501929

It is on line 28.

"homepage": "https://www.netflix.com/title/81399614",

{
    "adult": false,
    "backdrop_path": "/egxe0rPverBETHzV6COXFGL4edC.jpg",
    "belongs_to_collection": null,
    "budget": 0,
    "genres": [
        {
            "id": 16,
            "name": "Animation"
        },
        {
            "id": 12,
            "name": "Adventure"
        },
        {
            "id": 35,
            "name": "Comedy"
        },
        {
            "id": 10751,
            "name": "Family"
        },
        {
            "id": 878,
            "name": "Science Fiction"
        }
    ],
    "homepage": "https://www.netflix.com/title/81399614",
    "id": 501929,
    "imdb_id": "tt7979580",
    "original_language": "en",
    "original_title": "The Mitchells vs. The Machines",
    "overview": "A quirky, dysfunctional family's road trip is upended when they find themselves in the middle of the robot apocalypse and suddenly become humanity's unlikeliest last hope.",
    "popularity": 270.001,
    "poster_path": "/mI2Di7HmskQQ34kz0iau6J1vr70.jpg",
    "production_companies": [
        {
            "id": 77973,
            "logo_path": null,
            "name": "Lord Miller Productions",
            "origin_country": "US"
        },
        {
            "id": 5,
            "logo_path": "/71BqEFAF4V3qjjMPCpLuyJFB9A.png",
            "name": "Columbia Pictures",
            "origin_country": "US"
        },
        {
            "id": 2251,
            "logo_path": "/6l16UFSkZ1oPpyBYaILgffFZlTc.png",
            "name": "Sony Pictures Animation",
            "origin_country": "US"
        }
    ],
    "production_countries": [
        {
            "iso_3166_1": "US",
            "name": "United States of America"
        }
    ],
    "release_date": "2021-04-22",
    "revenue": 0,
    "runtime": 114,
    "spoken_languages": [
        {
            "english_name": "English",
            "iso_639_1": "en",
            "name": "English"
        }
    ],
    "status": "Released",
    "tagline": "Saving the world can be a trip.",
    "title": "The Mitchells vs. The Machines",
    "video": false,
    "vote_average": 8.1,
    "vote_count": 491
}

I don't know js, but this is data via python:

import requests
import json

r = requests.get('https://api.themoviedb.org/3/movie/501929?api_key=*redacted*')
data = json.loads(r.text)

print(data['homepage'])

https://www.netflix.com/title/81399614

angrycuban13 commented 3 years ago

This won't really be a priority as we are focusing on the Plex ecosystem at the moment but we'll leave it open for the time being.

Dulanic commented 3 years ago

@angrycuban13 Totally get it, just a easy add down the road since Im sure you already pull in the tmdb data.

AshDyson commented 3 years ago

The page it should link to is available in the TMDB API at homepage. EX: https://api.themoviedb.org/3/movie/501929

It is on line 28.

"homepage": "https://www.netflix.com/title/81399614",

{
    "adult": false,
    "backdrop_path": "/egxe0rPverBETHzV6COXFGL4edC.jpg",
    "belongs_to_collection": null,
    "budget": 0,
    "genres": [
        {
            "id": 16,
            "name": "Animation"
        },
        {
            "id": 12,
            "name": "Adventure"
        },
        {
            "id": 35,
            "name": "Comedy"
        },
        {
            "id": 10751,
            "name": "Family"
        },
        {
            "id": 878,
            "name": "Science Fiction"
        }
    ],
    "homepage": "https://www.netflix.com/title/81399614",
    "id": 501929,
    "imdb_id": "tt7979580",
    "original_language": "en",
    "original_title": "The Mitchells vs. The Machines",
    "overview": "A quirky, dysfunctional family's road trip is upended when they find themselves in the middle of the robot apocalypse and suddenly become humanity's unlikeliest last hope.",
    "popularity": 270.001,
    "poster_path": "/mI2Di7HmskQQ34kz0iau6J1vr70.jpg",
    "production_companies": [
        {
            "id": 77973,
            "logo_path": null,
            "name": "Lord Miller Productions",
            "origin_country": "US"
        },
        {
            "id": 5,
            "logo_path": "/71BqEFAF4V3qjjMPCpLuyJFB9A.png",
            "name": "Columbia Pictures",
            "origin_country": "US"
        },
        {
            "id": 2251,
            "logo_path": "/6l16UFSkZ1oPpyBYaILgffFZlTc.png",
            "name": "Sony Pictures Animation",
            "origin_country": "US"
        }
    ],
    "production_countries": [
        {
            "iso_3166_1": "US",
            "name": "United States of America"
        }
    ],
    "release_date": "2021-04-22",
    "revenue": 0,
    "runtime": 114,
    "spoken_languages": [
        {
            "english_name": "English",
            "iso_639_1": "en",
            "name": "English"
        }
    ],
    "status": "Released",
    "tagline": "Saving the world can be a trip.",
    "title": "The Mitchells vs. The Machines",
    "video": false,
    "vote_average": 8.1,
    "vote_count": 491
}

I don't know js, but this is data via python:

import requests
import json

r = requests.get('https://api.themoviedb.org/3/movie/501929?api_key=*redacted*')
data = json.loads(r.text)

print(data['homepage'])

https://www.netflix.com/title/81399614

FYI this is a link to the website of the movie not necessarily always Netflix, eg other movies might be mymoviename.com we would need to query the justwatch section of tmdb API which is more complex so will be considered later down the road

Dulanic commented 3 years ago

@AshDyson Totally get it, I should clarify, I am referring to when it IS a Netflix production. I will edit my request. This goal is when it is Netflix, I don't want to add it via petio as I have Netflix, but to just click to Netflix to add to my list.