YouTube v2 API Deprecated - need to switch to v3 API
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.
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
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
Just a note here: Fuck it, let's go. I'm working on it.
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 :)
Nah, that's alright - thanks for helping me keep up the good spirits :wink:
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 Yeah, pretty much all the functionality we need has been deprecated. Bugger indeed.
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
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 :)
@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:
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?
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.
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...
Good luck! I'll be cheering on over here.
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. ;-)
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.
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:
Oh boy... Good luck with all the work involved!
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
Good luck with the work! Waiting for a fix!
Any news?
I get a "Select a account" popup, then nothing happens.
Right in the middle of the final push. Hold on to your seats :wink:
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!
Everything seems amazing! I can't wait David, thanks for keeping us updated ;)
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!!! ^ ^
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.
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.
A very good point indeed! I'll look into that.
Ah, there lies the origin of the problem.