Closed NebularNerd closed 1 year ago
A night's sleep and some strong coffee and I have figured that bit out 😁
For anyone searching this, change the above to:
# Fetch the access token
token = linkedin.fetch_token(token_url, client_secret=client_secret,
include_client_id=True,
authorization_response=redirect_response)
print (token)
This will give you the a reply similar to below, with your token and expiration in seconds (about 60 days):
{'access_token': 'big_long_alphanumeric_token_string_you must_not_share_with_anyone', 'expires_in': 5183999, 'scope': ['w_member_social'], 'expires_at': 1703931864.3299844}
Depending on your access level etc.. you may also at get your refresh token in this reply. Next step, let's figure out how to pass this to the .get request
OK found out how to get this working (I think, I need to re-auth my LinkedIn app for company page scopes)
To add the auth token to your requests update the following:
>>> # Fetch a protected resource, i.e. user profile
>>> r = linkedin.get('https://api.linkedin.com/v2/me')
>>> print(r.content)
to:
v = 202402 # Check the API docs for the current API version as they do no update regularly like I thought
token = "big_long_alphanumeric_token_string_you must_not_share_with_anyone"
linkedin.headers.update({"Authorization": f'Bearer {token}',"LinkedIn-Version": v,"X-Restli-Protocol-Version": "2.0.0"})
r = linkedin.get('https://api.linkedin.com/v2/me')
print(r.content)
I'm getting errors at present due to my scopes, but it's passing the access token over a treat. 😁
I shall close this for now but will leave it here and update for others to find if it helps.
I've followed and adapted the code example for LinkedIn shown here LinkedIn Example and so far so good. I can generate an OAuth code and hand it off to make an access token, which then runs the next step:
This also runs and then 403 errors as I don't have access to the
me
api scopes but thats ok.I'm trying to find where the access token from the
fetch_token
is stored and how to test if it's still valid so I can use it on the next run.Any help on this would be great 🙂