Django与Instagram API。如何修复编码错误?

Django与Instagram API。如何修复编码错误?,django,python-3.x,instagram-api,Django,Python 3.x,Instagram Api,早上好,我正在尝试连接Instagram API和Django。我正在获取Instagram代码,并将此代码提供给函数response() 但我得到了类型错误:POST数据应该是字节或字节的一个可数。它不可能是str型的。我做错了什么?为什么当我编码为“utf-8”或“ascii”时,什么都没有发生?Instagram有一个Python API客户端,您应该使用它。或者至少,使用请求而不是urllib。试试Instagram python模块 def response(request): if

早上好,我正在尝试连接Instagram API和Django。我正在获取Instagram代码,并将此代码提供给函数response()


但我得到了类型错误:POST数据应该是字节或字节的一个可数。它不可能是str型的。我做错了什么?为什么当我编码为“utf-8”或“ascii”时,什么都没有发生?

Instagram有一个Python API客户端,您应该使用它。或者至少,使用请求而不是urllib。试试Instagram python模块
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')