Live data from Hacker News

Youtube.js – full-featured wrapper around YouTube's private API

github.com

21–30 of 113 posts

Re: Youtube.js – full-featured wrapper around YouTube's private API

#21
I've been wanting to use the Youtube Music API to automate some personal chores (like building/cleaning playlists, etc) and was very discouraged. I actually switched to Spotify (trial) partially over it but there were a couple of other (off-topic) reasons I didn't want to stay with Spotify.

This looks like a wonderful tool! And it's not in Python :-D (sorry python people). Like others I'm a little concerned about breakage as youtube APIs churn. Does anyone know what Youtube's approach to backwards compatibility is for internal APIs? Some companies just wait until 98% of user's are on the new clients and then rip stuff out, but others I've worked with basically don't allow breaking the API except in important circumstances and they stick around deprecated for a while.

Re: Youtube.js – full-featured wrapper around YouTube's private API

#22

I've been wanting to use the Youtube Music API to automate some personal chores (like building/cleaning playlists, etc) and was very discouraged. I actually switched to Spotify (trial) partially over it but there were a couple of other (off-topic) reasons I didn't want to stay with Spotify. This looks like a wonderful tool! And it's not in Python :-D (sorry python people). Like others I'm a little concerned about bre…

+1 Social Credit Points for posting "SPOTIFY BAD" in a public forum

/s

Re: Youtube.js – full-featured wrapper around YouTube's private API

#23

I've been wanting to use the Youtube Music API to automate some personal chores (like building/cleaning playlists, etc) and was very discouraged. I actually switched to Spotify (trial) partially over it but there were a couple of other (off-topic) reasons I didn't want to stay with Spotify. This looks like a wonderful tool! And it's not in Python :-D (sorry python people). Like others I'm a little concerned about bre…

[deleted]

Re: Youtube.js – full-featured wrapper around YouTube's private API

#24

If you’re YouTube or any site, and want to stop these sort of wrappers - what’s the easiest way to do so without breaking your own site? I find this task to be an interesting engineering problem. A related question is if there’s an unspoofable way to detect a client.

Keep changing the implementation, keep changing names, keep changing the API formats. I'm definitely curious if there's a way to do a rotation that resists easy automatic code analysis.

Facebook does something similar to combat adblockers. They mangle the names of div elements to make sponsored posts indistinguishable from friends/group posts. I'm not aware of any browser plugins which are effective at blocking FB ads.

Anyone know if other websites put as much effort into anti-adblock engineering?

Re: Youtube.js – full-featured wrapper around YouTube's private API

#25
post #14

Cool project but I wonder if the name will catch flak from the lawyers. Trademarks and all that. At they very least a big "This is not affiliated with Google/Youtube" seems like a wise precaution.

they have a disclaimer below

https://github.com/LuanRT/YouTube.js#disclaimer

edit: why am i getting downvoted?

Re: Youtube.js – full-featured wrapper around YouTube's private API

#26

If you’re YouTube or any site, and want to stop these sort of wrappers - what’s the easiest way to do so without breaking your own site? I find this task to be an interesting engineering problem. A related question is if there’s an unspoofable way to detect a client.

So a form of DRM on the APIs themselves? It wouldn't be easy. How would you determine if the request is originating from an official YT developed app (iOS, Android, ...) or client (YouTube.com); or a non-approved client?

I suppose you can have a system which works like TOTP except for machine-to-machine. Although it would probably be broken since anything on the client side can be disassembled. The UX would likely suffer as a result as well.

Re: Youtube.js – full-featured wrapper around YouTube's private API

#27

If you’re YouTube or any site, and want to stop these sort of wrappers - what’s the easiest way to do so without breaking your own site? I find this task to be an interesting engineering problem. A related question is if there’s an unspoofable way to detect a client.

[deleted]

Re: Youtube.js – full-featured wrapper around YouTube's private API

#28
I'm surprised they still support video dislike via API, but have removed it from the user interface... I understand they are likely worried about backwards compatibility with the abundance of client-devices, and not inadvertently breaking some app somewhere, but why not just make it a noop...

Unrelated: My treadmill has the absolute worst YT client I've ever used.

Re: Youtube.js – full-featured wrapper around YouTube's private API

#29

If you’re YouTube or any site, and want to stop these sort of wrappers - what’s the easiest way to do so without breaking your own site? I find this task to be an interesting engineering problem. A related question is if there’s an unspoofable way to detect a client.

The demos have Node.JS examples. If that's the case, it doesn't seem possible to block.

If it's running in a browser, Google can simply disallow those domains to make API calls.

Also, at least Apple will block apps that make unauthorized API calls to third parties.

Re: Youtube.js – full-featured wrapper around YouTube's private API

#30
post #25
post #14

Cool project but I wonder if the name will catch flak from the lawyers. Trademarks and all that. At they very least a big "This is not affiliated with Google/Youtube" seems like a wise precaution.

they have a disclaimer below https://github.com/LuanRT/YouTube.js#disclaimer edit: why am i getting downvoted?

IANAL but I've worked with some of them and I'd guess that isn't sufficient.

My advice to avoid any negative attention from YT/Google (but again IANAL) would be to do two things:

1. Move the "this is an unofficial" disclaimer at the top and bold and/or italic it so it's totally unmissable. I would use the same approach as MarshallOfSound: https://github.com/MarshallOfSound/Google-Play-Music-Desktop...

2. Praise Youtube/Google for having such a great API that empowers and enables their users to get the most out of their subscription. Make sure to point out the (true) benefits that YT gets from having a library like this that is available but they don't have to maintain and promise nothing to.

Post reply on HN