yt-sanegrid icon indicating copy to clipboard operation
yt-sanegrid copied to clipboard

YouTube v2 API Deprecated - need to switch to v3 API

Open Vankog opened this issue 11 years ago • 70 comments

Yesterday everything was quite fine. Today nothing works anymore. (Even though there was no update or version change...)

Tried with latest stable Chrome and IE: 1.a) already loaded videos (from yesterday) still show up 1.b) if going inkognito or open IE (I use it rarely), the video list stays empty after initialization 2) clicking on anything - video or menu items - or scrolling (so the update kicks in) always results to the initialization screen.

I first thought some chrome flags or extensions might have some influence on this. However, after checking some of them out and having the same result with IE, the origin seems to lie somewhere deeper in the guts.

Vankog avatar May 08 '14 04:05 Vankog

It looks like the V2 API is deprecated (https://developers.google.com/youtube/2.0/developers_guide_protocol_subscriptions#Retrieving_new_subscription_videos)

It also looks like there isn't a corresponding V3 API: https://code.google.com/p/gdata-issues/issues/detail?id=3946

jtokoph avatar May 08 '14 04:05 jtokoph

Yeah, this is the same as #136 - But dang it, either I completely misread their deprecation policy or they recently changed that recently.

Anyhow, doesn't change a thing, it's gone now and I'll have to fix it, soon. *sigh

daviddeutsch avatar May 08 '14 08:05 daviddeutsch

Just a note here: Fuck it, let's go. I'm working on it.

daviddeutsch avatar May 08 '14 09:05 daviddeutsch

Probably not the right place to put this, but I just wanted to say, this tool is a life-saver for me. I would be completely unable to use youtube without it, so thank you very much for working on it :)

nickbrooking avatar May 08 '14 16:05 nickbrooking

Nah, that's alright - thanks for helping me keep up the good spirits :wink:

daviddeutsch avatar May 08 '14 16:05 daviddeutsch

oh... ehm... doesn't "deprecated" mean it is still usable for some time? ^^ "most API functionality that was subject to that policy will continue to be available until April 20, 2015."

bugger...

Vankog avatar May 08 '14 18:05 Vankog

@Vankog Yeah, pretty much all the functionality we need has been deprecated. Bugger indeed.

daviddeutsch avatar May 08 '14 18:05 daviddeutsch

Like neonshadow said, sanegrid is my go-to when I want to watch yt. Thanks for keeping the support, David!

I'll never understand why they keep placing so many barriers, so many clunky changes and try to kill anything that tries to interact with the site. Their priority should be having a robust api, instead of killing it for the sake of doing it. Maybe I'm biased because I don't like how google is handling yt these times, but I still can't understand what goes with their minds, really. /rant

AdvanceMancer avatar May 08 '14 19:05 AdvanceMancer

I say the same. Love the application and I support with a small dollar amount on flattr because it's just that good. Even built a small android version for my own use when I'm on the go. Looking forward to a fix and please keep up the good work. An app being stable for these many months without a major hickup well that's almost Google quality :)

kalaspuffar avatar May 09 '14 07:05 kalaspuffar

@Kanta- Me neither. The distinct feeling I get is that it's simply a matter of other things being more profitable. In the end, YT is a way to sell advertisement spots to advertisers, so you could argue that having a confusing site and API helps with that. May be too simplistic a thought, but then again, Occam's Razor and so forth.

@kalaspuffar Ooooh, feeling that burn :grin:

daviddeutsch avatar May 09 '14 07:05 daviddeutsch

Since YT Startpage script has been totally out of commission, I've been here the whole time. Hopefully we can have it back in the next few days because as of right now, I'm using my twitter feed to watch videos.

Can we have an ETA soon, David?

Lebon14 avatar May 09 '14 08:05 Lebon14

I want to get this done over the weekend, but the current stopgap is wrestling the google singin API, so that's a "known unknown" that I cannot determine how long it will take with full accuracy. I'll try to get it done asap.

daviddeutsch avatar May 09 '14 08:05 daviddeutsch

