Responder a: Erro com URL

#36543

Olá boa noite.

Eu estava exatamente com o mesmo problema e resolvi da seguinte forma:

CSRF_TOKEN = ''.join(random.choice(string.ascii_lowercase) for i in range(24))

# https://docs.microsoft.com/en-us/linkedin/

linkedin_api_url_auth = "https://www.linkedin.com/oauth/v2/authorization?"

parameter_dict = {
'response_type': 'code',
'client_id': CLIENT_ID,
'scope':'r_liteprofile,r_emailaddress,w_member_social',
'state': CSRF_TOKEN,
'redirect_uri': REDIRECT_URL
}

url_encoded = linkedin_api_url_auth + "".join([ key+'='+value if key == 'redirect_uri' else key+'='+value+'&' for (key, value) in parameter_dict.items()])

headers = {}

r = requests.get(url=url_encoded, headers=headers)

url_auth = r.url
Funcionou perfeito. O mesma lógica usei para conseguir o access token:


AUTH_CODE = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

linkedin_api_token = "https://www.linkedin.com/oauth/v2/accessToken?"

# LINKEDIN ACCESS TOKEN
parameter_dict_auth = {
'grant_type': 'authorization_code',
'code': AUTH_CODE,
'redirect_uri': REDIRECT_URL,
'client_id': CLIENT_ID,
'client_secret': CLIENT_SECRET
}

url_encoded_auth = linkedin_api_token + "".join([ key+'='+value if key == 'client_secret' else key+'='+value+'&' for (key, value) in parameter_dict_auth.items()])

headers = {}

response = requests.get(url=url_encoded_auth, headers=headers)

response = response.json()
response
Espero que ajude.