2017-06-20 1 views
1

Ich versuche this guide zu verwenden, um Zugriffstoken zu erhalten.eBay-Zugangstoken erhalten (Authentifizierungs-Token austauschen) mit Python-Anfragen

Hier ist meine Hauptdatei:

import requests 

from utils import make_basic_auth_header, conf 
code = '<Auth code here>' 
url = "%s/identity/v1/oauth2/token" % conf('EBAY_API_PREFIX') 
headers = { 
     'Content-Type': 'application/x-www-form-urlencoded', 
     'Authorization': make_basic_auth_header() 
    } 

data = { 
    'grant_type': 'authorization_code', 
    # 'grant_type': 'refresh_token', 
    'state': None, 
    'code': code, 
    'redirect_uri': conf('EBAY_RUNAME') 
} 
r = requests.post(
    url, 
    data=data, 
    headers=headers, 
) 

Hier ist die make_basic_auth_header() Funktion:

def make_basic_auth_header(): 
    auth_header_payload = '%s:%s' % (conf('EBAY_APP_ID'), conf('EBAY_CERT_ID')) 
    auth_header_base64 = base64.b64encode(auth_header_payload) 
    auth_header = 'Basic %s' % auth_header_base64 
    return auth_header 

Aber alles, was ich in r.json() bekommen ist:

{u'error_description': u'request is missing a required parameter or malformed.', u'error': u'invalid_request'} 

ich frustriert bin - was mache ich falsch?

+0

Zusatz: meine Dateien hat python2 Zeichenfolgen - nicht Unicode. Ich habe auch versucht, auf Unicode zu wechseln - es hat nicht geholfen –

+0

Haben Sie versucht, die Daten dict als json formatiert str zu übergeben? Z.B. nach 'import json'' data = json.dumps (data) ' – etemple1

Antwort

1

Entschuldigung, ich war blöd genug und habe die Tickbox bei ebay nicht gesehen. here's the tickbox, after I've clicked it

Verwandte Themen