Forum Programmation.autre [Résolu] Problème avec une API http (en python)

Posté par  . Licence CC By‑SA.
Étiquettes :
2
4
mar.
2021

Bonjour,
Je voulais créer un bot pour la plateforme de streaming twitch qui par exemple répond automatiquement à certains messages.

J'ai, pour cela, cherché des tutoriels sur youtube.
J'ai ensuite essayé de créer le bot grâce à ce tutoriel qui n'est pas très clair sur la création de la base du bot etc. mais en le mélangeant avec d'autres recherches j'ai trouvé ce qu'il me manquait.

Quand j'ai fini de suivre se tuto j'ai eu des erreurs, j'ai donc cherché un peu et j'ai vu que depuis ce tutoriel il y avait eu une mise a jour de l'API. L'erreur a donc changée ce n'était plus :

{"error":"Bad Request","status":400,"message":"No client id specified"}

mais

{"error":"Unauthorized","status":401,"message":"Invalid OAuth token"}

j'ai ensuite cherché mais je n'ai rien trouvé. (j'ai fait des request de test avec curl)

  • Si vous avez besoin de plus de source que j'ai utilisé demandez moi.
  • L'API
  • Ma requête en python

  • url = f"https://api.twitch.tv/helix/streams?user_login={self.USERNAME}"
    headers = {"Client-ID": self.TOKEN, "Accept": "application/vnd.twitchtv.v5+json"}
    resp = get(url, headers=headers).json()
    for rp in resp.keys(): # partie du code servant simplement a voir le contenu de la requète
    print(rp + " -> "+str(resp[rp]))
    self.channel_id = resp["users"][0]["_id"]

Merci d'avance

  • # Authentification

    Posté par  (Mastodon) . Évalué à 4. Dernière modification le 05 mars 2021 à 07:58.

    Tu as bien compris que ton pb est l'authentification ? Il te faut bien lire et relire https://dev.twitch.tv/docs/authentication/. À la parcourir, je vois quelques pièges notamment les jetons (token) qui expirent, il te faut les renouveler régulièrement.

    Je te conseille de faire quelques essais en ligne de commande (ils donnent des exemples en curl) qui te permettront de vérifier que tu as tout bien fait et tout bien compris.

    Ensuite seulement traduis en Python.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Authentification

      Posté par  . Évalué à 1.

      J'ai bien compris que j'avais un problème d'authentification mais je n'avais pas trouver cette page.

      Merci pour l'aide je test ça.

      • [^] # Re: Authentification

        Posté par  (Mastodon) . Évalué à 1.

        je n'avais pas trouver cette page

        C'était pourtant pas très dur :)

        J'ai cliqué sur ton lien 'API', puis dans Step 1 : 'authentication guide'.

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: Authentification

          Posté par  . Évalué à 6.

          Salut,

          C'était pourtant pas très dur :)

          À sa décharge, c'est assez facile de se focaliser sur un problème et de rater l'évident. ;)

          Deux paires d'yeux valent mieux qu'une :)

          Matricule 23415

          • [^] # Re: Authentification

            Posté par  (Mastodon) . Évalué à 2.

            Toujours ! D'où les forums comme celui-ci :)

            En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

            • [^] # Re: Authentification

              Posté par  . Évalué à 2.

              Merci,

              Je n'avais pas eu le temps de tester je l'ai fait hier sa marche.

              La requête aussi avais changer.

              curl -H "Authorization: Bearer {TOKEN}" -H "Client-Id: {ID}" "https://api.twitch.tv/helix/search/channels?query={USERNAME}"

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.