2017-12-16 8 views
1

Ich versuche, in Linkedin API zu authentifizieren, um einige Daten aus individuellen und Firmenprofilen zu kratzen. Ich bin schrecklich verwirrt mit der OAuth2.0-Dokumentation, die von developer.linkedin.com zur Verfügung gestellt wird. Ich bin mir nicht sicher, ob ich korrekte API-Aufrufe für Zugangsdatenpunkte verwende. Für eine Instanz möchte ich Profil von vielen Benutzern ihre Arbeit Geschichte, etc. Aber bevor ich es treffe, wie authentifiziere ich den Benutzer, um API-Anrufe zu machen? Früher habe ich folgende Knospe nicht funktioniert WerkBenutzerauthentifizierung linkedin -

client_id ='.....' 

client_secret='.....' 
authorization_base_url = 'https://www.linkedin.com/uas/oauth2/authorization' 
token_url = 'https://www.linkedin.com/uas/oauth2/accessToken' 

linkedin = OAuth2Session(client_id, redirect_uri='https://127.0.0.1') 
linkedin = linkedin_compliance_fix(linkedin) 
authorization_url, state = linkedin.authorization_url(authorization_base_url) 

print 'Please go here and authorize,', authorization_url 

redirect_response = raw_input('Paste the full redirect URL here:') 
#here I add https://127.0.0.1 

linkedin.fetch_token(token_url, client_secret=client_secret, 
    authorization_response=redirect_response) 

r = linkedin.get('https://api.linkedin.com/v1/people/~') 
print r.content 

I Tutorial gefolgt von hier: https://github.com/requests/requests-oauthlib/blob/master/docs/examples/linkedin.rst

hier ist die Botschaft, wenn ich eintrete - https://127.0.0.1 als das Terminal sein anfordert.

python ~/linkedin.py 
Please go here and authorize, https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=777m76reoggue0&redirect_uri=https%3A%2F%2F127.0.0.1&state=bo91J8MNuMTx1WQWn9nLd5kgGbZYFE 
**Paste the full redirect URL here:https://127.0.0.1** 
Traceback (most recent call last): 
    File "~/linkedin.py", line 22, in <module> 
    authorization_response=redirect_response) 
    File "/anaconda/lib/python2.7/site-packages/requests_oauthlib/oauth2_session.py", line 187, in fetch_token 
    state=self._state) 
    File "/anaconda/lib/python2.7/site-packages/oauthlib/oauth2/rfc6749/clients/web_application.py", line 174, in parse_request_uri_response 
    response = parse_authorization_code_response(uri, state=state) 
    File "/anaconda/lib/python2.7/site-packages/oauthlib/oauth2/rfc6749/parameters.py", line 227, in parse_authorization_code_response 
    raise MissingCodeError("Missing code parameter in response.") 
oauthlib.oauth2.rfc6749.errors.MissingCodeError: (missing_code) Missing code parameter in response. 
+0

Können Sie bitte alle relevanten Bibliotheken oder Fehlermeldungen? – andrewgu

+0

hallo andrewgu, sorry wurde vorzeitig veröffentlicht. Aktualisiert – lpt

+0

Haben Sie das "redirect_uri" registriert, während Sie Ihre verbundene App auf LinkedIn erstellt haben? –

Antwort