403 Запрещенный доступ к публикации акций запрещен для API Linkedin с использованием библиотеки python-linkedin

Я новичок в работе с API Linkedin и пытаюсь публиковать сообщения в LinkedIn с помощью библиотеки python-linkedin: https://github.com/ozgur/python-linkedin

Мы используем Auth0 для аутентификации. Я могу получить информацию о профиле. Однако я получаю сообщение об ошибке 403 при попытке публикации с помощью Share API.

Тестирование получения профиля в оболочке работает:

In []: linkedin_api.get_profile()
Out[]:
{'firstName': '*my name*',
 'headline': '*my headline*',
 'id': '*my id*',
 'lastName': '*my lastname*',
 'siteStandardProfileRequest': {'url': 'https://www.linkedin.com/profile/view?id=*CONFIDENTIAL*&authType=name&authToken=*CONFIDENTIAL*'}}

Однако, когда я пытаюсь отправить сообщение в linkedin:

In []: linkedin_api.submit_share('Test posting
...: from the API I am working on using JSON'
...: , 'A title for your share', None, 'http:
...: //www.linkedin.com', 'http://d.pr/3OWS')

Это приводит к ошибке клиента 403

LinkedInForbiddenError: 403 Client Error: Forbidden for url: 
https://api.linkedin.com/v1/people/~/shares?
oauth2_access_token=*CONFIDENTIAL*: Access to posting shares denied

person Brooklin Myers    schedule 18.10.2018    source источник
comment
Скорее всего, вы правильно сгенерировали токен доступа? Это вызовет такие проблемы   -  person Shankar    schedule 18.10.2018
comment
это должно быть правильно. Я выполнил следующие шаги: stackoverflow.com/questions/37115035/, чтобы убедиться, что токен доступа работает. Кроме того, токен доступа создается с помощью auth0 путем получения связанного профиля Auth0 Linkedin, а затем получения токена доступа, поэтому, поскольку он обрабатывается Auth0, я не думаю, что возникнет проблема. Я проверил Auth0, чтобы убедиться, что разрешения также установлены правильно   -  person Brooklin Myers    schedule 18.10.2018
comment
На самом деле я думаю, что вы правы. Я просто попытался пройти аутентификацию на маршруте общих ресурсов https://api.linkedin.com/v1/people/~/shares/?oauth2_access_token=*Confidential*, а не на маршруте профиля, и мне было отказано в доступе! Я собираюсь выяснить, почему это может быть, и опубликую, если что-нибудь найду   -  person Brooklin Myers    schedule 18.10.2018


Ответы (1)


Выяснил, в чем дело.

Мне нужно было добавить область w_share в мою блокировку auth0, чтобы у меня был доступ к API-интерфейсу linkedin Share.

вот ссылка на вопрос, который мне помог: https://community.auth0.com/t/linkedin-w-share-permission/12386/2

Я добавил параметр connectionScopes к параметрам блокировки auth0, и это решило проблему:

connectionScopes: {
    linkedin: ["w_share"]
}
person Brooklin Myers    schedule 20.10.2018