Ooh, just had a small breakthrough - authentication works now (although it's still a bit clunky). Now I pretty much just have to make it work with the new data formatting...

daviddeutsch avatar May 09 '14 08:05 daviddeutsch

Good luck! I'll be cheering on over here.

Espyo avatar May 09 '14 12:05 Espyo

First feedback for now: Authentication failed with:

Error: origin_mismatch

Application: YT Sanegrid

You can email the developer of this application at: [email protected]

Request Details
immediate=false
response_type=token
scope=https://www.googleapis.com/auth/youtube
redirect_uri=postmessage
pageId=114110833026210133778
proxy=oauth2relay497076431
state=318767842|0.1381700968
origin=https://daviddeutsch.github.io
include_granted_scopes=true
client_id=950592637430.apps.googleusercontent.com
authuser=0

I've tried to login with my secondary user that is connected with my primary user. EDIT: However, the primary does not work neither. ;-)

Vankog avatar May 09 '14 14:05 Vankog

Just a bit more feed back. Seems like my app stopped working as well so there is no turning back. Not sure I'll rewrite it seems like something I don't want to do.

kalaspuffar avatar May 09 '14 17:05 kalaspuffar

Status update: I've rewritten large parts of how sanegrid is loaded due to the dependency of the google login api. I'm mixing in a bunch of refactors I had on my list for a while, so it's not all their fault, of course. For now, the login itself seems to work pretty well.

Retrieving the data will again be a tad different - the v2 API simply gave you a straight up list of videos in chronological order. With v3, you have to first get your channel list and then iterate through the channels loading the latest videos in through the activity stream.

As I mentioned in #136, the new API will make it possible to work on a bunch of longer standing suggestions, I'll list them here for further reference:

#109, #104, #101, #84 (not sure about this, but possible), #83 (highly doubt this one, but it might be possible to at least share the view status), #67, #66, #64, #29, #12

All in all, I think once I'm done with this, I can finally call it a 1.0 :wink:

daviddeutsch avatar May 10 '14 00:05 daviddeutsch

Oh boy... Good luck with all the work involved!

Lebon14 avatar May 10 '14 00:05 Lebon14

So my list of "oh I'm totally going to watch those later" said me 5 months ago types of videos is back c:

claps

josh-audio avatar May 10 '14 01:05 josh-audio

Good luck with the work! Waiting for a fix!

thew78 avatar May 10 '14 19:05 thew78

Any news?

Lebon14 avatar May 14 '14 06:05 Lebon14

I get a "Select a account" popup, then nothing happens.

tordenflesk avatar May 18 '14 17:05 tordenflesk

Right in the middle of the final push. Hold on to your seats :wink:

daviddeutsch avatar May 18 '14 17:05 daviddeutsch

Another late night update here:

I have the connection to where it connects to your account and downloads channel and video data. I've also prepared localForage to stand in for the current localStorage based client side data storage.

Switching to localForage will make it possible to store far more data than we could so far. It will also give me a clean break because I do need to change a couple of data structures (the v3 API returns a lot more data in general). I also want to make the lists a little more performant, so instead of one huge list that stores all the videos, it will be a "new", "archive" and "trash" list in the future and you switch between them, if you want to. Clicking the video buttons will no longer just change the video state, but move it to another list.

Of course, there will be an option for migrating the existing data. I think finishing the video loading itself will only take another day or two. The functionality for migrating the data will take another day or two, but since we're opening up a new storage option, the old data isn't lost and can be migrated later on.

Thanks again for your patience, guys!

daviddeutsch avatar May 19 '14 01:05 daviddeutsch

Everything seems amazing! I can't wait David, thanks for keeping us updated ;)

AdvanceMancer avatar May 19 '14 02:05 AdvanceMancer

Ohhh I'm glad it's going well! And the new features (the 3 lists that you mentioned) sound really cool too.

Thanks for the status update and good luck!!! ^ ^

CJCon avatar May 19 '14 02:05 CJCon

Another quick update - videos are now loading and the last remaining task is storing the data (including that three list thing that I mentioned). I will also do a little more cleanup and then evaluate how fast I can write a migration script.

daviddeutsch avatar May 19 '14 15:05 daviddeutsch

Quick feedback. It seems you set the allowed origins for your your client id to "http://daviddeutsch.github.io" only which results in the following error message when i try to connect to "YT Sanegrid" my YouTube account using "https://daviddeutsch.github.io" (https instead of just http):

400. That’s an error.

Error: origin_mismatch

Application: YT Sanegrid

You can email the developer of this application at: [email protected]

Request Details
immediate=false
response_type=token
scope=https://www.googleapis.com/auth/youtube
redirect_uri=postmessage
pageId=104721779687771398711
proxy=oauth2relay610818099
state=1236909458|0.3136622914
origin=https://daviddeutsch.github.io
include_granted_scopes=true
client_id=950592637430.apps.googleusercontent.com
authuser=0
That’s all we know.

chhe avatar May 19 '14 16:05 chhe

A very good point indeed! I'll look into that.

daviddeutsch avatar May 19 '14 16:05 daviddeutsch

Ah, there lies the origin of the problem.

Vankog avatar May 19 '14 19:05 Vankog