Google App Engine & Google Play Music... making apps that manage playlists on GAE

93 views
Skip to first unread message

Cliff Hill

unread,
Nov 13, 2015, 10:09:16 AM11/13/15
to Google App Engine
Before I start, I want to make it very clear -- I am not talking about having a google app engine app that controls streaming music in any way, just having the ability to manage/manipulate playlists, as well as the metadata for tracks/songs I have in google play music.  I want to propose Google make an API available for their music service to accomplish this. There already is an unofficial API in Python that allows this, but it is unofficial, and it doesn't seem to work in google app engine.

A little backstory:

I have a scheme for automatically manipulating a playlist that changes each day, cycling through my music library, which now exists on Google Play Music. I had started from iTunes, which gave me the ability to construct "smart playlists", which essentially allowed me to apply set theory concepts to music -- setting up relationships between songs, and using that to structure sets of playlists that all automatically update as my music was being played -- all for free. I used it to automatically load my phone with a bunch of songs each day, which then I could play, and when I re-synchronized my iPhone with iTunes, it would remove my played songs, and add new songs to my phone automatically.

However, I'm not an avid Apple user... in fact, I generally prefer avoiding it. I am a Linux user (and I had to make a VM instance to install Windows just to get iTunes to work correctly back then). So, when my Gen 1 iPhone's 2-year contract was ended, I switched to another phone... and stopped using iTunes. However, I found another way to continue my "smart playlist", through the streaming server called Firefly, I just set up my own server, installed, firefly, had all my music available on it, and could get it to do what I did in iTunes, all without me needing my phone. Eventually, I migrated to Squeezebox Server and did a similar trick on that (because Firefly was... unstable). This worked (mostly) fine, until my server died. As I went to rebuild my playlist, I gave up on squeezebox server, because I didn't like managing it through SQL.  I then switched to mpd (music player daemon), and figured out how to manage the playlists through my own hand in Python, and got it functional again, only after a few years having my new server die as well.

Google offers the Play Music service, which allowed me to upload my music library to it, this solves the problem of my personal server failing on me. Google also offers Google App Engine for Python.  Essentially, these two services would be a perfect fit for me -- I could build my playlist generator in Google App Engine, and have it manage my playlist in Google Play Music, and simply then use my playlist in Google Play Music, returning back to being able to play my music from my (Google Nexus) phone.  Except: There is no official Google Play Music API available to use in Google App Engine, and using the unofficial Python API doesn't work because Google blocks this access. I could write my code to make it work from my own server without using Google App Engine, but I would rather a solution that is cloud-based. Since it is Google talking to Google, I would think it shouldn't be too hard to do.

I don't have an All Access account, I just want to be able to play my own music, streamed through Google Play Music, and have a way to manage my playlist, preferably through Google App Engine. The API doesn't need to be all that advanced: Just playlist management (CRUD) controls (listing playlists, creating/deleting/updating a playlist), and the ability to see all my music I have uploaded on Google Play Music. As I said before, the unofficial Python API allows for this, but it is unofficial, and unusable on GAE.

I don't think this is asking too much of Google to allow for this kind of access between two of their products. As I said at the beginning -- I am not looking for a way to stream the music outside of the approved Google Play Music system. I am simply wanting to be able to implement a way to manipulate my playlists on Google Play Music to dynamically change them based on my own sets of rules. I'd prefer this to be doable on Google App Engine (where I could have a lot of control over it), but I could also be persuaded to do this through a "smart playlist" solution similar to what Apple provides in iTunes... but that, to me, seems like more work to get set up and maintained by Google.

Paul Canning

unread,
Nov 13, 2015, 10:43:29 AM11/13/15
to Google App Engine
The thing is, it IS asking a lot. It's not like it'll take one guy an afternoon of work.

I highly doubt they'll make any form of API for Google Music, as you can create playlists etc on the website already. People wanting an API for their own personal projects are going to be numbered in the tens.

If there is an unofficial Python API, have you looked into why it doesn't work on GAE? I think you'd be able to get that working much sooner then Google making a GM API (ie never)

Cliff Hill

unread,
Nov 13, 2015, 10:52:56 AM11/13/15
to Google App Engine

I did, it won't work because Google is blocking the url s for Google Play Music from being accessed by Google App Engine.

People wanting "smart playlist" capabilities are not measured "in tens", it is something a lot of people I have seen online ask for. This, to me, is a way it can be accomplished. They already have the api built, just not published or available in various languages (the interface is REST, and is how the unofficial api accesses everything). Google just needs someone to write a thin wrapper over it and make it available, or at the very least, remove the blocking so the existing unofficial api can work.


--
You received this message because you are subscribed to a topic in the Google Groups "Google App Engine" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/P4NB5bxURxw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/decd2750-7337-4484-b5a7-8817c1840018%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Paul Canning

unread,
Nov 13, 2015, 11:02:24 AM11/13/15
to Google App Engine
If you want to use the API so badly, why not use a non GAE server setup?

Cliff Hill

unread,
Nov 13, 2015, 1:29:42 PM11/13/15
to Google App Engine
I am going to be forced to do so. I was hoping for a full Google implementation, where I don't have to go outside of Google to use Google services with Google services.

"I'm not responcabel fer my comuter's spleling errnors" - Xlorep DarkHelm
Website: http://darkhelm.org

Cliff Hill

unread,
Nov 13, 2015, 2:34:11 PM11/13/15
to Google App Engine
Looks like my issue was with python's requests library. I ended up getting it working with the Unofficial Python API, so I can continue. Would be nice to have an official API, but the Unofficial one works.
To unsubscribe from this group and all its topics, send an email to google-appengine+unsubscribe@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages