« Documentation de l'API Jeuxvideo.com » : différence entre les versions

Ligne 787 : Ligne 787 :
# Utiliser un décompilateur Dex vers Java, comme '''[https://github.com/skylot/jadx Jadx]''' .
# Utiliser un décompilateur Dex vers Java, comme '''[https://github.com/skylot/jadx Jadx]''' .


==== JvApiService ====
Une fois le code Java disponible, on peut ouvrir l'interface ''com.jeuxvideo.api.web.'''JvApiService''''', qui contient tous les endpoints. L'appli utilise le bibliothèque [https://square.github.io/retrofit/ Retrofit 2.x] pour gérer l'API, on peut facilement parcourir la documentation de cette bibliothèque pour découvrir ce qu'il faut faire comme requête aux différentes URL de l'API.
Une fois le code Java disponible, on peut ouvrir l'interface ''com.jeuxvideo.api.web.'''JvApiService''''', qui contient tous les endpoints. L'appli utilise le bibliothèque [https://square.github.io/retrofit/ Retrofit 2.x] pour gérer l'API, on peut facilement parcourir la documentation de cette bibliothèque pour découvrir ce qu'il faut faire comme requête aux différentes URL de l'API.


''Exemple de code dans l'interface '''JvApiService'''''
<pre>
    @POST("contents/{contentID}/comments")
    Call<UserComment> addComment(@Path("contentID") String str, @Body UserComment.Body body);
    @POST("contents/{contentID}/comments/{commentID}/vote")
    Call<UserComment> addCommentVote(@Path("contentID") String str, @Path("commentID") String str2, @Body UserComment.Vote vote);
</pre>
==== ApiLogin ====
La classe ''com.jeuxvideo.utils.'''ApiLogin''''' (nom de la classe donné arbitrairement car perdu lors de la compilation), permet de déduire qu'il faut mettre dans le header de la requête à l'API ''Jvc-Authorization : '''header''''' ainsi que l'algorithme permettant de trouver ce qu'il faut mettre à la place de '''''header'''''. (Voir code ci-dessous)
La classe ''com.jeuxvideo.utils.'''ApiLogin''''' (nom de la classe donné arbitrairement car perdu lors de la compilation), permet de déduire qu'il faut mettre dans le header de la requête à l'API ''Jvc-Authorization : '''header''''' ainsi que l'algorithme permettant de trouver ce qu'il faut mettre à la place de '''''header'''''. (Voir code ci-dessous)
<pre>
<pre>