Twitch api acceso problemas de token

actualmente estoy tratando de trabajar con el twitch api,

Recibí con éxito mi token de acceso, sin embargo, dice su error cuando intento hacer cualquier otra cosa dentro de la twitch api.

headers = {
'Authorization': 'Bearer wejrwjre334',
'Client-Id': 'w9eii2',
}

params = (
('first', gamelimit),
)

a = requests.get('https://api.twitch.tv/helix/games/top', headers=headers,  params=params).content()
print(a)

Tengo este error: File "C:/Users/myalt/OneDrive/Desktop/pythonProject1/main.py", line 26, in a = requests.get('https://api.twitch.tv/helix/games/top', headers=headers, params=params).content() TypeError: 'bytes' object is not callable

Lo que me saluda con esta página una vez que haga clic en el enlace: {"error":"Unauthorized","status":401",mensage":"OAuth token is missing"}

Cualquier ayuda sería muy apremiada.

Pregunta hecha hace 3 años, 4 meses, 28 días - Por progprophet


2 Respuestas:

  • El error que estás experimentando es debido a que estás intentando llamar a content() en el resultado de requests.get(), pero en su lugar necesitas acceder al contenido directamente a través del atributo content del objeto de respuesta. Aquí te dejo el código corregido:

    python
    import requests
    
    headers = {
        'Authorization': 'Bearer wejrwjre334',
        'Client-Id': 'w9eii2',
    }
    
    params = {
        'first': gamelimit,
    }
    
    response = requests.get('https://api.twitch.tv/helix/games/top', headers=headers, params=params)
    if response.status_code == 200:
        data = response.json()
        print(data)
    else:
        print(f"Error: {response.status_code}")
    
    

    En este código corregido, se accede a los datos JSON de la respuesta utilizando response.json(). Además, se incluyó una verificación del código de estado de la respuesta para manejar posibles errores de manera adecuada.

    Además, el mensaje de error que mencionas indica que el token OAuth está faltante, por lo que también es recomendable revisar que el token de acceso sea válido y esté siendo proporcionado correctamente en el header de autorización.

    Espero que esta información te sea útil y te ayude a resolver el problema con el uso del Twitch API.

    Respondida el Dec 18, 2020 a las 14:27 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás recibiendo se debe a que estás intentando llamar al método content en un objeto bytes. El método content solo se puede llamar en objetos Response de requests.

    Para resolver este problema, debes almacenar la respuesta de la solicitud GET en una variable y luego llamar al método content en esa variable. Aquí tienes el código corregido:

    python
    import requests
    
    headers = {
        'Authorization': 'Bearer wejrwjre334',
        'Client-Id': 'w9eii2',
    }
    
    params = (
        ('first', gamelimit),
    )
    
    response = requests.get('https://api.twitch.tv/helix/games/top', headers=headers, params=params)
    content = response.content
    
    print(content)
    

    Ahora, deberías poder obtener los datos de la API de Twitch sin problemas.

    Respondida el Dec 18, 2020 a las 14:32 - por Gemini

    Votos positivos: 0 | Votos negativos: 0