Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to get playcounts Error 502 #28

Open
phuketbinaryt opened this issue Jun 19, 2023 · 51 comments
Open

Unable to get playcounts Error 502 #28

phuketbinaryt opened this issue Jun 19, 2023 · 51 comments
Labels
bug Something isn't working

Comments

@phuketbinaryt
Copy link

Since today I am unable to get the playcounts for any track. Only getting the folling error:

xyz.gianlu.librespot.mercury.MercuryClient$MercuryException: status: 502
at xyz.gianlu.librespot.mercury.MercuryClient.sendSync(MercuryClient.java:83)
at xyz.gianlu.librespot.handler.PlayCountHandler.handle(PlayCountHandler.java:57)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80)
at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:848)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:817)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

Did something change on Spotify's side?

@phuketbinaryt phuketbinaryt added the bug Something isn't working label Jun 19, 2023
@Rchrdlss3
Copy link

I recently have been unable to access playcounts aswell, but I am having the same issue as #11 although this has not happened before. I am assuming this might be something on Spotify's side too

@jpgrovy
Copy link

jpgrovy commented Jun 19, 2023

Same issue for me 😔

Seeing they have some outages on downdetector. Hopefully that’s all it is.

@jpgrovy
Copy link

jpgrovy commented Jun 19, 2023

I don’t see playcounts being returned even in Spotify’s own web anymore either. The counts always showed in the logs of the api call. Now they aren’t there.

@surfmore
Copy link

I am getting this error

{"success": false, "data": "An unknown error has occurred; logged to console"}

http://MYIPADDRESS:8080/albumPlayCount?albumid=XXXXXX

and this error in the console

2023-06-19 21:26:33,101 INFO ApResolver:66 - Loaded aps into pool: {accesspoint=[ap-gew4.spotify.com:4070, ap-gew4.spotify.com:443, ap-gew4.spotify.com:80, ap-guc3.spotify.com:4070, ap-gue1.spotify.com:443, ap-gew1.spotify.com:80], dealer=[gew4-dealer.spotify.com:443, guc3-dealer.spotify.com:443, gue1-dealer.spotify.com:443, gew1-dealer.spotify.com:443], spclient=[gew4-spclient.spotify.com:443, guc3-spclient.spotify.com:443, gue1-spclient.spotify.com:443, gew1-spclient.spotify.com:443]}
2023-06-19 21:26:33,366 INFO Session:94 - Created new session! {deviceId: c70f928698cc099e39bddfd469f7de38e3b805db, ap: ap-guc3.spotify.com:4070}
2023-06-19 21:26:34,351 INFO Session:223 - Connected successfully!
2023-06-19 21:26:34,647 INFO Session:242 - Authenticated as woklxlz1f9wkuu6j9fk3x6q54!
2023-06-19 21:26:34,647 INFO Session:716 - Skipping SecretBlock
2023-06-19 21:26:34,647 INFO Session:694 - Received LicenseVersion: 0
2023-06-19 21:26:34,647 INFO Session:684 - Received CountryCode: NL
[main] INFO org.cache2k.core.Cache2kCoreProviderImpl - cache2k starting. version=1.2.4.Final
2023-06-19 21:26:34,694 INFO Session:716 - Skipping UnknownData_AllZeros
2023-06-19 21:26:34,694 INFO Session:716 - Skipping LegacyWelcome
Listening on port 8080
2023-06-19 21:26:35,085 INFO Session:651 - Skipping unknown command {cmd: 0x75, payload: 000000}
xyz.gianlu.librespot.mercury.MercuryClient$MercuryException: status: 502
at xyz.gianlu.librespot.mercury.MercuryClient.sendSync(MercuryClient.java:83)
at xyz.gianlu.librespot.handler.PlayCountHandler.handle(PlayCountHandler.java:57)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.AuthFilter.doFilter(Unknown Source)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

@surfmore
Copy link

I recently have been unable to access playcounts aswell, but I am having the same issue as #11 although this has not happened before. I am assuming this might be something on Spotify's side too

This is related to the country of the account. Spotify seems to have changed the accounts to the country they were created. I changed back to the country where librespot is running, but didnt fix the problem. Now, it is happening with the error I just posted above.

@jpgrovy
Copy link

jpgrovy commented Jun 19, 2023

This issue is also only happening for the artistInfo and albumPlayCount end points . artistInsights still works.

