2013-05-23 4 views
3

Я пытаюсь подключиться к LinkedIn с помощью OAuth2Service, предоставляемого rauth. Я успешно извлекаю токен доступа. Для этого я сконфигурировал конкретный декодер для ответа json.Использование LinkedIn oauth2.0 с rauth

json_decoder = json.loads 
params = {'decoder': json_decoder} 
session = linkedin.get_auth_session(data=data, **params) 

Но при выполнении вызова API с помощью r = session.get('people/~', data={"x-li-format":'json'},) следующий ответ возвращается:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<error> 
    <status>401</status> 
    <timestamp>1369334215190</timestamp> 
    <request-id>F3SKIP4YUF</request-id> 
    <error-code>0</error-code> 
    <message>Unknown authorization header {Bearer AQU2HxhdXVHGG4sIWdZV7siahjVyTz0KIigEVvtMpAh...} 
</message> 
</error> 

Возможно ли, что LinkedIn не поддерживает маркер носителя? Если да, разве рата поддерживает другие схемы?

+2

'r = session.get ('people/~', data = {'x-li-format': 'json'}, bearer_auth = False)' – maxcountryman

+0

спасибо! 'r = session.get ('people/~? format = json & oauth2_access_token =' + str (session.access_token), data = {'x-li-format': 'json'}, bearer_auth = False)' сделал трюк. 'data = {}', однако, не переводится в добавляемый заголовок. Есть идеи? –

+0

«данные = {}, однако, не переводятся в добавляемом заголовке». Я не знаю, что ты имеешь в виду. – maxcountryman

ответ

3

Rauth поддерживает отключение аутентификации по умолчанию на основе заголовка, передавая в bearer_auth=False, see the documentation. Это должно исправить проблемы с неверными поставщиками, которые либо не поддерживают аутентификацию на основе заголовков, либо неправильно реализуют ее. Надеюсь, это поможет!