-
Notifications
You must be signed in to change notification settings - Fork 255
investigate iOS OAuth #290
Comments
Nice work! I believe the first flow you describe is what I refer to here. It's not specific to Google Music and isn't particularly helpful for us (because of the copy/paste you mentioned). The second flow is interesting. I knew there was a GM-specific scope, but I had imagined it was restricted to the iOS endpoints. My guess is that it working for v1beta1 is a bug, and Google would probably lock it down if they knew about it. |
I tried the skyjam scope with the newer android api versions and it's still not enabled:
I'm trying now to enable the api for a custom project. Even though skyjam isn't in the list, I do get a different response when I try to enable it than I do for nonsense api names. |
Bummer; I can't seem to get that to work. The request format is correct, but requesting skyjam just returns a 500. |
FWIW to those who stumble across this thread - I was able to get the |
This scope works perfectly with the ios-specific endpoints! It even allows for custom projects and redirects, meaning that combined with the music manager api, we should have roughly full functionality supported under oauth! Here's a request example:
and response:
I'll be slowed down by my lack of an ios device, but hopefully I can borrow one from a friend to get more request examples. Or, Venmo or paypal simon@simonmweber.com a few bucks if you want to chip in towards one 😁 |
Were you able to get anything all-access related? I had this up and working, but all I ever got out of it were uploaded tracks, not all-access. What token are you sending with the request? |
I haven't tried anything relating to AA, but I expect it to work. Just to be clear, #290 (comment) is using a different set of endpoints from what you mentioned in #290 (comment). It makes sense that AA information isn't returned from the ones you were using, since the api version is from before it existed. |
Bummer, it would appear that Google has whitelisted these endpoints to their clients since I last tried. This means:
Still, it's an improvement to have a scope that's actually limited to Google Music (unlike the mobileclient's global-access scope). If you're interested in working on the ios protocol, here's a skeleton to work off of: https://github.com/simon-weber/gmusicapi/tree/iosclient. |
...maybe past Simon was wrong? I tried this just now and everything worked fine: custom consent screen, custom web redirect, and rpc request. |
@simon-weber any new discoveries in this area, or anything experimental I could look at? The current way of logging in definitely has its drawbacks - sometimes generates "suspicious activity notices" from Google, for instance. |
18675d4 has ios oauth working and an implementation of a simple call. You can change the oauth details on 18675d4#diff-4259664e83e9b6a6330a14eeb4c02dfcR14 to your own application if you're interested in replicating the custom consent screen + redirect. Someone looked into ios streaming in irc and found that the store id slt/sig computation is the same as on android (ie mobileclient). They didn't get library ids working (ie, those that don't start with |
Google seems to have moved away from the separate ios interface in favor of the mobileclient interface which we already have implemented, so we'll be tracking normal OAuth support over in #426 (comment). |
Hi Guys, I am currently reversing the Google Music protocol on iOS devices to be able to login using OAuth2 and stuck with following: I am able to get cookie and code(as header) in browser, but it is useless, because google service login stop at "Please wait" and not showing code to user.
Steps:
returns back with login URL in body:
Then this url will return
And code will be sent back as cookie. But it is still not acceptable for using in web services - it is unable to get this code back(forcing user to copypaste cookies is a bad way lol).
Another possible way to get limited access to playlists via oauth:
Redirect user to url like
Then use Oath request to
https://accounts.google.com/o/oauth2/token
with obtained code(can be showen to user if redirect uri isurn:ietf:wg:oauth:2.0:oob
in previous request)then
you will get a responce with headers like
And with this Bearer .... token you can access
https://www.googleapis.com/sj/v1beta1/playlists
and other api endpount.But the main problem here is that I dont know how to request playlist content(playlist list are ok via
/playlists
GET) via this v1beta1 interface.https://www.googleapis.com/sj/v1beta1/plentryfeed
just gives empty output.And other API version that is available via client login give Error 403, so just v1 beta can be used this way.
Do you guys have any ideas on this?
The text was updated successfully, but these errors were encountered: