Giter Club home page Giter Club logo

Comments (18)

JVTEAM avatar JVTEAM commented on September 4, 2024 1

2017-02-01T01:32:40.546386+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=nameless-lowlands-98730.herokuapp.com request_id=3d0504d0-ca46-4b4a-8877-e3f395ba12e1 fwd="23.249.36.73" dyno= connect= service= status=503 bytes

getting a new one after i just retried it.

from geemusic.

mbibbey avatar mbibbey commented on September 4, 2024

It actually isn't streaming any music at all. Alexa responds that it is playing, but it never plays the music.

Just saw this strange stream in the Heroku log:
2017-01-31T01:57:38.413130+00:00 heroku[router]: at=info method=POST path="/alexa" host=fathomless-refuge-71971.herokuapp.com request_id=e331d71b-696e-4e12-a706-ab90a77356c4 fwd="72.21.217.167" dyno=web.1 connect=0ms service=30ms status=400 bytes=164
2017-01-31T01:57:38.267828+00:00 app[web.1]: 10.43.185.17 - - [31/Jan/2017 01:57:38] "GET /stream/Tqahkizlzkqn3btxrput3avx7k4 HTTP/1.1" 500 -
2017-01-31T01:57:38.268067+00:00 app[web.1]: Traceback (most recent call last):
2017-01-31T01:57:38.268068+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1994, in call
2017-01-31T01:57:38.268069+00:00 app[web.1]: return self.wsgi_app(environ, start_response)
2017-01-31T01:57:38.268069+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1985, in wsgi_app
2017-01-31T01:57:38.268070+00:00 app[web.1]: response = self.handle_exception(e)
2017-01-31T01:57:38.268070+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1540, in handle_exception
2017-01-31T01:57:38.268071+00:00 app[web.1]: reraise(exc_type, exc_value, tb)
2017-01-31T01:57:38.268071+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
2017-01-31T01:57:38.268072+00:00 app[web.1]: response = self.full_dispatch_request()
2017-01-31T01:57:38.268072+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
2017-01-31T01:57:38.268073+00:00 app[web.1]: rv = self.handle_user_exception(e)
2017-01-31T01:57:38.268073+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
2017-01-31T01:57:38.268073+00:00 app[web.1]: reraise(exc_type, exc_value, tb)
2017-01-31T01:57:38.268074+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
2017-01-31T01:57:38.268074+00:00 app[web.1]: rv = self.dispatch_request()
2017-01-31T01:57:38.268075+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
2017-01-31T01:57:38.268075+00:00 app[web.1]: return self.view_functionsrule.endpoint
2017-01-31T01:57:38.268076+00:00 app[web.1]: File "/app/geemusic/controllers.py", line 8, in redirect_to_stream
2017-01-31T01:57:38.268076+00:00 app[web.1]: stream_url = api.get_google_stream_url(song_id)
2017-01-31T01:57:38.268076+00:00 app[web.1]: File "/app/geemusic/utils/music.py", line 97, in get_google_stream_url
2017-01-31T01:57:38.268077+00:00 app[web.1]: return self._api.get_stream_url(song_id)
2017-01-31T01:57:38.268077+00:00 app[web.1]: File "", line 2, in get_stream_url
2017-01-31T01:57:38.268078+00:00 app[web.1]:
2017-01-31T01:57:38.268078+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gmusicapi/utils/utils.py", line 293, in wrapper
2017-01-31T01:57:38.268078+00:00 app[web.1]: return function(*args, **kw)
2017-01-31T01:57:38.268079+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gmusicapi/clients/mobileclient.py", line 372, in get_stream_url
2017-01-31T01:57:38.268079+00:00 app[web.1]: return self._make_call(mobileclient.GetStreamUrl, song_id, device_id, quality)
2017-01-31T01:57:38.268080+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gmusicapi/clients/shared.py", line 84, in _make_call
2017-01-31T01:57:38.268080+00:00 app[web.1]: return protocol.perform(self.session, self.validate, *args, **kwargs)
2017-01-31T01:57:38.268081+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gmusicapi/protocol/shared.py", line 226, in perform
2017-01-31T01:57:38.268081+00:00 app[web.1]: raise CallFailure(err_msg, call_name)
2017-01-31T01:57:38.268086+00:00 app[web.1]: CallFailure: GetStreamUrl: 403 Client Error: Forbidden for url: https://mclients.googleapis.com/music/mplay?pt=e&hl=en_US&dv=0&net=mob&opt=hi&mjck=Tqahkizlzkqn3btxrput3avx7k4&tier=aa&sig=u5h8O9-lpIwTuJu3PKU11AaGjYo&slt=1485827858169
2017-01-31T01:57:38.268089+00:00 app[web.1]: (requests kwargs: {u'url': u'https://mclients.googleapis.com/music/mplay', u'allow_redirects': False, u'headers': {u'X-Device-ID': u'BAFCDD5F62CF', u'Authorization': u''}, u'method': u'GET', u'params': {u'pt': u'e', u'hl': u'en_US', u'dv': 0, u'net': u'mob', u'opt': u'hi', u'mjck': u'Tqahkizlzkqn3btxrput3avx7k4', u'tier': u'aa', u'sig': 'u5h8O9-lpIwTuJu3PKU11AaGjYo', u'slt': '1485827858169'}})
2017-01-31T01:57:38.268090+00:00 app[web.1]: (response was: u'\n\n<TITLE>Forbidden</TITLE>\n\n\n

Forbidden

\n

Error 403

\n\n\n')
2017-01-31T01:57:38.420526+00:00 app[web.1]: 10.237.230.223 - - [31/Jan/2017 01:57:38] "POST /alexa HTTP/1.1" 400 -

from geemusic.

stevenleeg avatar stevenleeg commented on September 4, 2024

This sounds like it could be an issue with the APP_URL environment variable. Did you set it to something like APP_URL=https://alexa-geemusic.stevegattuso.me? Note that this does not have a trailing slash at the end of the URL.

from geemusic.

mbibbey avatar mbibbey commented on September 4, 2024

Here is the environment variable from Heroku. It looks correct to me.
image

Should I be concerned about the Forbidden error that is coming back from mclients.googleapis.com?

from geemusic.

JVTEAM avatar JVTEAM commented on September 4, 2024

I'm having a similar issue with Heroku. I get the The remote endpoint could not be called, or the response it returned was invalid. Mine appears to be having an issue with logging in to google. Is there something special I need in formatting the email and password?

2017-01-31T22:01:10.810898+00:00 app[web.1]: File "server.py", line 1, in
2017-01-31T22:01:10.810899+00:00 app[web.1]: from geemusic import app
2017-01-31T22:01:10.810901+00:00 app[web.1]: File "/app/geemusic/init.py", line 10, in
2017-01-31T22:01:10.810902+00:00 app[web.1]: api = GMusicWrapper.generate_api(logger=app.logger)
2017-01-31T22:01:10.810902+00:00 app[web.1]: File "/app/geemusic/utils/music.py", line 132, in generate_api
2017-01-31T22:01:10.810903+00:00 app[web.1]: return cls(environ['GOOGLE_EMAIL'], environ['GOOGLE_PASSWORD'], **kwargs)
2017-01-31T22:01:10.810904+00:00 app[web.1]: File "/app/geemusic/utils/music.py", line 13, in init
2017-01-31T22:01:10.810904+00:00 app[web.1]: raise Exception("Unsuccessful login. Aborting!")
2017-01-31T22:01:10.810905+00:00 app[web.1]: Exception: Unsuccessful login. Aborting!
2017-01-31T22:01:11.046299+00:00 heroku[web.1]: State changed from starting to crashed
2017-01-31T22:01:11.005534+00:00 heroku[web.1]: Process exited with status 1

from geemusic.

stevenleeg avatar stevenleeg commented on September 4, 2024

@mbibbey by any chance are you on a free plan? that could be causing the forbidden errors

@JVTEAM it looks like your issue is because your login credentials are incorrect (see raise Exception("Unsuccessful login. Aborting!") in the log you posted). Verify that your GOOGLE_EMAIL and GOOGLE_PASSWORD environment variables are correct.

from geemusic.

JVTEAM avatar JVTEAM commented on September 4, 2024

They are correct.

from geemusic.

mbibbey avatar mbibbey commented on September 4, 2024

I am not on the free account. I am going to create a new account and trial unlimited on it to see if I can determine whether it is a Google or Heroku problem.

from geemusic.

mbibbey avatar mbibbey commented on September 4, 2024

I see gmusicapi users that had the forbidden error with the android_id field. Has anyone tried any different values in that field?

from geemusic.

mbibbey avatar mbibbey commented on September 4, 2024

I started a new music service on a different gmail account and it is working fine now. I need to figure out what is wrong with my primary music account. I had uploaded about 7,000 songs before subscribing to the unlimited service. Maybe that was the problem?

from geemusic.

digiltd avatar digiltd commented on September 4, 2024

I have had similar experiences. I first tried it with my main Google Play account, the one I uploaded my entire collection to in the past and the one I use successfully with Logitech Media Server to stream to any device. That too was a free account. I have not been able to get it to play anything through geemusic, I have tried various combinations of username/password with two factor auth on and off.

I set up another account to get an All Access trial to see if it was the free tier that was the problem. I uploaded a few songs to that to test with.

The All Access account seemed to be working successfully with geemusic, but I was still unable to get it to play the uploaded tracks. I could see the Skill was hearing me correctly and passing the correct track name to geemusic. To test I uploaded an mp3 with my name (sam turner) as the artist, when I said "play songs by sam turner" it would (annoyingly) only ever play songs by Santana.

It seems to only play tracks from Google and not uploaded tracks.

For me I have always seen Google Music as being an alternative to iTunes Match (the service from Apple for $25 a year). A place where I can upload my entire library and connect to it from whatever device I am using as and when I need it.

Others see Google Music as being an alternative to Spotify, a streaming service where you would only ever use the Google library and have no interest in uploading tracks yourself.

Is that a fair assumption? Because the Skill does seem to work very successfully when accessing the Google library of music, but not at all for uploaded tracks.

from geemusic.

mbibbey avatar mbibbey commented on September 4, 2024

@digiltd That appears to be what I am seeing as well.

My concern is that I have a bunch of playlists created in iTunes that I want to maintain and use across multiple devices, including Alexa. I have been able to sync them (only one direction) from iTunes to Google Play. But as discussed, Geemusic (and Alexa) can't read those playlists.

I don't mind using the Google library (Spotify style), as long as my playlists can be migrated from my owned music to the library version of the music. I need to try to figure that one out.

from geemusic.

stevenleeg avatar stevenleeg commented on September 4, 2024

Ahh yeah, I think I know the issue here. Searching for artists/albums in Google's streaming library is easier because the search API returns matches for that title/track, uploaded tracks aren't included. For those we have to download a list of all of your tracks and loop through each track with a fuzzy matcher to see if there's one that sort of matches what Alexa thought you said.

It's a bug-prone process that unfortunately is a result of an API restriction; we're just working with the data provided as best we can ☚ī¸

from geemusic.

MrTechGadget avatar MrTechGadget commented on September 4, 2024

I just found and set this up yesterday, using the docker image at https://hub.docker.com/r/kuroshi/geemusic/ on my Synology NAS. FYI, the HTTP server on the docker image is using port 5000, not 4000, so I had to remap that.

I also had play issues. Seems like the APP_URL needs to be reachable both externally and internally and have a trusted certificate. I did not initially have this reachable to internal traffic. The Amazon Skill worked fine except for actually starting the stream.

Thankfully, I am running pfSense with LetsEncrypt and HAproxy, so I was able to accommodate this by making routing everything through this reverse proxy using the TLS certificate on the proxy, for both internal and external connections. After making that change, that music has played fine.

Thanks for this cool project!

from geemusic.

dransome avatar dransome commented on September 4, 2024

Seems like the APP_URL needs to be reachable both externally and internally

@audioeng can you clarify this statement?

I have deployed across 2 docker containers (one with Gee Music, and another with an nginx proxy for the SSL); I pointed a domain to a public IP on the nginx proxy (configured with a Let's Encrypt SSL cert on 443), but I'm getting the 403 forbidden error when trying to stream as described by others in this issue.

from geemusic.

MrTechGadget avatar MrTechGadget commented on September 4, 2024

from geemusic.

mayurpatelgec avatar mayurpatelgec commented on September 4, 2024

@JVTEAM :How did you solve this error.? i am new to this and got login error solved and got a new like you

2017-02-01T01:32:40.546386+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=nameless-lowlands-98730.herokuapp.com request_id=3d0504d0-ca46-4b4a-8877-e3f395ba12e1 fwd="23.249.36.73" dyno= connect= service= status=503 bytes

from geemusic.

stevenleeg avatar stevenleeg commented on September 4, 2024

This hasn't seen any recent activity and will therefore be closed. Feel free to comment or file a new issue if you're still having trouble.

from geemusic.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤ī¸ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.