2017-12-17 1 views
0

Ich versuche zu lernen, wie man die YahooApi verwenden, aber wenn die Daten von der Website erhalten, gibt es mir einen internen Serverfehler. Ich habe jede Kombination von Liga- oder Ligen-Daten oder sogar allgemeine Spieldaten ausprobiert, aber alles gibt mir einen internen Serverfehler. Ich habe meinen Code unten beigefügt und jede Hilfe, die ich erhalten könnte, wäre sehr hilfreich.Versuchen, Yahoo Fantasy Sports API mit Python zu verwenden, aber internen Server Fehler

import json 
import time 
import webbrowser 
import pandas as pd 
from pandas.io.json import json_normalize 
from rauth import OAuth1Service 
from rauth.utils import parse_utf8_qsl 

credentials_file = open('auth.json') 
credentials = json.load(credentials_file) 
credentials_file.close() 

oauth = OAuth1Service(consumer_key = 'key', 
        consumer_secret = 'secret', 
        name = "yahoo", 
        request_token_url = "https://api.login.yahoo.com/oauth/v2/get_request_token", 
        access_token_url = "https://api.login.yahoo.com/oauth/v2/get_token", 
        authorize_url = "https://api.login.yahoo.com/oauth/v2/request_auth", 
        base_url = "http://fantasysports.yahooapis.com/") 

request_token, request_token_secret = oauth.get_request_token(params={"oauth_callback": "oob"}) 

authorize_url = oauth.get_authorize_url(request_token) 
webbrowser.open(authorize_url) 
verify = input('Enter code: ') 

raw_access = oauth.get_raw_access_token(request_token, 
            request_token_secret, 
            params={"oauth_verifier": verify}) 


parsed_access_token = parse_utf8_qsl(raw_access.content) 
access_token = (parsed_access_token['oauth_token'], 
parsed_access_token['oauth_token_secret']) 

start_time = time.time() 
end_time = start_time + 3600 

credentials['access_token'] = parsed_access_token['oauth_token'] 
credentials['access_token_secret'] = parsed_access_token['oauth_token_secret'] 
tokens = (credentials['access_token'], credentials['access_token_secret']) 


s = oauth.get_session(tokens) 
r = s.get('https://fantasysports.yahooapis.com/fantasy/v2/leagues;league_keys=nba.l.60379', params={'format': 'json'}) 

print(r.status_code) 
r.json() 

Und die Drucke {u'error ': {u'description': u'Internal Serverfehler‘, u'lang ': u'en-US'}}

+0

Bitte Code als Text enthalten und nicht als ein Bild sonst Ihre Frage nicht beantwortet werden und könnte von dieser Seite gelöscht. – user2314737

+0

Entschuldigung dafür – rkat

Antwort