Джанго с Instagram API.Как исправить ошибку кодирования? - PullRequest
0 голосов
/ 04 июня 2018

Доброе утро, я пытаюсь подключить Instagram API с Django.Я получаю код Instagram и передаю этот код функции response ().

def response(request):
if 'code' in request.GET:
    url = 'https://api.instagram.com/oauth/access_token'
    values = {
        'client_id':'SOME_ID',
        'client_secret':'SOME_SECRET',
        'redirect_uri':'SOME_URL',
        'code':request.GET.get('code'),
        'grant_type':'authorization_code'
    }
    data = urllib.parse.urlencode(values)
    bin_data = data.encode('utf-8')
    req = urllib.request.Request(url, data=bin_data)
    response = urllib.request.urlopen(req)
    response_string = response.read()
    insta_data = json.loads(response_string)
    if 'access_token' in insta_data and 'user' in insta_data:
        #authentication success
        print('True')
    else:
        #authentication failure after step 2
        print('False 2')
elif 'error' in request.GET:
    #authentication failure after step 1
    print('False 1')

Но я получаю TypeError: данные POST должны быть байтами или итерируемыми байтами.Это не может быть типа ул.Что я делаю не так?Почему, когда я кодирую в 'utf-8' или 'ascii', ничего не происходит?

...