LinkedIn API Python 라이브러리
오늘날 전문 조직 및 직원은 Linkedin을 비즈니스의 주요 소셜 플랫폼으로 간주하고 조직은 LinkedIn을 사용하여 재능 있는 사람을 찾고 재능 있는 사람은 최고의 조직에서 찾을 수 있도록 자신의 프로필과 활동을 관리합니다.
조직과 직원 모두에게 이 모든 것을 쉽고 빠르게 만들기 위해 Linkedin API와 협업하고 몇 초 안에 결과를 얻을 수 있는 많은 도구가 있습니다. 이러한 도구 중 하나는
Linkedin Python API
입니다. 자세히 살펴보겠습니다!목차 📒
❓
Getting Started ▶️
Fetching Profile Details ℹ️
Connections Management 🌐
Retrieve and Reply Messages 💬
What's next? ⏭
Linkedin Python API란 무엇입니까? ❓
Linkedin API용 Python 래퍼로, 자신의 스크립트에서 LinkedIn API와 상호 작용하여 메시지 보내기, 프로필 검색, 구직 등과 같은 다양한 작업을 수행하는 데 도움이 됩니다. 가장 멋진 부분은 공식 LinkedIn 앱을 만들지 않고 일반 LinkedIn 계정만 있으면 된다는 것입니다.
이 프로젝트를 사용하기 전에 상담 및
시작하기 ▶️
⚠️ Python >= 3.6 required
체크python installation.
패키지를 설치하려면 다음 명령을 실행하십시오.
pip3 install linkedin-api
사용 예
from linkedin_api import Linkedin
# Authenticate using any Linkedin account email and password
try:
api = Linkedin('[email protected]', 'password')
profile = api.get_profile('muhammedmoussa')
print(profile)
except:
print("An exception occurred")
프로필 가져오기의 샘플 응답입니다.
{
"summary": "...",
"industryName": "Financial Services",
"lastName": "Moussa ✪",
"address": "Hurghada, Egypt",
"locationName": "Egypt",
"student": false,
"geoCountryName": "Egypt",
"geoCountryUrn": "urn:li:******",
"geoLocationBackfilled": false,
"elt": false,
"birthDate": {},
"industryUrn": "urn:li:fs_industry:43",
"firstName": "Muhammed ",
"entityUrn": "urn:li:fs_profile:ACoAABT1wOkBUgS77T0NG2puPbStCWKVLIJHUaE",
"geoLocation": {},
"geoLocationName": "Hurghada, Al Bahr al Ahmar",
"location": {},
"headline": "JavaScript Developer at Paymob",
"displayPictureUrl": "https://media-exp2.licdn.com/dms/image/C5603AQHwEFZkUOXalw/profile-displayphoto-shrink_",
"img_100_100": "100_100/0/1647527431537?e=1663804800&v=beta&t=ILGlsVPFkYE6ScB9IXx8JX1o5j4SqVCFGVRlKgPPpmg",
"img_200_200": "200_200/0/1647527431537?e=1663804800&v=beta&t=VfEVqlmBJPPgan1tBguYDmRHPTTHSgcY83fSp7GNd-E",
"img_400_400": "400_400/0/1647527431537?e=1663804800&v=beta&t=zN_GOz0Y4PG3ZZMa2xqpNAyg704CE5qkP-_m-wyBl3w",
"img_800_800": "800_800/0/1647527431537?e=1663804800&v=beta&t=k7971X7dfIT-iY-Ng0QNuInX74BhahiRviMyZESBW8w",
"profile_id": "ACoAABT1wOkBUgS77T0NG2puPbStCWKVLIJHUaE",
"profile_urn": "urn:li:fs_miniProfile:ACoAABT1wOkBUgS77T0NG2puPbStCWKVLIJHUaE",
"member_urn": "urn:li:member:351650025",
"experience": [],
"education": [],
"languages": [],
"publications": [],
"certifications": [],
"volunteer": [],
"honors": [],
"projects": []
}
프로필 세부 정보를 가져오는 중 ℹ️
패키지에는 위에서 언급한
get_profile()
방법 외에도 LinkedIn 프로필 세부 정보와 상호 작용하는 일련의 마법 방법이 있습니다. 다음은 이러한 방법 중 일부 목록입니다.from linkedin_api import Linkedin
try:
api = Linkedin('[email protected]', 'password')
# Getting profile skills using Linkedin public profile id
skills = api.get_profile_skills('muhammedmoussa')
print(skills)
# Getting profile contact info using Linkedin public profile id
contact_info = api.get_profile_contact_info('muhammedmoussa')
print(contact_info)
# Getting profile badges using Linkedin public profile id
badges = api.get_profile_member_badges('muhammedmoussa')
print(badges)
except:
print("An exception occurred")
플러그인의 더 나은 비전을 위해 이러한 방법의 샘플 응답이 있습니다.
// skills
[
{"name": "JavaScript"},
{
"name": "TypeScript",
"standardizedSkillUrn": "urn:li:fs_miniSkill:50517",
"standardizedSkill": {
"name": "TypeScript",
"entityUrn": "urn:li:fs_miniSkill:50517"
}
},
{"name": "Node.js"},
{"name": "MongoDB"},
{"name": "Python"},
...
]
// contact_info
{
"email_address":"[email protected]",
"websites":[
{
"url":"https://muhammedmoussa.github.io/",
"label":"PERSONAL"
}
],
"twitter":[
{
"name":"muhammedMoussa",
"credentialId":"urn:li:member:351650025;345345825"
}
],
...
}
// badges
{
"premium":false,
"influencer":false,
"entityUrn":"urn:li:fs_memberBadges:******",
"openLink":false,
"jobSeeker":false,
"$type":"com.linkedin.voyager.identity.profile.MemberBadges"
}
연결 관리 🌐
또한 이 패키지에는 기존 연결 추가, 언팔로우 또는 제거, 검색 및 초대 수락과 같은 다양한 네트워크 연결 항목을 관리하고 제어하는 일련의 마법 방법이 있습니다. 또한 아래에 이러한 방법 중 일부 목록이 있습니다.
from linkedin_api import Linkedin
try:
api = Linkedin('[email protected]', 'password')
# Send connection request to a given profile id, will return a boolean.
api.add_connection('muhammedmoussa')
# Remove a connection with a given profile id, will return a boolean.
api.remove_connection('muhammedmoussa')
# Fetch connection invitations for the currently logged in user with start and limit params.
invitations = api.get_invitations(start=0, limit=3)
print(invitations)
# Unfollow a given profile id, will return a boolean.
api.unfollow_entity('muhammedmoussa')
except:
print("An exception occurred")
초대장 가져오기의 샘플 응답.
[
{
"mailboxItemId": "*******",
"toMemberId": "*******",
"fromMember": {
"memorialized": false,
"firstName": "Muhammed ",
"lastName": "Moussa",
"entityUrn": "urn:li:fs_miniProfile:******",
"publicIdentifier": "muhammedmoussa",
"trackingId": "P8mZOe9HRLO5L84xOoN16g=="
},
"invitee": {},
"invitationType": "PENDING",
"entityUrn": "urn:li:fs_relInvitation:6954589454917320704",
"toMember": {},
"inviterActors": [],
"sentTime": 1658103366339,
"customMessage": false,
"sharedSecret": "******",
"unseen": true
}
]
메시지 검색 및 회신 💬
마지막으로 패키지에는 메시지 검색 및 전송과 같은 대화 항목을 처리하는 일련의 마법 방법도 있습니다. 다음은 이러한 방법 중 일부 목록입니다.
from linkedin_api import Linkedin
try:
api = Linkedin('[email protected]', 'password')
# Fetch list of conversations logged in user. return list.
conversations = api.get_conversations()
print(conversations)
# Fetch conversation (message thread) details for a given LinkedIn profile. return dictionary.
api.get_conversation_details('urn:li:fs_miniProfile:********')
# Send a message to a given conversation. return boolean
api.send_message('Hello There!', 'urn:li:fsd_conversation:********')
# Send `seen` to a given conversation. return boolean.
mark_conversation_as_seen('urn:li:fsd_conversation:********')
except:
print("An exception occurred")
대화 가져오기의 샘플 응답입니다.
{
"metadata": {
"unreadCount": 0
},
"elements": [
{
"dashEntityUrn": "urn:li:fsd_conversation:*****",
"notificationStatus": "ACTIVE",
"read": true,
"groupChat": false,
"totalEventCount": 2,
"unreadCount": 0,
"lastActivityAt": 1658148419804,
"firstMessageUrn": "urn:li:fs_event:(*****,2-MTY1ODEwNDYyNzczOGI4ODE2Mi0wMDQmY2I0M2UwZDctZmM5ZS00NmY0LTg3OWQtNGVhMGIyYzgxZmM1XzAxMw==)",
"backendUrn": "urn:li:messagingThread:*****",
"receipts": [
{
"fromEntity": "urn:li:fs_miniProfile:******",
"seenReceipt": {
"seenAt": 1658148419629,
"eventUrn": "urn:li:fs_event:(*****,******)"
},
"fromParticipant": {
"string": "urn:li:member:351650025"
}
}
],
"lastReadAt": 1658148672641,
"archived": false,
"blocked": false,
"entityUrn": "urn:li:fs_conversation:*****",
"sdkEntityUrn": "urn:li:msg_conversation:(urn:li:fsd_profile:******,*****)",
"viewerCurrentParticipant": true,
"featureTypes": [],
"withNonConnection": false,
"muted": false,
"events": [
{
"createdAt": 1658148419796,
"reactionSummaries": [],
"dashEntityUrn": "urn:li:fsd_message:******",
"quickReplyRecommendations": [],
"entityUrn": "urn:li:fs_event:(*****,******)",
"eventContent": {
"com.linkedin.voyager.messaging.event.MessageEvent": {
"messageBodyRenderFormat": "DEFAULT",
"body": "",
"attributedBody": {
"text": "How are you?"
}
}
},
"subtype": "MEMBER_TO_MEMBER",
"from": {
"com.linkedin.voyager.messaging.MessagingMember": {
"miniProfile": {
"memorialized": false,
"firstName": "Muhammed ",
"lastName": "Moussa ✪",
"dashEntityUrn": "urn:li:fsd_profile:******",
"entityUrn": "urn:li:fs_miniProfile:******",
"backgroundImage": {},
"publicIdentifier": "muhammedmoussa",
"picture": {},
"trackingId": "gHcY3a/hRK6s0z/HDf7cTg=="
},
"entityUrn": "urn:li:fs_messagingMember:(*****,******)",
"nameInitials": "MM"
}
},
"previousEventInConversation": "urn:li:fs_event:(*****,2-MTY1ODEwNDczMDM3OWIyMzUzMi0wMDQmY2I0M2UwZDctZmM5ZS00NmY0LTg3OWQtNGVhMGIyYzgxZmM1XzAxMw==)",
"backendUrn": "urn:li:messagingMessage:******"
}
],
"participants": []
}
],
"paging": {
"count": 20,
"start": 0,
"links": []
}
}
전달하는 URL
urn
대신 여기에서 매개변수가 다른 것을 발견할 수 있습니다. 이것은 여기에서 가장 중요한 핵심 개념 중 하나URN IDs and public IDs.
로 이어집니다.URN ID
: URN(Uniform Resource Name)은 urn 체계를 사용하는 URI(Uniform Resource Identifier)입니다. URN은 전역적으로 고유합니다. LinkedIn 프로필 URN의 예: urn:li:fs_miniProfile:ACoAABQ11fIBQLGQbB1V1XPBZJsRwfK5r1U2Rzt
URL
: 구어체로 웹 주소라고 하는 URL(Uniform Resource Locator)은 컴퓨터 네트워크에서 해당 위치를 지정하는 웹 리소스에 대한 참조입니다. LinkedIn 프로필 URL의 예: https://www.linkedin.com/in/muhammedmoussa/
이에 대한 자세한 내용과 패키지가 LinkedIn API와 작동하는 방식은 다음을 확인하십시오.
무엇 향후 계획? ⏭
우리는 위에서 언급했듯이 LinkedIn Python API 패키지와 그 기능 중 일부를 살펴보았습니다. 위에서 언급했듯이 LinkedIn은 모든 전문가, 특히 기존 구인 광고, 인재 사냥 또는 일반적으로 채용 프로세스를 업그레이드하기 위해 통곡할 때 조직을 위한 도구입니다. 그래서 오늘날 우리는 LinkedIn 또는 사람 데이터 위에서 작동하고 판도를 바꿀 수 있는 훌륭한 도구를 제공하는 많은 도구를 가지고 있습니다. 다음은 일부 서비스 목록입니다.
Reference
이 문제에 관하여(LinkedIn API Python 라이브러리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/muhammedmoussa/linkedin-api-python-library-2ll텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)