Kheys
1 092
modifications
(→API v4 : Correction algo) |
|||
Ligne 14 : | Ligne 14 : | ||
Où '''''header''''' est égal à une chaîne de charactère de cette forme : ''"PartnerKey='''<u>partner_key</u>''', Signature='''<u>signature</u>''', Timestamp='''<u>date</u>'''".'' (Voir section rétro-ingénierie pour plus d'information) | Où '''''header''''' est égal à une chaîne de charactère de cette forme : ''"PartnerKey='''<u>partner_key</u>''', Signature='''<u>signature</u>''', Timestamp='''<u>date</u>'''".'' (Voir section rétro-ingénierie pour plus d'information) | ||
'''Voici un script [https://www.python.org/ python] qui construit | '''Voici un script [https://www.python.org/ python] qui construit "''header''"''' | ||
<pre> | |||
import hmac | |||
import hashlib | |||
import datetime | |||
apiVersion = 4 | |||
partnerKey = '550c04bf5cb2b' | |||
hmacSecret = 'd84e9e5f191ea4ffc39c22d11c77dd6c' | |||
def createJvcAuthorizationHeader(method, path): | |||
# Étape 1 : Calcul de la date et de l'heure actuelles au format ISO | |||
date = datetime.datetime.utcnow().isoformat() | |||
# Étape 2 : Construction de la chaîne signatureStr | |||
signatureStr = f"{partnerKey}\n{date}\n{method}\napi.jeuxvideo.com\n/v{apiVersion}/{path}\n" | |||
# Étape 3 et 4 : Calcul de la signature HMAC SHA-256 | |||
secret = bytes.fromhex(hmacSecret) | |||
signature = hmac.new(secret, signatureStr.encode('utf-8'), hashlib.sha256).hexdigest() | |||
# Étape 5 et 6 : Retour d'une chaîne formatée comme en-tête d'autorisation | |||
return f"PartnerKey={partnerKey}, Signature={signature}, Timestamp={date}" | |||
method = 'GET' | |||
apiPath = 'api/endpoint' | |||
authorizationHeader = createJvcAuthorizationHeader(method, apiPath) | |||
print(authorizationHeader) | |||
</pre> | |||
== API endpoints == | == API endpoints == | ||
{{BoxNotice|Aucun des endpoints n'a été testé pour l'instant, si vous remarquez qu'une information est erronée ou si vous êtes assez compétent en programmation pour nous aider à complèter la documentation, n'hésitez pas à venir sur le [https://discord.gg/wKBSHv2mdU discord de Jvflux] ou à me contacter en message privé sur [https://onche.org/profil/christianronald Onche]}} | {{BoxNotice|Aucun des endpoints n'a été testé pour l'instant, si vous remarquez qu'une information est erronée ou si vous êtes assez compétent en programmation pour nous aider à complèter la documentation, n'hésitez pas à venir sur le [https://discord.gg/wKBSHv2mdU discord de Jvflux] ou à me contacter en message privé sur [https://onche.org/profil/christianronald Onche]}} |