@christosk92
Copy link

I think Spotify finally killed support for this mercury endpoint.
You can actually replicate all these calls over REST to the sp client.
For example https://gae2-spclient.spotify.com/artist/v1/{artistId}/desktop currently returns 502 with response:

{
  "error": {
    "status": 502,
    "message": "Request was not transferred"
  }
}

@jpgrovy
Copy link

jpgrovy commented Jun 20, 2023

I hope not 😔 - I wonder if there is another way to retrieve playcounts then.

@christosk92
Copy link

I hope not 😔 - I wonder if there is another way to retrieve playcounts then.

well you can always find the appropriate album of a track, and then fetch the album (using the graphql endpoint)

https://api-partner.spotify.com/pathfinder/v1/query?operationName=getAlbum&variables={"uri":"spotify:album:{id}","locale":"","offset":0,"limit":50}&extensions={"persistedQuery":{"version":1,"sha256Hash":"46ae954ef2d2fe7732b4b2b4022157b2e18b7ea84f70591ceb164e4de1b5d5d3

returns

{
   "data":{
      "albumUnion":{
         "__typename":"Album",
         "uri":"spotify:album:...",
         "name":"...",
         "artists":{
            ....
         },
         "coverArt":{
         ...
         },
         ...
         "label":"...",
         "copyright":{...
         },
         "courtesyLine":"",
         "saved":false,
         "sharingInfo":{
            "shareUrl":"",
            "shareId":""
         },
         "tracks":{
            "totalCount":1,
            "items":[
               {
                  "uid":"edda05c86f012f7409cc",
                  "track":{
                     "saved":false,
                     "uri":"spotify:track:...",
                     "name":"...",
                     "playcount":"50288750",
                     "discNumber":1,
                     "trackNumber":1,
                     "contentRating":{
                        "label":"NONE"
                     },
                     "relinkingInformation":null,
                     "duration":{
                        "totalMilliseconds":192497
                     },
                     "playability":{
                        "playable":true
                     },
                     "artists":{
                       ....
                     }
                  }
               }
            ]
         },
         "moreAlbumsByArtist":{
        ....
      }
   },
   "extensions":{
      
   }
}

@jpgrovy
Copy link

jpgrovy commented Jun 20, 2023

I hope not 😔 - I wonder if there is another way to retrieve playcounts then.

well you can always find the appropriate album of a track, and then fetch the album (using the graphql endpoint)

https://api-partner.spotify.com/pathfinder/v1/query?operationName=getAlbum&variables={"uri":"spotify:album:{id}","locale":"","offset":0,"limit":50}&extensions={"persistedQuery":{"version":1,"sha256Hash":"46ae954ef2d2fe7732b4b2b4022157b2e18b7ea84f70591ceb164e4de1b5d5d3

returns

{
   "data":{
      "albumUnion":{
         "__typename":"Album",
         "uri":"spotify:album:...",
         "name":"...",
         "artists":{
            ....
         },
         "coverArt":{
         ...
         },
         ...
         "label":"...",
         "copyright":{...
         },
         "courtesyLine":"",
         "saved":false,
         "sharingInfo":{
            "shareUrl":"",
            "shareId":""
         },
         "tracks":{
            "totalCount":1,
            "items":[
               {
                  "uid":"edda05c86f012f7409cc",
                  "track":{
                     "saved":false,
                     "uri":"spotify:track:...",
                     "name":"...",
                     "playcount":"50288750",
                     "discNumber":1,
                     "trackNumber":1,
                     "contentRating":{
                        "label":"NONE"
                     },
                     "relinkingInformation":null,
                     "duration":{
                        "totalMilliseconds":192497
                     },
                     "playability":{
                        "playable":true
                     },
                     "artists":{
                       ....
                     }
                  }
               }
            ]
         },
         "moreAlbumsByArtist":{
        ....
      }
   },
   "extensions":{
      
   }
}

But is there a way using graph to get the complete list of Albums and Singles for an artistID?

@christosk92
Copy link

christosk92 commented Jun 20, 2023

@jpgrovy Yes but it's paged, which is really annoying.
It's

https://api-partner.spotify.com/pathfinder/v1/query?operationName=queryArtistDiscographyAll&variables={"uri":"spotify:artist:{id}","offset":0,"limit":100}&extensions={"persistedQuery":{"version":1,"sha256Hash":"35a699e12a728c1a02f5bf67121a50f87341e65054e13126c03b7697fbd26692"}}

@SatyF
Copy link

SatyF commented Jun 20, 2023

How / where do you use this link? How does it replace the mercury call? If i simply check the link you share it tells "No token provided"

@christosk92
Copy link

That would be for you to figure out :)

Hint: use the mercury client to get a bearer and then put it in the headers

@SatyF
Copy link

SatyF commented Jun 20, 2023

That won't be for me then I suppose, I always struggle to cope with clients/protocols, etc, I have no idea what your hint means tbh

@christosk92
Copy link

christosk92 commented Jun 20, 2023

Oh I thought you were a maintainer of this project..
Well first you'd need a bearer token to authenticate with this client.
Since this is an internal API, you can't just fetch one using the official method (Spotify developer console), as that will result in an 403 (forbid).

This project I think has the ability to fetch a good token over mercury (hm://keymaster/token/authenticated?scope...), which can then be used to authenticate properly and fetch the resource I provided.

It would require quite some changes to the project, unfortunately I am not actively involved in this project so I wont do it. But the developer may of course.

@jpgrovy
Copy link

jpgrovy commented Jun 20, 2023

@jpgrovy Yes but it's paged, which is really annoying. It's

https://api-partner.spotify.com/pathfinder/v1/query?operationName=queryArtistDiscographyAll&variables={"uri":"spotify:artist:{id}","offset":0,"limit":100}&extensions={"persistedQuery":{"version":1,"sha256Hash":"35a699e12a728c1a02f5bf67121a50f87341e65054e13126c03b7697fbd26692"}}

I get “RBAC: Access Denied” when trying to make the api-partner calls.

Side note… anyone want to be awesome and fix the librespot playcount code? 🙏🙏🙏

@entriphy
Copy link
Owner

Yep, they most likely killed the endpoint: librespot-org#678

Since it seems like Spotify doesn't use Hermes in their clients anymore, I think the only way forward with this project is to use Spotify's private API, so this repo may be archived once I figure things out.

@christosk92
Copy link

Well... hermes is just their internal router. As I mentioned earlier, all hermes endpoints can be translated to their HTTPs counterpart by just replacing hm:// with the spclient url.

I think hermes will still be supported, since a lot of their internal services may still use them.
You can fetch an access token using :
hm://keymaster/token/authenticated?scope=user-read-private,user-read-email,playlist-modify-public,ugc-image-upload,playlist-read-private,playlist-read-collaborative,playlist-read&client_id=65b708073fc0480ea92a077233ca87bd&device_id=
Which you can then use to access the private api (partner + spclient) . The public (web api) endpoints also work

@SatyF
Copy link

SatyF commented Jun 20, 2023

Yep, they most likely killed the endpoint: librespot-org#678

Since it seems like Spotify doesn't use Hermes in their clients anymore, I think the only way forward with this project is to use Spotify's private API, so this repo may be archived once I figure things out.

To re-do this repo maybe the easiest is to restart from the last version of librespot-java and import the few playcount / artist info handlers into it as the former now manages the Web API, has a token provider with the keymaster and all. In a first step it wouldn't be needed to stripe the unneeded content or anything.

@entriphy
Copy link
Owner

entriphy commented Jun 20, 2023

Well... hermes is just their internal router. As I mentioned earlier, all hermes endpoints can be translated to their HTTPs counterpart by just replacing hm:// with the spclient url.

Ah, I haven't worked on this project in a while and forgot the terminology. I meant to say that their clients switched to using the GraphQL API for retrieving stuff like track play counts in an album. Since it seems that all endpoints that this project uses have become useless (albumPlayCount and artistInfo return status code 502, artistAbout and artistInsights just fills in 0 for all relevant values), the GraphQL API seems to be the only replacement for those endpoints. The access token for the GraphQL endpoints needed don't require Mercury or authentication either (the token can be retrieved through https://open.spotify.com/get_access_token?reason=transport&productType=web_player).

...which at that point I'd essentially be making a CORS proxy for the GraphQL API. Seems like a cheap solution, though the main issue is that the GraphQL API is quite terrible to work with, so I'd have to look into that further :p

@christosk92
Copy link

Yes the graphql api is terrible to work with, and I do not understand why Spotify did not just build on the web-api, which has a good schema.

Anyways, I was also able to implement the oauth protocol using PKCE, and reverse engineer their persistent login mechanism.
Which still uses the actual TCP connection some parts.

Mainly, after the oauth callback, you get an access token, which you can then use to authenticate using the old method (over TCP).
Then in the APWelcome message, you have some re-usable credentials which are then posted in the body of
https://login5.spotify.com/v3/login

In pseudo code this will look like

var webResponse = openBrowserAndCatchRedirectToken();
var accessToken = webResponse.accessToken;
var username = webResponse.username;

var credentials = new LoginCredentials
{
    Typ = AUTHENTICATION_SPOTIFY_TOKEN,
    Username = username,
    AuthData = ByteString.CopyFromUtf8(accessToken)
}
var apwelcome = performAuthOverTcp(credentials);

var reusablecredentials = apwelcome.reusable_auth_credentials;


Next in another login session:
POST https://login5.spotify.com/v3/login
the body is a protobuf with:

message LoginRequest {
    .spotify.login5.v3.ClientInfo client_info = 1;
    .spotify.login5.v3.credentials.StoredCredential stored_credential = 100;
}

@jpgrovy
Copy link

jpgrovy commented Jun 21, 2023

Yes the graphql api is terrible to work with, and I do not understand why Spotify did not just build on the web-api, which has a good schema.

Anyways, I was also able to implement the oauth protocol using PKCE, and reverse engineer their persistent login mechanism. Which still uses the actual TCP connection some parts.

Mainly, after the oauth callback, you get an access token, which you can then use to authenticate using the old method (over TCP). Then in the APWelcome message, you have some re-usable credentials which are then posted in the body of https://login5.spotify.com/v3/login

In pseudo code this will look like

var webResponse = openBrowserAndCatchRedirectToken();
var accessToken = webResponse.accessToken;
var username = webResponse.username;

var credentials = new LoginCredentials
{
    Typ = AUTHENTICATION_SPOTIFY_TOKEN,
    Username = username,
    AuthData = ByteString.CopyFromUtf8(accessToken)
}
var apwelcome = performAuthOverTcp(credentials);

var reusablecredentials = apwelcome.reusable_auth_credentials;

Next in another login session: POST https://login5.spotify.com/v3/login the body is a protobuf with:

message LoginRequest {
    .spotify.login5.v3.ClientInfo client_info = 1;
    .spotify.login5.v3.credentials.StoredCredential stored_credential = 100;
}

You guys are too smart for me 😉 … does this mean it’s fixable to get working again?

@pdenis
Copy link

pdenis commented Jun 21, 2023

Hey @christosk92 ,

Do you know a replacement of artistInsights with their graphql API especially for top 50 cities ?

I don't find one.

@entriphy
Copy link
Owner

queryArtistOverview seems to be the only endpoint for retrieving artist data, which does include the top 5 cities.

I'm currently testing sp-playcount on api.t4ils.dev:
https://api.t4ils.dev/getArtist?id=1g8HCTiMwBtFtpRR9JXAZR (uses queryArtistOverview)
https://api.t4ils.dev/getAlbum?id=5K4YFkTizFoMOyN5Khfp7G (uses getAlbum)
https://api.t4ils.dev/getAlbumTracks?id=5K4YFkTizFoMOyN5Khfp7G (uses queryAlbumTracks)

@louison
Copy link

louison commented Jun 21, 2023

Hi @entriphy,
How did you find the definition of the GQL query you document here ?

@pdenis
Copy link

pdenis commented Jun 21, 2023

@entriphy : yes it seems old top 50 is no longer available via graphq :/

@christosk92
Copy link

christosk92 commented Jun 21, 2023

@louison You can find those when looking in the source code of the webplayer. Those queries are then hashed to decrease request size..
Specifically, the web-player.{}.js file will be interesting.
There's a line in the file:

 const t = await a.k.hash(e.body);

Which if you put a breakpoint there, you can expect the body

@jpgrovy
Copy link

jpgrovy commented Jun 21, 2023

Hey @christosk92 ,

Do you know a replacement of artistInsights with their graphql API especially for top 50 cities ?

I don't find one.

Artist Insights is showing Top 50 cities and still works

@pdenis
Copy link

pdenis commented Jun 21, 2023

Hey @christosk92 ,
Do you know a replacement of artistInsights with their graphql API especially for top 50 cities ?
I don't find one.

Artist Insights is showing Top 50 cities and still works

Yes I know, but I anticipate

@jpgrovy
Copy link

jpgrovy commented Jun 23, 2023

Is anyone working on an update / fix ?

@Temoigneur
Copy link

Temoigneur commented Jun 25, 2023

queryArtistOverview seems to be the only endpoint for retrieving artist data, which does include the top 5 cities.

I'm currently testing sp-playcount on api.t4ils.dev: https://api.t4ils.dev/getArtist?id=1g8HCTiMwBtFtpRR9JXAZR (uses queryArtistOverview) https://api.t4ils.dev/getAlbum?id=5K4YFkTizFoMOyN5Khfp7G (uses getAlbum) https://api.t4ils.dev/getAlbumTracks?id=5K4YFkTizFoMOyN5Khfp7G (uses queryAlbumTracks)

Hi Entriphy, I'm not a programmer, so excuse my basic questions, and any misconceptions I have about how to implement a possible solution.. Your program is brilliant, btw. I see that the endpoints you're testing @ api.t4ils.dev return the raw .json data I need, (the track playcounts). With complete reliance on GPT-4, and a little help from a programmer-friend, I managed to create a search engine for personal/testing use which coordinates .js code of my own, (my .js/html is named "ISE_Updated" here: https://github.com/Temoigneur/Integrated_Search_Engine/tree/main) with your java program to retrieve individual track playcounts associated with a list of search results returned by the web-api, upon executing a search for musical content, (which incidentally runs four separate search engines simultaneously, via one central search bar). I recently updated the search function /w the /artistInsights endpt, to display a box beside the top three search results corresponding to 3 unique artists, that when clicked, showed the artist's monthly plays in the top five cities globally, as well as those of three Canadian cities that the artist was most popular in, (I'm in Canada). Although I managed to update the CORS handling in your java program to resolve issues with my localhost/ chrome configuration, and managed to update the version number when Spotify recently changed that, (https://github.com/Temoigneur/sp-playcount-librespot), I can see that attempting to reconfigure your entire program with next to zero understanding of what I'm doing, for Graphql, or to possibly retrieve what I need from new endpoints via api.t4ils.dev, would be a daunting task, and possibly an exercise in futility, (if that could even work at all). Is there any relatively straightforward way your program could be modified to use an alternate endpoint/method to obtain the play counts for individual tracks, that would work relatively seamlessly with my .js/html code via a fetch request to the updated java program/server, as before? Thank you!!

@jpgrovy
Copy link

jpgrovy commented Jun 25, 2023

I’m also anxiously waiting and hopeful of an update 🙏

@entriphy
Copy link
Owner

Does anyone have the JSON schema for all the old endpoints (the ones that this project uses) by any chance? I'm trying to make sp-playcount as backwards-compatible with this project's endpoints as possible, though since the old endpoints no longer work, I cannot do that unless someone has the JSON schema (or at the very least a sample response from each of the endpoints).

@Temoigneur
Copy link

Temoigneur commented Jun 26, 2023 via email

@Temoigneur
Copy link

Temoigneur commented Jun 26, 2023 via email

@jpgrovy
Copy link

jpgrovy commented Jun 26, 2023

Does anyone have the JSON schema for all the old endpoints (the ones that this project uses) by any chance? I'm trying to make sp-playcount as backwards-compatible with this project's endpoints as possible, though since the old endpoints no longer work, I cannot do that unless someone has the JSON schema (or at the very least a sample response from each of the endpoints).

I have the entire schema of all the old endpoints. Do you have an email I can send to. The version I have is quite a large response.

@SatyF
Copy link

SatyF commented Jun 27, 2023

@jpgrovy Yes but it's paged, which is really annoying. It's

https://api-partner.spotify.com/pathfinder/v1/query?operationName=queryArtistDiscographyAll&variables={"uri":"spotify:artist:{id}","offset":0,"limit":100}&extensions={"persistedQuery":{"version":1,"sha256Hash":"35a699e12a728c1a02f5bf67121a50f87341e65054e13126c03b7697fbd26692"}}

Is there are description / sample available for this endpoint?

@entriphy
Copy link
Owner

I have the entire schema of all the old endpoints. Do you have an email I can send to. The version I have is quite a large response.

A GitHub Gist or Pastebin/Hastebin snippet should be fine :)

@jpgrovy
Copy link

jpgrovy commented Jul 5, 2023

queryArtistOverview seems to be the only endpoint for retrieving artist data, which does include the top 5 cities.

I'm currently testing sp-playcount on api.t4ils.dev: https://api.t4ils.dev/getArtist?id=1g8HCTiMwBtFtpRR9JXAZR (uses queryArtistOverview) https://api.t4ils.dev/getAlbum?id=5K4YFkTizFoMOyN5Khfp7G (uses getAlbum) https://api.t4ils.dev/getAlbumTracks?id=5K4YFkTizFoMOyN5Khfp7G (uses queryAlbumTracks)

How can we install this version on our own heroku, etc ?

Is there any way you can add the playcounts to the entire discography inside the getArtist call?

@jpgrovy
Copy link

jpgrovy commented Jul 12, 2023

queryArtistOverview seems to be the only endpoint for retrieving artist data, which does include the top 5 cities.

I'm currently testing sp-playcount on api.t4ils.dev: https://api.t4ils.dev/getArtist?id=1g8HCTiMwBtFtpRR9JXAZR (uses queryArtistOverview) https://api.t4ils.dev/getAlbum?id=5K4YFkTizFoMOyN5Khfp7G (uses getAlbum) https://api.t4ils.dev/getAlbumTracks?id=5K4YFkTizFoMOyN5Khfp7G (uses queryAlbumTracks)

Your links don’t work. How can we install this ourselves ?

@jpgrovy
Copy link

jpgrovy commented Jul 15, 2023

@entriphy What does it mean when is fails and says session is closed?

@Temoigneur
Copy link

Ahhhh.. your /getalbum endpt @ https://api.t4ils.dev/getAlbum?id= was working for weeks, now it's giving: {"success": false, "data": "Error while querying: Session is closed"} - will it be back up again?

@katelynjean123
Copy link

Ahhhh.. your /getalbum endpt @ https://api.t4ils.dev/getAlbum?id= was working for weeks, now it's giving: {"success": false, "data": "Error while querying: Session is closed"} - will it be back up again?

also having this issue! it works some days and others it gives me this error code. Would love a fix :)

@rishabhbizzle
Copy link

Ahhhh.. your /getalbum endpt @ https://api.t4ils.dev/getAlbum?id= was working for weeks, now it's giving: {"success": false, "data": "Error while querying: Session is closed"} - will it be back up again?

The endpoint were working fine yesterday but today I'm also having this same issue :(
@entriphy have you figured out this issue ??

@Rchrdlss3
Copy link

https://api-partner.spotify.com/pathfinder/v1/query?operationName=queryArtistDiscographyAll&variables=

Was working for me fine perfectly this week, just ran into this issue this morning also

@jpgrovy
Copy link

jpgrovy commented Oct 11, 2023

Did they just cut off the top 50 cities now for the insights endpoint? The https://api.t4ils.dev test endpoint here is connecting but only top 5 cities is showing.

I had my own hosted version of this script and as of today it's giving "Bad Credentials" errors

Any one else have any experiences to report as of today ?

@vitorbaptista
Copy link

vitorbaptista commented Oct 20, 2023

@entriphy Here are a sample of the results of all endpoints (they're about 3 years old): https://gist.github.com/vitorbaptista/577934720a554dd271ce5e2a92948174

Do you think it will be possible to update this project, or has Spotify effectively killed it?

@surfmore
Copy link

surfmore commented Oct 20, 2023 via email

@caiocinel
Copy link

I didn't find anything like I needed, so I made a prototype to get this information, if it's useful to anyone: https://github.com/caiocinel/SpotifyPrivateAPI

@vitorbaptista
Copy link

@entriphy Sorry for the interruption, but I'm trying to understand how your hosted page still has access to the playcount API, like https://api.t4ils.dev/albumPlayCount?albumid=32tRzmHVO5OxNv7IK36x24.

If I run this locally, I get the error 502. I tried creating a new Spotify account, in case it was because my account wasn't created in my country, but am still having the same error.

Are you running the same code from this repository?

@jpgrovy
Copy link

jpgrovy commented Jun 18, 2024

It works because the album endpoint still works. Works for me too. It's only the artist endpoint that is broken.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests