gromez / allocine-api

Allociné API libs
Apache License 2.0
77 stars 27 forks source link

showtimelist function not working anymore #18

Closed tibey1 closed 2 years ago

tibey1 commented 2 years ago

Since a few days the function showtimelist is returning just a string "403 - {ip addr}"

Tried on different locations and got the same result, with or without date in parameter (the exemple in the git is returning the error as well)

The functions get and search are still working

tibey1 commented 2 years ago

After some investigations, this is not a problem on the API client side as it even show the same response on older versions of the official allociné apps that were still querying the rest url. Probably just a matter of time until they shut down the other functions :(

BoD commented 2 years ago

Isn't it a case of needing new values for the API keys?

DecMoonFR commented 2 years ago

Other entry points continue to work (movie, person), i've got the problem only with showtimelist

BoD commented 2 years ago

Actually, I've dug a bit and it appears that there's now a GraphQL based API (which is quite nice to use). It looks like the old REST API will probably disappear in favor of this one.

Malinx95 commented 2 years ago

Actually, I've dug a bit and it appears that there's now a GraphQL based API (which is quite nice to use). It looks like the old REST API will probably disappear in favor of this one.

Hello can you provide more info about this new api i am really interrested ! thx

Dammmien commented 2 years ago

Same here, do you have any information about how to use it ?

gromez commented 2 years ago

Hello, I have some stuff for GraphQL API, but I don't have time to fully document it. Here are some hints (in french, copy/pasted from a discussion I had with an API user few weeks ago)

Après dans tous les cas c'est assez galère à faire parce qu'il faudrait réussir à reconstruire chaque objet pour que ce soit plus simple à utiliser, j'avais commencé à tester avec le client GraphQL Altair (https://altair.sirmuel.design/), il faut juste récupérer un JWT et le AC-Auth-Token, ils semblent être valides assez longtemps.

Voici les headers à définir si jamais tu veux tester :

  • Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NzE4NDM5NTcsInVzZXJuYW1lIjoiYW5vbnltb3VzIiwiYXBwbGljYXRpb25fbmFtZSI6Im1vYmlsZSIsInV1aWQiOiJmMDg3YTZiZi05YTdlLTQ3YTUtYjc5YS0zMDNiNWEwOWZkOWYiLCJzY29wZSI6bnVsbCwiZXhwIjoxNjg2NzAwNzk5fQ.oRS_jzmvfFAQ47wH0pU3eKKnlCy93FhblrBXxPZx2iwUUINibd70MBkI8C8wmZ-AeRhVCR8kavW8dLIqs5rUfA6piFwdYpt0lsAhTR417ABOxVrZ8dv0FX3qg1JLIzan-kSN4TwUZ3yeTjls0PB3OtSBKzoywGvFAu2jMYG1IZyBjxnkfi1nf1qGXbYsBfEaSjrj-LDV6Jjq_MPyMVvngNYKWzFNyzVAKIpAZ-UzzAQujAKwNQcg2j3Y3wfImydZEOW_wqkOKCyDOw9sWCWE2D-SObbFOSrjqKBywI-Q9GlfsUz-rW7ptea_HzLnjZ9mymXc6yq7KMzbgG4W9CZd8-qvHejCXVN9oM2RJ7Xrq5tDD345NoZ5plfCmhwSYA0DSZLw21n3SL3xl78fMITNQqpjlUWRPV8YqZA1o-UNgwMpOWIoojLWx-XBX33znnWlwSa174peZ1k60BQ3ZdCt9A7kyOukzvjNn3IOIVVgS04bBxl4holc5lzcEZSgjoP6dDIEJKib1v_AAxA34alVqWngeDYhd0wAO-crYW1HEd8ogtCoBjugwSy7526qrh68mSJxY66nr4Cle21z1wLC5lOsex0FbuwvOeFba0ycaI8NJPTUriOdvtHAjhDRSem4HjypGvKs5AzlZ3LAJACCHICNwo3NzYjcxfT4Wo1ur-M
  • AC-Auth-Token: cdzJ4OwAJZc:APA91bGIHnUKMixd8xxrV-xedwZYSVcllJ3uXHs2PVriELPfxYBjN7JWyTiOfSmata__TFoD18FoC16SmkEASiWbg6mRqO2vvDESPiumsxsz5puWWgoaHR52f2KHY923dDMVbOBVbi4k

image (2)

Ensuite tu mets https://graph.allocine.fr/v1/mobile/ comme URL puis tu peux normalement cliquer sur le bouton Reload Docs à droite et ça va te générer une liste d'objets utilisables. Et après il faut s'en sortir avec tout ça :)

gromez commented 2 years ago

I've just pushed an example for showtimelist, feel free to improve it: https://github.com/gromez/allocine-api/commit/84f238d55960f3ec8d276d795c51c70aafee731e

Dammmien commented 2 years ago

Works like a charm, thanks @gromez !! No need for any additional documentation, with the GraphQL introspection, the schemas are pretty clear 😛

sunny commented 1 year ago

Hey there! What’s the method used to find new authorization headers and tokens? 🙏🏻

Edit: Nevermind, it’s using a man-in-the middle proxy to intercept the Android App’s requests.