So I’m trying to make that will change a variable to true if a certain streamer is live, however with the code i have now i cant even get a response back. It says {“error”:“Unauthorized”,“status”:401,“message”:“OAuth token is missing”} 
and i have no idea how to fix this.
` 
import requests
API_ENDPOINT = ‘https://api.twitch.tv/helix/streams?user_login=brawlhalla  42’
#example  Client_ID put yours here 
Client_ID = ‘kvqvvvdh0agg84q563ti0d9it7inl6’
#data  to be sent to api 
head = { 
‘Client-ID’ : Client_ID 
} 
#api   call here 
r = requests.get(url = API_ENDPOINT, headers = head)
#data  output 
print(r.text)
input(‘Press ENTER to exit’) 
`
             
            
               
               
               
            
            
           
          
            
            
              All of helix requires an oAuth token
For this sort of code example you’ll use a Client Credentials Token which is for server to server requests
             
            
               
               
               
            
            
           
          
            
            
              I’ve looked through this but i have no idea how i would implement this but if i understand it correctly my app needs to log in to twitch before it can return any data. With client id being mine and client secret being my password right?
             
            
               
               
               
            
            
           
          
            
            
              no
you use the client ID and client secret to generate a token
Since you are python, it’s just a requests.post to get a token
using the URL documented in what I linked to
before you try to get stream status, you’ll load a previously generated token, and check if it’s valid then make the call.
Only generate a new token if needed, reuse if you can
Edit: Something like
import requests
client_id = ''
client_secret = ''
streamer_name = ''
body = {
    'client_id': client_id,
    'client_secret': client_secret,
    "grant_type": 'client_credentials'
}
r = requests.post('https://id.twitch.tv/oauth2/token', body)
#data output
keys = r.json();
print(keys)
headers = {
    'Client-ID': client_id,
    'Authorization': 'Bearer ' + keys['access_token']
}
print(headers)
stream = requests.get('https://api.twitch.tv/helix/streams?user_login=' + streamer_name, headers=headers)
stream_data = stream.json();
print(stream_data);
 
My python is rusty but I got this to work. 
And it doesn’t cover token reuse just generates a new one each time
             
            
               
               
               
            
            
           
          
            
              
                system  
                
                  Closed 
               
              
                  
                    December 8, 2020,  4:37pm
                   
                   
              5 
               
             
            
              This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.