Я пытаюсь получать сообщения из своей личной учетной записи LinkedIn и сгенерировал токен с помощью инструментов токена разработчика linkedin после создания приложения. приложение имеет доступ к продукту API управления сообществом со следующими разрешениями:
r_1st_connections_size, r_basicprofile, r_member_postAnalytics, r_member_profileAnalytics, r_organization_followers, r_organization_social, r_organization_social_feed, rw_organization_admin, w_member_social, w_member_social_feed, w_organization_social, w_organization_social_feed
мой код следующий:
import requests
ACCESS_TOKEN = "..."
BASE_URL = 'https://api.linkedin.com/rest'
def get_your_person_id():
"""Get your person ID for posts API"""
response = requests.get(
'https://api.linkedin.com/v2/me',
headers={
'Authorization': f'Bearer {ACCESS_TOKEN}'
}
)
if response.status_code == 200:
person_id = response.json()['id']
print(f"Your Person ID: {person_id}")
return person_id
else:
print(f"Error: {response.text}")
return None
headers = {
'Authorization': f'Bearer {ACCESS_TOKEN}',
'X-Restli-Protocol-Version': '2.0.0',
'Linkedin-Version': '202602'
}
def get_your_personal_posts(person_id, limit=10):
author_urn = f"urn:li:person:{person_id}"
params = {
'q': 'author',
'viewContext': "READER",
'author': author_urn,
'count': str(limit),
'sortBy': 'LAST_MODIFIED',
}
headers = {
'Authorization': f'Bearer {ACCESS_TOKEN}',
'X-Restli-Protocol-Version': '2.0.0',
'Linkedin-Version': '202602',
'X-RestLi-Method': 'FINDER'
}
response = requests.get(f'{BASE_URL}/posts', params=params, headers=headers)
if response.status_code == 200:
data = response.json()
posts = data['elements']
print(f"Found {len(posts)} posts:\n")
for i, post in enumerate(posts, 1):
post_id = post['id'].split(':')[-1]
print(f"{i}. ID: {post_id}")
print(f" URN: {post['id']}")
print()
return posts
else:
print(f"Error {response.status_code}: {response.text}")
print(f"URL: {response.url}")
return None
# RUN IT
if __name__ == "__main__":
person_id = get_your_person_id()
if person_id:
get_your_personal_posts(person_id, 5)
Вывод, который я получаю:
Your Person ID: xxxxxxxX
Error 400: {"message":"Member permissions must be used when using member as author","status":400}
URL: https://api.linkedin.com/rest/posts?q=a ... T_MODIFIED
Подробнее здесь: https://stackoverflow.com/questions/798 ... nkedin-api