Documentation
¶
Overview ¶
Package golinkedin is a library for scraping Linkedin. Unfortunately, auto login is impossible (probably...), so you need to retrieve Linkedin session cookies manually. As mentioned above, the purpose of this package is only for scraping, so there is no method for create, update, or delete data. Not all object is documented or present because Franklin Collin Tamboto, the original author, does not fully understand the purpose of some object returned by Linkedin internal API, and because the nature of Linkedin internal API that treat almost every object as optional, empty field or object will not be returned by Linkedin internal API, so some object or fields might be missing. Feel free to fork and contribute!
Index ¶
- Constants
- Variables
- type Action
- type Activity
- type ActivityNode
- type Actor
- type ActorFollowAction
- type AntiAbuseAnnotation
- type Artifact
- type Attribute
- type AuthorComponent
- type AuthorComponentImage
- type BackgroundCoverImage
- type BackgroundImage
- type BackgroundPicture
- type Badges
- type BirthDateOn
- type COMLinkedinPemberlyTextBold
- type COMLinkedinVoyagerFeedRenderArticleComponent
- type COMLinkedinVoyagerFeedRenderArticleComponentFollowAction
- type COMLinkedinVoyagerIdentityProfileCustomWebsite
- type CallToAction
- type CallToActionMessage
- type Certification
- type CertificationNode
- type Commentary
- type Comments
- type Company
- type CompanyNode
- type CompanyType
- type ContactInfo
- type Content
- type Coordinate
- type CountRange
- type Country
- type CropInfo
- type Cursor
- type Date
- type DateRange
- type DisplayImageReference
- type Distance
- type Education
- type EducationNode
- type EmployeeExperienceSettings
- type Entity
- type ExtendedElement
- type Filters
- type FollowingInfo
- type Geo
- type GeoLocation
- type GeoNode
- type Group
- type GroupNode
- type Honor
- type HonorNode
- type Image
- type Industry
- type IndustryNode
- type Insight
- type InsightText
- type InsightTextAttribute
- type Interest
- type InterestNode
- type IssuedOn
- type Linkedin
- func (ln *Linkedin) CompanyByName(name string) (*CompanyNode, error)
- func (ln *Linkedin) GroupByID(id int) (*Group, error)
- func (ln *Linkedin) ProfileByUsername(username string) (*ProfileNode, error)
- func (ln *Linkedin) SchoolByName(name string) (*SchoolNode, error)
- func (ln *Linkedin) SearchCompany(keywords string) (*CompanyNode, error)
- func (ln *Linkedin) SearchGeo(keywords string) (*GeoNode, error)
- func (ln *Linkedin) SearchGroup(keywords string) (*GroupNode, error)
- func (ln *Linkedin) SearchIndustry(keywords string) (*IndustryNode, error)
- func (ln *Linkedin) SearchPeople(keywords string, filter *PeopleSearchFilter, ctx *QueryContext, origin string) (*PeopleNode, error)
- func (ln *Linkedin) SearchSchool(keywords string) (*SchoolNode, error)
- func (ln *Linkedin) SearchService(keywords string) (*ServiceNode, error)
- func (ln *Linkedin) SetCookieStr(c string)
- func (ln *Linkedin) SetCookies(c []*http.Cookie)
- func (ln *Linkedin) SetProxy(p string) error
- type Locale
- type Location
- type Logo
- type MediaProcessorImage
- type MemberDistance
- type Metadata
- type MiniCompany
- type MiniGroup
- type MiniProfile
- type MiniSchool
- type MultiLocale
- type MultiLocalePronunciationAudio
- type MultiLocaleTaglines
- type Name
- type NavigationContext
- type OccupationUnion
- type Organization
- type OrganizationNode
- type Paging
- type People
- type PeopleNode
- type PeopleSearchFilter
- type Permissions
- type Phone
- type PhoneNumber
- type Photo
- type PhotoFilterEditInfo
- type Picture
- type Position
- type PositionGroup
- type PositionGroupNode
- type Profile
- type ProfileNode
- func (p *ProfileNode) Activity(in string) (*ActivityNode, error)
- func (p *ProfileNode) Certifications() *CertificationNode
- func (p *ProfileNode) Connections() (*PeopleNode, error)
- func (p *ProfileNode) ContactInfo() (*ContactInfo, error)
- func (p *ProfileNode) Educations() *EducationNode
- func (p *ProfileNode) GivenRecommendation() (*RecommendationNode, error)
- func (p *ProfileNode) Interest(in string) (*InterestNode, error)
- func (p *ProfileNode) Organizations() *OrganizationNode
- func (p *ProfileNode) PositionGroups() *PositionGroupNode
- func (p *ProfileNode) ProfileID() string
- func (p *ProfileNode) ReceivedRecommendation() (*RecommendationNode, error)
- func (p *ProfileNode) Skills() *SkillNode
- type ProfilePicture
- type ProfileTreasuryMediaEducation
- type PronunciationAudio
- type Query
- type QueryAttribute
- type QueryContext
- type ReactionTypeCount
- type Recommendation
- type RecommendationNode
- type RelatedSearch
- type SaveAction
- type School
- type SchoolNode
- type Service
- type ServiceNode
- type Skill
- type SkillNode
- type SnippetText
- type SocialDetail
- type SocialPermissions
- type SubDescription
- type SubscribeAction
- type Text
- type TimePeriod
- type Title
- type TotalSocialActivityCounts
- type TrackingData
- type Type
- type TypeClass
- type VectorImage
- type ViewerPermissions
- type Website
Constants ¶
const ( InterestCompany = "COMPANY" InterestGroup = "GROUP" InterestSchool = "SCHOOL" InterestInfluencer = "INFLUENCER" )
Interest types
const ( ActivityPost = "POST" ActivityArticle = "ARTICLE" )
Activity types
const ( Rank1 = "F" Rank2 = "S" Rank3 = "O" )
Connection Rank
const ( ResultPeople = "PEOPLE" ResultSchools = "SCHOOLS" ResultCompanies = "COMPANIES" ResultGroups = "GROUPS" )
Result Type
const ( // OriginFacetedSearch could be used for people search OriginFacetedSearch = "FACETED_SEARCH" // OriginSwitchSearchVertical could be used for people search OriginSwitchSearchVertical = "SWITCH_SEARCH_VERTICAL" // OriginOtther could be used for geo search OriginOther = "OTHER" // OriginMemberProfileCannedSearch can be used for people search OriginMemberProfileCannedSearch = "MEMBER_PROFILE_CANNED_SEARCH" )
Search Origin
const ( ContactInterestBoardMember = "boardMember" ContactInterestProBono = "proBono" )
Contact Interest values
const ( GeoSubTypeMarketArea = "MARKET_AREA" GeoSubTypeCountryRegion = "COUNTRY_REGION" GeoSubTypeAdminDivision1 = "ADMIN_DIVISION_1" GeoSubTypeCity = "CITY" )
Geo Sub Type Filters
const ( GeoAbbreviated = "GEO_ABBREVIATED" MarketplaceSkills = "MARKETPLACE_SKILLS" )
Values of param useCase
const ( TypeGeo = "GEO" TypeCompany = "COMPANY" TypeConnections = "CONNECTIONS" TypePeople = "PEOPLE" TypeIndustry = "INDUSTRY" TypeSchool = "SCHOOL" TypeSkill = "SKILL" TypeSearchHits = "SEARCH_HITS" )
Values of param type
const ( QType = "type" QAll = "all" )
Values of param q, not to be confused with tag `q` on param struct or QueryContext
const ( LangEnglish = "en" LangIndonesian = "in" LangChinese = "zh" LangJapanese = "ja" LangGerman = "de" LangFrench = "fr" LangSpanish = "es" LangPortuguese = "pt" LangOther = "_o" )
Languages
const (
// ErrSessionInvalid is returned when Linkedin session can not be used
ErrSessionInvalid = "Linkedin session invalid"
)
Variables ¶
var DefaultGeoSearchQueryContext = &QueryContext{ GeoVersion: 3, BingGeoSubTypeFilters: []string{ GeoSubTypeMarketArea, GeoSubTypeCountryRegion, GeoSubTypeAdminDivision1, GeoSubTypeCity, }, }
DefaultGeoSearchQueryContext is default query context for geo search
var DefaultSearchCompanyFilter = &Filters{ ResultType: ResultCompanies, }
DefaultSearchCompanyFilter used for search companies filters param
var DefaultSearchCompanyQueryContext = &QueryContext{
FlagshipSearchIntent: "SEARCH_SRP",
}
DefaultSearchCompanyQueryContext used for search companies queryContext param
var DefaultSearchGroupFilter = &Filters{ ResultType: ResultGroups, }
DefaultSearchGroupFilter used for search groups filters param
var DefaultSearchGroupQueryContext = &QueryContext{ SpellCorrectionEnabled: true, }
DefaultSearchGroupQueryContext used for search groups queryContext param
var DefaultSearchPeopleFilter = &PeopleSearchFilter{ ResultType: ResultPeople, }
DefaultSearchPeopleFilter used for search peoples filters param
var DefaultSearchPeopleQueryContext = &QueryContext{ SpellCorrectionEnabled: true, RelatedSearchesEnabled: true, }
DefaultSearchPeopleQueryContext used for search peoples queryContext param
var DefaultSearchSchoolFilter = &Filters{ ResultType: ResultSchools, }
DefaultSearchSchoolFilter used for search school filters param
var DefaultSearchSchoolQueryContext = &QueryContext{ SpellCorrectionEnabled: true, }
DefaultSearchSchoolQueryContext used for search school queryContext param
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct { ActionType string `json:"actionType,omitempty"` Subtext string `json:"subtext,omitempty"` SaveAction *SaveAction `json:"saveAction,omitempty"` // can be string or Text Text interface{} `json:"text,omitempty"` URL string `json:"url,omitempty"` TargetUrn string `json:"targetUrn,omitempty"` ContentSource string `json:"contentSource,omitempty"` AuthorProfileID string `json:"authorProfileId,omitempty"` AuthorUrn string `json:"authorUrn,omitempty"` ConfirmationText *Text `json:"confirmationText,omitempty"` }
type Activity ¶
type Activity struct { Image *BackgroundImage `json:"image,omitempty"` Featured bool `json:"featured,omitempty"` PermaLink string `json:"permaLink,omitempty"` LinkedinArticleUrn string `json:"linkedinArticleUrn,omitempty"` ContentText *Text `json:"contentText,omitempty"` Title string `json:"title,omitempty"` NumLikes int `json:"numLikes,omitempty"` PostedDate *Date `json:"postedDate,omitempty"` SocialDetail *SocialDetail `json:"socialDetail,omitempty"` TrackingData *TrackingData `json:"trackingData,omitempty"` NumComments int `json:"numComments,omitempty"` CreatedDate *Date `json:"createdDate,omitempty"` PostedAt int `json:"postedAt,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` AuthorComponent *AuthorComponent `json:"authorComponent,omitempty"` Actor Actor `json:"actor,omitempty"` UpdateMetadata Metadata `json:"updateMetadata,omitempty"` Content Content `json:"content,omitempty"` Commentary Commentary `json:"commentary,omitempty"` }
type ActivityNode ¶
type ActivityNode struct { Metadata *Metadata `json:"metadata,omitempty"` Elements []Activity `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` Type string `json:"type,omitempty"` ProfileUrn string `json:"profileUrn,omitempty"` // contains filtered or unexported fields }
func (*ActivityNode) Error ¶
func (act *ActivityNode) Error() error
func (*ActivityNode) Next ¶
func (act *ActivityNode) Next() bool
func (*ActivityNode) SetLinkedin ¶
func (act *ActivityNode) SetLinkedin(ln *Linkedin)
type Actor ¶
type Actor struct { Urn string `json:"urn,omitempty"` Image *Image `json:"image,omitempty"` SupplementaryActorInfo *SubDescription `json:"supplementaryActorInfo,omitempty"` Name *Name `json:"name,omitempty"` SubDescription *SubDescription `json:"subDescription,omitempty"` Description *Text `json:"description,omitempty"` ShowInfluencerBadge bool `json:"showInfluencerBadge,omitempty"` FollowAction *ActorFollowAction `json:"followAction,omitempty"` }
type ActorFollowAction ¶
type ActorFollowAction struct { FollowTrackingActionType string `json:"followTrackingActionType,omitempty"` FollowingInfo *FollowingInfo `json:"followingInfo,omitempty"` Type string `json:"type,omitempty"` TrackingActionType string `json:"trackingActionType,omitempty"` }
type AntiAbuseAnnotation ¶
type Artifact ¶
type Artifact struct { Width int `json:"width,omitempty"` FileIdentifyingURLPathSegment string `json:"fileIdentifyingUrlPathSegment,omitempty"` RecipeType string `json:"$recipeType,omitempty"` ExpiresAt int64 `json:"expiresAt,omitempty"` Height int `json:"height,omitempty"` }
Artifact store the suffix path of an image
type Attribute ¶
type Attribute struct { MiniCompany *MiniCompany `json:"miniCompany,omitempty"` MiniProfile *MiniProfile `json:"miniProfile,omitempty"` MiniSchool *MiniSchool `json:"miniSchool,omitempty"` MiniGroup *MiniGroup `json:"miniGroup,omitempty"` Distance *Distance `json:"distance,omitempty"` SourceType string `json:"sourceType,omitempty"` Start int `json:"start,omitempty"` Length int `json:"length,omitempty"` // can be string or Type Type interface{} `json:"type,omitempty"` ArtDecoIcon string `json:"artDecoIcon,omitempty"` VectorImage VectorImage `json:"vectorImage,omitempty"` }
type AuthorComponent ¶
type AuthorComponent struct { Name *Text `json:"name,omitempty"` Image *AuthorComponentImage `json:"image,omitempty"` Description *Text `json:"description,omitempty"` }
type AuthorComponentImage ¶
type BackgroundCoverImage ¶
type BackgroundImage ¶
type BackgroundImage struct {
COMLinkedinCommonVectorImage VectorImage `json:"com.linkedin.common.VectorImage,omitempty"`
}
type BackgroundPicture ¶
type BackgroundPicture struct { RecipeType string `json:"$recipeType,omitempty"` DisplayImageReference *DisplayImageReference `json:"displayImageReference,omitempty"` DisplayImageUrn string `json:"displayImageUrn,omitempty"` }
BackgroundPicture contains multiple qualities of background banner
type BirthDateOn ¶
type COMLinkedinPemberlyTextBold ¶
type COMLinkedinPemberlyTextBold struct { }
type COMLinkedinVoyagerFeedRenderArticleComponent ¶
type COMLinkedinVoyagerFeedRenderArticleComponent struct { TemplateType string `json:"templateType,omitempty"` Urn string `json:"urn,omitempty"` LargeImage *Image `json:"largeImage,omitempty"` Subtitle *Text `json:"subtitle,omitempty"` Type string `json:"type,omitempty"` Title *Text `json:"title,omitempty"` Author *Text `json:"author,omitempty"` Description *Text `json:"description,omitempty"` FollowAction *COMLinkedinVoyagerFeedRenderArticleComponentFollowAction `json:"followAction,omitempty"` SubtitleImage *Image `json:"subtitleImage,omitempty"` SubscribeAction *SubscribeAction `json:"subscribeAction,omitempty"` }
type COMLinkedinVoyagerFeedRenderArticleComponentFollowAction ¶
type COMLinkedinVoyagerFeedRenderArticleComponentFollowAction struct { FollowTrackingActionType string `json:"followTrackingActionType,omitempty"` FollowingInfo *FollowingInfo `json:"followingInfo,omitempty"` UnfollowTrackingActionType string `json:"unfollowTrackingActionType,omitempty"` Type string `json:"type,omitempty"` TrackingActionType string `json:"trackingActionType,omitempty"` }
type COMLinkedinVoyagerIdentityProfileCustomWebsite ¶
type COMLinkedinVoyagerIdentityProfileCustomWebsite struct {
Label string `json:"label,omitempty"`
}
type CallToAction ¶
type CallToAction struct { CallToActionType string `json:"callToActionType,omitempty"` Visible bool `json:"visible,omitempty"` CallToActionMessage CallToActionMessage `json:"callToActionMessage,omitempty"` URL string `json:"url,omitempty"` }
type CallToActionMessage ¶
type Certification ¶
type Certification struct { DateRange DateRange `json:"dateRange,omitempty"` MultiLocaleLicenseNumber MultiLocale `json:"multiLocaleLicenseNumber,omitempty"` CompanyUrn string `json:"companyUrn,omitempty"` URL string `json:"url,omitempty"` MultiLocaleAuthority MultiLocale `json:"multiLocaleAuthority,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` Authority string `json:"authority,omitempty"` Name string `json:"name,omitempty"` MultiLocaleName MultiLocale `json:"multiLocaleName,omitempty"` LicenseNumber string `json:"licenseNumber,omitempty"` Company Company `json:"company,omitempty"` RecipeType string `json:"$recipeType,omitempty"` DisplaySource string `json:"displaySource,omitempty"` TimePeriod TimePeriod `json:"timePeriod,omitempty"` }
type CertificationNode ¶
type CertificationNode struct { ProfileID string `json:"profileId,omitempty"` Paging Paging `json:"paging,omitempty"` RecipeType string `json:"$recipeType,omitempty"` Elements []Certification `json:"elements,omitempty"` // contains filtered or unexported fields }
CertificationNode contains user educations info
func (*CertificationNode) Error ¶
func (c *CertificationNode) Error() error
func (*CertificationNode) Next ¶
func (c *CertificationNode) Next() bool
func (*CertificationNode) SetLinkedin ¶
func (c *CertificationNode) SetLinkedin(ln *Linkedin)
type Commentary ¶
type Company ¶
type Company struct { // Elements contains companies from search company result Elements []Company `json:"elements,omitempty"` ExtendedElements []interface{} `json:"extendedElements,omitempty"` Industry map[string]Industry `json:"industry,omitempty"` IndustryUrns []string `json:"industryUrns,omitempty"` AntiAbuseAnnotations []AntiAbuseAnnotation `json:"$anti_abuse_annotations,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` MiniCompany *MiniCompany `json:"miniCompany,omitempty"` EmployeeCountRange *CountRange `json:"employeeCountRange,omitempty"` Industries []string `json:"industries,omitempty"` Name string `json:"name,omitempty"` Logo *Logo `json:"logo,omitempty"` RecipeType string `json:"$recipeType,omitempty"` UniversalName string `json:"universalName,omitempty"` URL string `json:"url,omitempty"` ObjectUrn string `json:"objectUrn,omitempty"` Showcase bool `json:"showcase,omitempty"` Active bool `json:"active,omitempty"` TrackingID string `json:"trackingId,omitempty"` Image *Image `json:"image,omitempty"` Subtext *Text `json:"subtext,omitempty"` TargetUrn string `json:"targetUrn,omitempty"` Text *Text `json:"text,omitempty"` DashTargetUrn string `json:"dashTargetUrn,omitempty"` Type string `json:"type,omitempty"` TrackingUrn string `json:"trackingUrn,omitempty"` Title *Title `json:"title,omitempty"` Headline *Text `json:"headline,omitempty"` Subline *Text `json:"subline,omitempty"` VideosTabVisible bool `json:"videosTabVisible,omitempty"` StaffCount int `json:"staffCount,omitempty"` CompanyEmployeesSearchPageURL string `json:"companyEmployeesSearchPageUrl,omitempty"` ViewerFollowingJobsUpdates bool `json:"viewerFollowingJobsUpdates,omitempty"` MyCompanyVisible bool `json:"myCompanyVisible,omitempty"` Permissions *Permissions `json:"permissions,omitempty"` EligibleForOnlineJobPostingEntry bool `json:"eligibleForOnlineJobPostingEntry,omitempty"` FollowingInfo *FollowingInfo `json:"followingInfo,omitempty"` ViewerEmployee bool `json:"viewerEmployee,omitempty"` AffiliatedCompaniesWithEmployeesRollup []interface{} `json:"affiliatedCompaniesWithEmployeesRollup,omitempty"` AffiliatedCompaniesWithJobsRollup []interface{} `json:"affiliatedCompaniesWithJobsRollup,omitempty"` OrganizationLixes []interface{} `json:"organizationLixes,omitempty"` Tagline string `json:"tagline,omitempty"` ViewerCurrentEmployee bool `json:"viewerCurrentEmployee,omitempty"` MultiLocaleTaglines *MultiLocaleTaglines `json:"multiLocaleTaglines,omitempty"` Headquarter *Location `json:"headquarter,omitempty"` PublishedProductsOwner bool `json:"publishedProductsOwner,omitempty"` CompanyPageURL string `json:"companyPageUrl,omitempty"` ViewerConnectedToAdministrator bool `json:"viewerConnectedToAdministrator,omitempty"` DataVersion int `json:"dataVersion,omitempty"` ShowcasePages []interface{} `json:"showcasePages,omitempty"` ClaimableByViewer bool `json:"claimableByViewer,omitempty"` JobSearchPageURL string `json:"jobSearchPageUrl,omitempty"` AutoGenerated bool `json:"autoGenerated,omitempty"` ViewerPermissions *ViewerPermissions `json:"viewerPermissions,omitempty"` StaffingCompany bool `json:"staffingCompany,omitempty"` CompanyIndustries []Industry `json:"companyIndustries,omitempty"` CallToAction *CallToAction `json:"callToAction,omitempty"` AdsRule string `json:"adsRule,omitempty"` StaffCountRange *CountRange `json:"staffCountRange,omitempty"` Claimable bool `json:"claimable,omitempty"` Specialities []string `json:"specialities,omitempty"` ConfirmedLocations []Location `json:"confirmedLocations,omitempty"` VersionTag string `json:"versionTag,omitempty"` LcpTreatment bool `json:"lcpTreatment,omitempty"` EmployeeExperienceSettings *EmployeeExperienceSettings `json:"employeeExperienceSettings,omitempty"` Description string `json:"description,omitempty"` PaidCompany bool `json:"paidCompany,omitempty"` ViewerPendingAdministrator bool `json:"viewerPendingAdministrator,omitempty"` AffiliatedCompanies []interface{} `json:"affiliatedCompanies,omitempty"` FoundedOn *Date `json:"foundedOn,omitempty"` CompanyType *CompanyType `json:"companyType,omitempty"` Groups []interface{} `json:"groups,omitempty"` EventsTabVisible bool `json:"eventsTabVisible,omitempty"` BackgroundCoverImage *BackgroundCoverImage `json:"backgroundCoverImage,omitempty"` AffiliatedCompaniesWithEmployeesRollupResolutionResults map[string]Company `json:"affiliatedCompaniesWithEmployeesRollupResolutionResults,omitempty"` Phone Phone `json:"phone,omitempty"` OverviewPhoto Photo `json:"overviewPhoto,omitempty"` CoverPhoto Photo `json:"coverPhoto,omitempty"` School string `json:"school,omitempty"` AffiliatedCompaniesResolutionResults map[string]Company `json:"affiliatedCompaniesResolutionResults,omitempty"` ShowcasePagesResolutionResults map[string]Company `json:"showcasePagesResolutionResults,omitempty"` GroupsResolutionResults map[string]Group `json:"groupsResolutionResults,omitempty"` }
Company contain information about a company. Company can also represent a school since school is also a company, see Linkedin.SchoolByName
type CompanyNode ¶
type CompanyNode struct { Metadata Metadata `json:"metadata,omitempty"` Elements []Company `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` Keywords string `json:"keywords,omitempty"` // contains filtered or unexported fields }
func (*CompanyNode) Error ¶
func (comp *CompanyNode) Error() error
func (*CompanyNode) Next ¶
func (comp *CompanyNode) Next() bool
func (*CompanyNode) SetLinkedin ¶
func (comp *CompanyNode) SetLinkedin(ln *Linkedin)
type CompanyType ¶
type ContactInfo ¶
type ContactInfo struct { BirthDateOn BirthDateOn `json:"birthDateOn,omitempty"` EmailAddress string `json:"emailAddress,omitempty"` BirthdayVisibilitySetting string `json:"birthdayVisibilitySetting,omitempty"` Address string `json:"address,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` Websites []Website `json:"websites,omitempty"` TwitterHandles []interface{} `json:"twitterHandles,omitempty"` PhoneNumbers []PhoneNumber `json:"phoneNumbers,omitempty"` }
type Content ¶
type Content struct {
COMLinkedinVoyagerFeedRenderArticleComponent COMLinkedinVoyagerFeedRenderArticleComponent `json:"com.linkedin.voyager.feed.render.ArticleComponent,omitempty"`
}
type Coordinate ¶
type CountRange ¶
type Cursor ¶
type Cursor interface { // SetLinkedin set Linkedin client SetLinkedin(ln *Linkedin) // Next fetch next page content Next() bool // Error return error occured while cursoring Error() error }
Cursor is interface for all nodes that have pagination/cursor
type DateRange ¶
DateRange is kinda like TimePeriod, don't know why linkedin have to use different approach for different object
type DisplayImageReference ¶
type DisplayImageReference struct { VectorImage *VectorImage `json:"vectorImage,omitempty"` URL string `json:"url,omitempty"` }
type Education ¶
type Education struct { EntityUrn string `json:"entityUrn,omitempty"` Activities string `json:"activities,omitempty"` School *School `json:"school,omitempty"` TimePeriod *TimePeriod `json:"timePeriod,omitempty"` Grade string `json:"grade,omitempty"` Description string `json:"description,omitempty"` DegreeName string `json:"degreeName,omitempty"` SchoolName string `json:"schoolName,omitempty"` FieldOfStudy string `json:"fieldOfStudy,omitempty"` Recommendations []interface{} `json:"recommendations,omitempty"` SchoolUrn string `json:"schoolUrn,omitempty"` DateRange *DateRange `json:"dateRange,omitempty"` ProfileTreasuryMediaEducation *ProfileTreasuryMediaEducation `json:"profileTreasuryMediaEducation,omitempty"` MultiLocaleSchoolName *MultiLocale `json:"multiLocaleSchoolName,omitempty"` MultiLocaleFieldOfStudy *MultiLocale `json:"multiLocaleFieldOfStudy,omitempty"` RecipeType string `json:"$recipeType,omitempty"` MultiLocaleDescription *MultiLocale `json:"multiLocaleDescription,omitempty"` MultiLocaleActivities *MultiLocale `json:"multiLocaleActivities,omitempty"` MultiLocaleDegreeName *MultiLocale `json:"multiLocaleDegreeName,omitempty"` }
type EducationNode ¶
type EducationNode struct { // will set after calling ProfileNode.Educations() ProfileID string `json:"profileId,omitempty"` Elements []Education `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` // contains filtered or unexported fields }
EducationNode contains user educations info
func (*EducationNode) Error ¶
func (edu *EducationNode) Error() error
func (*EducationNode) Next ¶
func (edu *EducationNode) Next() bool
func (*EducationNode) SetLinkedin ¶
func (edu *EducationNode) SetLinkedin(ln *Linkedin)
type EmployeeExperienceSettings ¶
type EmployeeExperienceSettings struct { MyCompanyVisibility bool `json:"myCompanyVisibility,omitempty"` PymkVisibility string `json:"pymkVisibility,omitempty"` MyCompanyEmployeeVerificationRequired bool `json:"myCompanyEmployeeVerificationRequired,omitempty"` HighlightsVisibility string `json:"highlightsVisibility,omitempty"` TrendingContentVisibility string `json:"trendingContentVisibility,omitempty"` BroadcastsVisibility string `json:"broadcastsVisibility,omitempty"` }
type Entity ¶
type Entity struct { MiniCompany *MiniCompany `json:"com.linkedin.voyager.entities.shared.MiniCompany,omitempty"` MiniGroup *MiniGroup `json:"com.linkedin.voyager.entities.shared.MiniGroup,omitempty"` MiniSchool *MiniSchool `json:"com.linkedin.voyager.entities.shared.MiniSchool,omitempty"` MiniProfile *MiniProfile `json:"com.linkedin.voyager.entities.shared.MiniProfile,omitempty"` }
type ExtendedElement ¶
type ExtendedElement struct { RelatedSearches []RelatedSearch `json:"relatedSearches,omitempty"` Type string `json:"type,omitempty"` }
type Filters ¶
type Filters struct {
ResultType string `q:"resultType" json:"resultType,omitempty"`
}
Filters is generic filter used by no filter search, such as school search or company search
type FollowingInfo ¶
type Geo ¶
type Geo struct { CountryUrn string `json:"countryUrn,omitempty"` Country *Country `json:"country,omitempty"` DefaultLocalizedNameWithoutCountryName string `json:"defaultLocalizedNameWithoutCountryName,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` RecipeType string `json:"$recipeType,omitempty"` DefaultLocalizedName string `json:"defaultLocalizedName,omitempty"` TargetUrn string `json:"targetUrn,omitempty"` Text Text `json:"text,omitempty"` DashTargetUrn string `json:"dashTargetUrn,omitempty"` Type string `json:"type,omitempty"` TrackingID string `json:"trackingId,omitempty"` }
type GeoLocation ¶
type GeoNode ¶
type GeoNode struct { Metadata Metadata `json:"metadata,omitempty"` Elements []Geo `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` Keywords string `json:"keywords,omitempty"` // contains filtered or unexported fields }
func (*GeoNode) SetLinkedin ¶
type Group ¶
type Group struct { // Elements contains groups from search group result Elements []Group `json:"elements,omitempty"` ExtendedElements []interface{} `json:"extendedElements,omitempty"` Image *Image `json:"image,omitempty"` TargetUrn string `json:"targetUrn,omitempty"` TrackingUrn string `json:"trackingUrn,omitempty"` Title *Text `json:"title,omitempty"` Type string `json:"type,omitempty"` Headline *Text `json:"headline,omitempty"` Subline *Text `json:"subline,omitempty"` TrackingID string `json:"trackingId,omitempty"` GroupName string `json:"groupName,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` MemberCount int `json:"memberCount,omitempty"` Logo *Image `json:"logo,omitempty"` HeroImage *Image `json:"heroImage,omitempty"` RecipeType string `json:"$recipeType,omitempty"` URL string `json:"url,omitempty"` DashEntityUrn string `json:"dashEntityUrn"` DisplayNotificationSubscriptionLevelOptions bool `json:"displayNotificationSubscriptionLevelOptions"` GroupPostNotificationsEdgeSettingUrn string `json:"groupPostNotificationsEdgeSettingUrn"` PostApprovalEnabled bool `json:"postApprovalEnabled"` Description *Text `json:"description"` ShowPostApprovalOption bool `json:"showPostApprovalOption"` Rules string `json:"rules"` Owners []Attribute `json:"owners"` LogoUrn string `json:"logoUrn"` InvitationLevel string `json:"invitationLevel"` MemberConnectionsCount int `json:"memberConnectionsCount"` CreatedAt int `json:"createdAt"` Name *Text `json:"name"` GlobalNewPostNotificationSettingOn bool `json:"globalNewPostNotificationSettingOn"` RecommendByAdminAvailable bool `json:"recommendByAdminAvailable"` GroupUrn string `json:"groupUrn"` Managers []Attribute `json:"managers"` }
type GroupNode ¶
type GroupNode struct { Keywords string `json:"keywords,omitempty"` Metadata Metadata `json:"metadata,omitempty"` Elements []Group `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` // contains filtered or unexported fields }
func (*GroupNode) SetLinkedin ¶
type Honor ¶
type Honor struct { MultiLocaleTitle *MultiLocale `json:"multiLocaleTitle,omitempty"` Description string `json:"description,omitempty"` OccupationUnion *OccupationUnion `json:"occupationUnion,omitempty"` Title string `json:"title,omitempty"` Issuer string `json:"issuer,omitempty"` IssuedOn *IssuedOn `json:"issuedOn,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` RecipeType string `json:"$recipeType,omitempty"` MultiLocaleIssuer *MultiLocale `json:"multiLocaleIssuer,omitempty"` MultiLocaleDescription *MultiLocale `json:"multiLocaleDescription,omitempty"` Occupation string `json:"occupation,omitempty"` IssueDate *Date `json:"issueDate,omitempty"` }
type HonorNode ¶
type HonorNode struct { ProfileID string `json:"profileId,omitempty"` Paging Paging `json:"paging,omitempty"` RecipeType string `json:"$recipeType,omitempty"` Elements []Honor `json:"elements,omitempty"` // contains filtered or unexported fields }
func (*HonorNode) SetLinkedin ¶
type Image ¶
type Image struct { COMLinkedinCommonVectorImage *VectorImage `json:"com.linkedin.common.VectorImage,omitempty"` Attributes []Attribute `json:"attributes,omitempty"` AccessibilityTextAttributes []interface{} `json:"accessibilityTextAttributes,omitempty"` }
type Industry ¶
type Industry struct { LocalizedName string `json:"localizedName,omitempty"` Name string `json:"name,omitempty"` RecipeType string `json:"$recipeType,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` CompanyNameRequired bool `json:"companyNameRequired,omitempty"` TargetUrn string `json:"targetUrn,omitempty"` ObjectUrn string `json:"objectUrn,omitempty"` Text Text `json:"text,omitempty"` DashTargetUrn string `json:"dashTargetUrn,omitempty"` Type string `json:"type,omitempty"` TrackingID string `json:"trackingId,omitempty"` }
type IndustryNode ¶
type IndustryNode struct { Metadata Metadata `json:"metadata,omitempty"` Elements []Industry `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` Keywords string `json:"keywords,omitempty"` // contains filtered or unexported fields }
func (*IndustryNode) Error ¶
func (ind *IndustryNode) Error() error
func (*IndustryNode) Next ¶
func (ind *IndustryNode) Next() bool
func (*IndustryNode) SetLinkedin ¶
func (ind *IndustryNode) SetLinkedin(ln *Linkedin)
type Insight ¶
type Insight struct { Type string `json:"type,omitempty"` InsightText InsightText `json:"insightText,omitempty"` }
type InsightText ¶
type InsightText struct { TextDirection string `json:"textDirection,omitempty"` Attributes []InsightTextAttribute `json:"attributes,omitempty"` Text string `json:"text,omitempty"` }
type InsightTextAttribute ¶
type Interest ¶
type Interest struct { Entity *Entity `json:"entity,omitempty"` FollowingInfo *FollowingInfo `json:"followingInfo,omitempty"` }
type InterestNode ¶
type InterestNode struct { ProfileID string `json:"profileId,omitempty"` Type string `json:"type,omitempty"` Elements []Interest `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` // contains filtered or unexported fields }
func (*InterestNode) Error ¶
func (inter *InterestNode) Error() error
func (*InterestNode) Next ¶
func (inter *InterestNode) Next() bool
func (*InterestNode) SetLinkedin ¶
func (inter *InterestNode) SetLinkedin(ln *Linkedin)
type Linkedin ¶
type Linkedin struct {
// contains filtered or unexported fields
}
Linkedin hold all (covered) features and data resources
func (*Linkedin) CompanyByName ¶
func (ln *Linkedin) CompanyByName(name string) (*CompanyNode, error)
func (*Linkedin) ProfileByUsername ¶
func (ln *Linkedin) ProfileByUsername(username string) (*ProfileNode, error)
ProfileByUsername lookup profile with basic information by public identifier (username)
func (*Linkedin) SchoolByName ¶
func (ln *Linkedin) SchoolByName(name string) (*SchoolNode, error)
SchoolByName lookup school by universal name.
func (*Linkedin) SearchCompany ¶
func (ln *Linkedin) SearchCompany(keywords string) (*CompanyNode, error)
SearchCompany search companies by keywords
func (*Linkedin) SearchGroup ¶
SearchGroup search groups by keywords
func (*Linkedin) SearchIndustry ¶
func (ln *Linkedin) SearchIndustry(keywords string) (*IndustryNode, error)
SearchIndustry search industries by keywords
func (*Linkedin) SearchPeople ¶
func (ln *Linkedin) SearchPeople(keywords string, filter *PeopleSearchFilter, ctx *QueryContext, origin string) (*PeopleNode, error)
SearchPeople search people based on filter. If filter is nil, default value will be used, and so with ctx and origin
func (*Linkedin) SearchSchool ¶
func (ln *Linkedin) SearchSchool(keywords string) (*SchoolNode, error)
SearchSchool search school by keywords
func (*Linkedin) SearchService ¶
func (ln *Linkedin) SearchService(keywords string) (*ServiceNode, error)
SearchService search service by keywords
func (*Linkedin) SetCookieStr ¶
SetCookieStr set Linkedin session cookie string
func (*Linkedin) SetCookies ¶
SetCookies set Linkedin session cookies from parsed cookie string
type Locale ¶
type Locale struct { Country string `json:"country,omitempty"` Language string `json:"language,omitempty"` RecipeType string `json:"$recipeType,omitempty"` AntiAbuseAnnotations []AntiAbuseAnnotation `json:"$anti_abuse_annotations,omitempty"` }
type Location ¶
type Location struct { PreferredGeoPlace string `json:"preferredGeoPlace,omitempty"` CountryCode string `json:"countryCode,omitempty"` GeographicArea string `json:"geographicArea,omitempty"` Country string `json:"country,omitempty"` City string `json:"city,omitempty"` PostalCode string `json:"postalCode,omitempty"` Description string `json:"description,omitempty"` Headquarter bool `json:"headquarter,omitempty"` Line2 string `json:"line2,omitempty"` Line1 string `json:"line1,omitempty"` }
type Logo ¶
type Logo struct { // Sometimes the images stored in here COMLinkedinCommonVectorImage *VectorImage `json:"com.linkedin.common.VectorImage,omitempty"` // Sometimes in here, make sure to check both of these fields VectorImage *VectorImage `json:"vectorImage,omitempty"` Image *Image `json:"image,omitempty"` }
Logo ususally used in Company or School for their logo image
type MediaProcessorImage ¶
type MediaProcessorImage struct {
ID string `json:"id,omitempty"`
}
type MemberDistance ¶
type MemberDistance struct {
Value string `json:"value,omitempty"`
}
type Metadata ¶
type Metadata struct { PaginationToken string `json:"paginationToken,omitempty"` NewRelevanceFeed bool `json:"newRelevanceFeed,omitempty"` ID string `json:"id,omitempty"` Type string `json:"type,omitempty"` QueryAfterTime int `json:"queryAfterTime,omitempty"` Urn string `json:"urn,omitempty"` ActionsPosition string `json:"actionsPosition,omitempty"` ActionTriggerEnabled bool `json:"actionTriggerEnabled,omitempty"` DetailPageType string `json:"detailPageType,omitempty"` ExcludedFromSeen bool `json:"excludedFromSeen,omitempty"` ActionsUrn string `json:"actionsUrn,omitempty"` Actions []Action `json:"actions,omitempty"` TrackingData TrackingData `json:"trackingData,omitempty"` }
type MiniCompany ¶
type MiniCompany struct { ObjectUrn string `json:"objectUrn,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` Name string `json:"name,omitempty"` Showcase bool `json:"showcase,omitempty"` Active bool `json:"active,omitempty"` Logo *Logo `json:"logo,omitempty"` UniversalName string `json:"universalName,omitempty"` TrackingID string `json:"trackingId,omitempty"` }
type MiniGroup ¶
type MiniGroup struct { GroupName string `json:"groupName,omitempty"` ObjectUrn string `json:"objectUrn,omitempty"` GroupDescription string `json:"groupDescription,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` Logo *Logo `json:"logo,omitempty"` TrackingID string `json:"trackingId,omitempty"` }
type MiniProfile ¶
type MiniProfile struct { FirstName string `json:"firstName,omitempty"` LastName string `json:"lastName,omitempty"` Occupation string `json:"occupation,omitempty"` ObjectUrn string `json:"objectUrn,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` PublicIdentifier string `json:"publicIdentifier,omitempty"` Picture *Picture `json:"picture,omitempty"` TrackingID string `json:"trackingId,omitempty"` BackgroundImage *BackgroundImage `json:"backgroundImage,omitempty"` }
type MiniSchool ¶
type MultiLocale ¶
type MultiLocale struct {
EnUS string `json:"en_US,omitempty"`
}
type MultiLocalePronunciationAudio ¶
type MultiLocalePronunciationAudio struct {
EnUS *PronunciationAudio `json:"en_US,omitempty"`
}
type MultiLocaleTaglines ¶
type MultiLocaleTaglines struct { Localized MultiLocale `json:"localized,omitempty"` PreferredLocale Locale `json:"preferredLocale,omitempty"` }
type NavigationContext ¶
type NavigationContext struct {}
type OccupationUnion ¶
type OccupationUnion struct {
ProfilePosition string `json:"profilePosition,omitempty"`
}
type Organization ¶
type Organization struct { EntityUrn string `json:"entityUrn,omitempty"` DateRange DateRange `json:"dateRange,omitempty"` Name string `json:"name,omitempty"` MultiLocaleName MultiLocale `json:"multiLocaleName,omitempty"` RecipeType string `json:"$recipeType,omitempty"` PositionHeld string `json:"positionHeld,omitempty"` MultiLocalePositionHeld MultiLocale `json:"multiLocalePositionHeld,omitempty"` TimePeriod *TimePeriod `json:"timePeriod,omitempty"` Position string `json:"position,omitempty"` }
type OrganizationNode ¶
type OrganizationNode struct { ProfileID string `json:"profileId,omitempty"` Paging Paging `json:"paging,omitempty"` RecipeType string `json:"$recipeType,omitempty"` Elements []Organization `json:"elements,omitempty"` // contains filtered or unexported fields }
OrganizationNode contains user organizations info
func (*OrganizationNode) Error ¶
func (org *OrganizationNode) Error() error
func (*OrganizationNode) Next ¶
func (org *OrganizationNode) Next() bool
func (*OrganizationNode) SetLinkedin ¶
func (org *OrganizationNode) SetLinkedin(ln *Linkedin)
type Paging ¶
type Paging struct { // set entities per page Count int `json:"count,omitempty"` // set start cursor Start int `json:"start,omitempty"` // total entities in this node Total int `json:"total,omitempty"` // Linkedin cursor link? Links []interface{} `json:"links,omitempty"` RecipeType string `json:"$recipeType,omitempty"` }
Paging control resource cursoring. It is highly advised to NOT CHANGE ANY OF THE VALUES OF Paging as it can cause infinite loop when cursoring
type People ¶
type People struct { // Elements contains peoples from search people result Elements []People `json:"elements,omitempty"` ExtendedElements []ExtendedElement `json:"extendedElements,omitempty"` Image Image `json:"image,omitempty"` Subtext Text `json:"subtext,omitempty"` TargetUrn string `json:"targetUrn,omitempty"` ObjectUrn string `json:"objectUrn,omitempty"` Text Text `json:"text,omitempty"` DashTargetUrn string `json:"dashTargetUrn,omitempty"` Type string `json:"type,omitempty"` TrackingID string `json:"trackingId,omitempty"` MemberDistance *MemberDistance `json:"memberDistance,omitempty"` SocialProofImagePile []Image `json:"socialProofImagePile,omitempty"` TrackingUrn string `json:"trackingUrn,omitempty"` Title *Title `json:"title,omitempty"` Headless bool `json:"headless,omitempty"` Badges *Badges `json:"badges,omitempty"` SocialProofText string `json:"socialProofText,omitempty"` SnippetText *SnippetText `json:"snippetText,omitempty"` SecondaryTitle *Title `json:"secondaryTitle,omitempty"` PublicIdentifier string `json:"publicIdentifier,omitempty"` Headline *Title `json:"headline,omitempty"` NameMatch bool `json:"nameMatch,omitempty"` Subline *Title `json:"subline,omitempty"` Insights []Insight `json:"insights,omitempty"` }
type PeopleNode ¶
type PeopleNode struct { Metadata Metadata `json:"metadata,omitempty"` Elements []People `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` Keywords string `json:"keywords,omitempty"` Filters *PeopleSearchFilter `json:"peopleSearchFilter,omitempty"` QueryContext *QueryContext `json:"queryContext,omitempty"` Origin string `json:"origin,omitempty"` // contains filtered or unexported fields }
func (*PeopleNode) Error ¶
func (ppl *PeopleNode) Error() error
func (*PeopleNode) Next ¶
func (ppl *PeopleNode) Next() bool
func (*PeopleNode) SetLinkedin ¶
func (ppl *PeopleNode) SetLinkedin(ln *Linkedin)
type PeopleSearchFilter ¶
type PeopleSearchFilter struct { CurrentCompany []int `q:"currentCompany" json:"currentCompany,omitempty"` PastCompany []int `q:"pastCompany" json:"pastCompany,omitempty"` GeoURN []int `q:"geoUrn" json:"geoUrn,omitempty"` Industry []int `q:"industry" json:"industry,omitempty"` Network []string `q:"network" json:"network,omitempty"` ProfileLanguage []string `q:"profileLanguage" json:"profileLanguage,omitempty"` School []int `q:"school" json:"school,omitempty"` ServiceCategory []string `q:"serviceCategory" json:"serviceCategory,omitempty"` // Profile ID ConnectionOf string `q:"connectionOf" json:"connectionOf,omitempty"` ContactInterest []string `q:"contactInterest" json:"contactInterest,omitempty"` FirstName string `q:"firstName" json:"firstName,omitempty"` LastName string `q:"lastName" json:"lastName,omitempty"` Title string `q:"title" json:"title,omitempty"` Company string `q:"company" json:"company,omitempty"` // It will be still 'school', but with string value, i don't know why Linkedin have such ambiguous parameter. // So you will have 'school' param with array of int, and 'school' param with string SchoolStr string `q:"schoolStr" json:"schoolStr,omitempty"` // will automaticaly set ResultType string `q:"resultType" json:"resultType,omitempty"` }
PeopleSearchFilter is filter for people search.
type Permissions ¶
type PhoneNumber ¶
type Photo ¶
type Photo struct {
COMLinkedinVoyagerCommonMediaProcessorImage MediaProcessorImage `json:"com.linkedin.voyager.common.MediaProcessorImage,omitempty"`
}
type PhotoFilterEditInfo ¶
type PhotoFilterEditInfo struct { BottomLeft *Coordinate `json:"bottomLeft,omitempty"` Vignette float64 `json:"vignette,omitempty"` BottomRight *Coordinate `json:"bottomRight,omitempty"` TopRight *Coordinate `json:"topRight,omitempty"` Saturation float64 `json:"saturation,omitempty"` Brightness float64 `json:"brightness,omitempty"` PhotoFilterType string `json:"photoFilterType,omitempty"` Contrast float64 `json:"contrast,omitempty"` TopLeft *Coordinate `json:"topLeft,omitempty"` RecipeType string `json:"$recipeType,omitempty"` }
type Picture ¶
type Picture struct {
COMLinkedinCommonVectorImage *VectorImage `json:"com.linkedin.common.VectorImage,omitempty"`
}
type Position ¶
type Position struct { LocationName string `json:"locationName,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` GeoLocationName string `json:"geoLocationName,omitempty"` GeoUrn string `json:"geoUrn,omitempty"` CompanyName string `json:"companyName,omitempty"` TimePeriod TimePeriod `json:"timePeriod,omitempty"` Company Company `json:"company,omitempty"` Title string `json:"title,omitempty"` Region string `json:"region,omitempty"` CompanyUrn string `json:"companyUrn,omitempty"` Recommendations []string `json:"recommendations,omitempty"` Description *string `json:"description,omitempty"` Honors []string `json:"honors,omitempty"` }
type PositionGroup ¶
type PositionGroup struct { EntityUrn string `json:"entityUrn,omitempty"` DateRange *DateRange `json:"dateRange,omitempty"` MultiLocaleCompanyName *MultiLocale `json:"multiLocaleCompanyName,omitempty"` CompanyName string `json:"companyName,omitempty"` ProfilePositionInPositionGroup *PositionGroupNode `json:"profilePositionInPositionGroup,omitempty"` Company *Company `json:"company,omitempty"` RecipeType string `json:"$recipeType,omitempty"` CompanyUrn string `json:"companyUrn,omitempty"` Title string `json:"title,omitempty"` EmploymentTypeUrn string `json:"employmentTypeUrn,omitempty"` MultiLocaleGeoLocationName *MultiLocale `json:"multiLocaleGeoLocationName,omitempty"` ShouldShowSourceOfHireBadge bool `json:"shouldShowSourceOfHireBadge,omitempty"` LocationName string `json:"locationName,omitempty"` MultiLocaleTitle *MultiLocale `json:"multiLocaleTitle,omitempty"` EmploymentType *Industry `json:"employmentType,omitempty"` GeoUrn string `json:"geoUrn,omitempty"` ProfileTreasuryMediaPosition *PositionGroupNode `json:"profileTreasuryMediaPosition,omitempty"` RegionUrn string `json:"regionUrn,omitempty"` GeoLocationName string `json:"geoLocationName,omitempty"` MultiLocaleLocationName *MultiLocale `json:"multiLocaleLocationName,omitempty"` Description string `json:"description,omitempty"` MultiLocaleDescription *MultiLocale `json:"multiLocaleDescription,omitempty"` MiniCompany *MiniCompany `json:"miniCompany,omitempty"` TimePeriod *TimePeriod `json:"timePeriod,omitempty"` Name string `json:"name,omitempty"` Positions []Position `json:"positions,omitempty"` Paging *Paging `json:"paging,omitempty"` }
type PositionGroupNode ¶
type PositionGroupNode struct { ProfileID string `json:"profileId,omitempty"` Paging Paging `json:"paging,omitempty"` RecipeType string `json:"$recipeType,omitempty"` Elements []PositionGroup `json:"elements,omitempty"` // contains filtered or unexported fields }
func (*PositionGroupNode) Error ¶
func (post *PositionGroupNode) Error() error
func (*PositionGroupNode) Next ¶
func (post *PositionGroupNode) Next() bool
func (*PositionGroupNode) SetLinkedin ¶
func (post *PositionGroupNode) SetLinkedin(ln *Linkedin)
type Profile ¶
type Profile struct { BirthDateOn *Date `json:"birthDateOn,omitempty"` ObjectUrn string `json:"objectUrn,omitempty"` MultiLocaleLastName *MultiLocale `json:"multiLocaleLastName,omitempty"` MultiLocaleFirstNamePronunciationHint *MultiLocale `json:"multiLocaleFirstNamePronunciationHint,omitempty"` ProfileOrganizations *OrganizationNode `json:"profileOrganizations,omitempty"` MultiLocaleLastNamePronunciationHint *MultiLocale `json:"multiLocaleLastNamePronunciationHint,omitempty"` ProfileEducations *EducationNode `json:"profileEducations,omitempty"` MultiLocaleFirstName *MultiLocale `json:"multiLocaleFirstName,omitempty"` PublicIdentifier string `json:"publicIdentifier,omitempty"` ProfileCertifications *CertificationNode `json:"profileCertifications,omitempty"` TrackingID string `json:"trackingId,omitempty"` MultiLocaleSummary MultiLocale `json:"multiLocaleSummary,omitempty"` VersionTag string `json:"versionTag,omitempty"` ProfilePicture *ProfilePicture `json:"profilePicture,omitempty"` FirstName string `json:"firstName,omitempty"` ProfileSkills *SkillNode `json:"profileSkills,omitempty"` RecipeType string `json:"$recipeType,omitempty"` MultiLocaleHeadline *MultiLocale `json:"multiLocaleHeadline,omitempty"` Memorialized bool `json:"memorialized,omitempty"` LastName string `json:"lastName,omitempty"` VolunteerCauses []string `json:"volunteerCauses,omitempty"` ShowPremiumSubscriberBadge bool `json:"showPremiumSubscriberBadge,omitempty"` Industry *Industry `json:"industry,omitempty"` GeoLocationBackfilled bool `json:"geoLocationBackfilled,omitempty"` MultiLocaleFullNamePronunciationAudio *MultiLocalePronunciationAudio `json:"multiLocaleFullNamePronunciationAudio,omitempty"` Premium bool `json:"premium,omitempty"` Influencer bool `json:"influencer,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` Headline string `json:"headline,omitempty"` Summary string `json:"summary,omitempty"` SupportedLocales []Locale `json:"supportedLocales,omitempty"` EducationOnProfileTopCardShown bool `json:"educationOnProfileTopCardShown,omitempty"` IndustryUrn string `json:"industryUrn,omitempty"` ProfilePositionGroups *PositionGroupNode `json:"profilePositionGroups,omitempty"` GeoLocation *GeoLocation `json:"geoLocation,omitempty"` Location *Location `json:"location,omitempty"` BackgroundPicture *BackgroundPicture `json:"backgroundPicture,omitempty"` PrimaryLocale *Locale `json:"primaryLocale,omitempty"` ContactInfo *ContactInfo `json:"contactInfo,omitempty"` }
Profile represent user profile
type ProfileNode ¶
type ProfileNode struct { Elements []Profile `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` // contains filtered or unexported fields }
ProfileNode contains user profile info
func (*ProfileNode) Activity ¶
func (p *ProfileNode) Activity(in string) (*ActivityNode, error)
func (*ProfileNode) Certifications ¶
func (p *ProfileNode) Certifications() *CertificationNode
Certifications prepare CertificationNode for cursoring
func (*ProfileNode) Connections ¶
func (p *ProfileNode) Connections() (*PeopleNode, error)
Connections return profile connections. You can perform this action by calling Linkedin.SearchPeople
func (*ProfileNode) ContactInfo ¶
func (p *ProfileNode) ContactInfo() (*ContactInfo, error)
ContactInfo get profile contact info
func (*ProfileNode) Educations ¶
func (p *ProfileNode) Educations() *EducationNode
Educations prepare EducationNode for cursoring
func (*ProfileNode) GivenRecommendation ¶
func (p *ProfileNode) GivenRecommendation() (*RecommendationNode, error)
GivenRecommendation get profile given recommendations
func (*ProfileNode) Interest ¶
func (p *ProfileNode) Interest(in string) (*InterestNode, error)
Interest get profile interests
func (*ProfileNode) Organizations ¶
func (p *ProfileNode) Organizations() *OrganizationNode
Organizations prepare OrganizarionNode for cursoring
func (*ProfileNode) PositionGroups ¶
func (p *ProfileNode) PositionGroups() *PositionGroupNode
PositionGroups prepare PositionGroups for cursoring
func (*ProfileNode) ProfileID ¶
func (p *ProfileNode) ProfileID() string
ProfileID return profile's ID, parsed from EntityURN
func (*ProfileNode) ReceivedRecommendation ¶
func (p *ProfileNode) ReceivedRecommendation() (*RecommendationNode, error)
ReceivedRecommendation get profile received recommendations
func (*ProfileNode) Skills ¶
func (p *ProfileNode) Skills() *SkillNode
Skills prepare SkillNode for cursoring
type ProfilePicture ¶
type ProfilePicture struct { RecipeType string `json:"$recipeType,omitempty"` DisplayImageReference *DisplayImageReference `json:"displayImageReference,omitempty"` DisplayImageUrn string `json:"displayImageUrn,omitempty"` PhotoFilterEditInfo *PhotoFilterEditInfo `json:"photoFilterEditInfo,omitempty"` }
ProfilePicture contains multiple qualities of profile picture
type PronunciationAudio ¶
type Query ¶
type Query struct { Attributes []QueryAttribute `json:"attributes,omitempty"` Text string `json:"text,omitempty"` }
type QueryAttribute ¶
type QueryContext ¶
type QueryContext struct { SpellCorrectionEnabled bool `q:"spellCorrectionEnabled" json:"spellCorrectionEnabled,omitempty"` RelatedSearchesEnabled bool `q:"relatedSearchesEnabled" json:"relatedSearchesEnabled,omitempty"` FlagshipSearchIntent string `q:"flagshipSearchIntent" json:"flagshipSearchIntent,omitempty"` GeoVersion int `q:"geoVersion" json:"geoVersion,omitempty"` BingGeoSubTypeFilters []string `q:"bingGeoSubTypeFilters" json:"bingGeoSubTypeFilters,omitempty"` }
type ReactionTypeCount ¶
type Recommendation ¶
type Recommendation struct { EntityUrn string `json:"entityUrn,omitempty"` Created int `json:"created,omitempty"` Recommendee *MiniProfile `json:"recommendee,omitempty"` RecommendationText string `json:"recommendationText,omitempty"` RecommendeeEntity string `json:"recommendeeEntity,omitempty"` VisibilityOnRecommenderProfile string `json:"visibilityOnRecommenderProfile,omitempty"` LastModified int `json:"lastModified,omitempty"` Relationship string `json:"relationship,omitempty"` Recommender *MiniProfile `json:"recommender,omitempty"` Status string `json:"status,omitempty"` }
type RecommendationNode ¶
type RecommendationNode struct { ProfileID string `json:"profileId,omitempty"` Q string `json:"q,omitempty"` Elements []Recommendation `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` // contains filtered or unexported fields }
func (*RecommendationNode) Error ¶
func (rec *RecommendationNode) Error() error
func (*RecommendationNode) Next ¶
func (rec *RecommendationNode) Next() bool
func (*RecommendationNode) SetLinkedin ¶
func (rec *RecommendationNode) SetLinkedin(ln *Linkedin)
type RelatedSearch ¶
type SaveAction ¶
type School ¶
type School struct { // Element contains schools from search school result Elements []School `json:"elements,omitempty"` ExtendedElements []interface{} `json:"extendedElements,omitempty"` ObjectUrn string `json:"objectUrn,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` Active bool `json:"active,omitempty"` Logo *Logo `json:"logo,omitempty"` SchoolName string `json:"schoolName,omitempty"` TrackingID string `json:"trackingId,omitempty"` Image Image `json:"image,omitempty"` Subtext Text `json:"subtext,omitempty"` TargetUrn string `json:"targetUrn,omitempty"` Text Text `json:"text,omitempty"` DashTargetUrn string `json:"dashTargetUrn,omitempty"` Type string `json:"type,omitempty"` TrackingUrn string `json:"trackingUrn,omitempty"` Title Title `json:"title,omitempty"` AntiAbuseAnnotations []AntiAbuseAnnotation `json:"$anti_abuse_annotations"` Name string `json:"name"` RecipeType string `json:"$recipeType"` URL string `json:"url"` Industry map[string]Industry `json:"industry,omitempty"` IndustryUrns []string `json:"industryUrns,omitempty"` MiniCompany *MiniCompany `json:"miniCompany,omitempty"` EmployeeCountRange *CountRange `json:"employeeCountRange,omitempty"` Industries []string `json:"industries,omitempty"` UniversalName string `json:"universalName,omitempty"` Showcase bool `json:"showcase,omitempty"` Headline *Text `json:"headline,omitempty"` Subline *Text `json:"subline,omitempty"` VideosTabVisible bool `json:"videosTabVisible,omitempty"` StaffCount int `json:"staffCount,omitempty"` CompanyEmployeesSearchPageURL string `json:"companyEmployeesSearchPageUrl,omitempty"` ViewerFollowingJobsUpdates bool `json:"viewerFollowingJobsUpdates,omitempty"` MyCompanyVisible bool `json:"myCompanyVisible,omitempty"` Permissions *Permissions `json:"permissions,omitempty"` EligibleForOnlineJobPostingEntry bool `json:"eligibleForOnlineJobPostingEntry,omitempty"` FollowingInfo *FollowingInfo `json:"followingInfo,omitempty"` ViewerEmployee bool `json:"viewerEmployee,omitempty"` AffiliatedCompaniesWithEmployeesRollup []interface{} `json:"affiliatedCompaniesWithEmployeesRollup,omitempty"` AffiliatedCompaniesWithJobsRollup []interface{} `json:"affiliatedCompaniesWithJobsRollup,omitempty"` OrganizationLixes []interface{} `json:"organizationLixes,omitempty"` Tagline string `json:"tagline,omitempty"` ViewerCurrentEmployee bool `json:"viewerCurrentEmployee,omitempty"` MultiLocaleTaglines *MultiLocaleTaglines `json:"multiLocaleTaglines,omitempty"` Headquarter *Location `json:"headquarter,omitempty"` PublishedProductsOwner bool `json:"publishedProductsOwner,omitempty"` CompanyPageURL string `json:"companyPageUrl,omitempty"` ViewerConnectedToAdministrator bool `json:"viewerConnectedToAdministrator,omitempty"` DataVersion int `json:"dataVersion,omitempty"` ShowcasePages []interface{} `json:"showcasePages,omitempty"` ClaimableByViewer bool `json:"claimableByViewer,omitempty"` JobSearchPageURL string `json:"jobSearchPageUrl,omitempty"` AutoGenerated bool `json:"autoGenerated,omitempty"` ViewerPermissions *ViewerPermissions `json:"viewerPermissions,omitempty"` StaffingCompany bool `json:"staffingCompany,omitempty"` CompanyIndustries []Industry `json:"companyIndustries,omitempty"` CallToAction *CallToAction `json:"callToAction,omitempty"` AdsRule string `json:"adsRule,omitempty"` StaffCountRange *CountRange `json:"staffCountRange,omitempty"` Claimable bool `json:"claimable,omitempty"` Specialities []string `json:"specialities,omitempty"` ConfirmedLocations []Location `json:"confirmedLocations,omitempty"` VersionTag string `json:"versionTag,omitempty"` LcpTreatment bool `json:"lcpTreatment,omitempty"` EmployeeExperienceSettings *EmployeeExperienceSettings `json:"employeeExperienceSettings,omitempty"` Description string `json:"description,omitempty"` PaidCompany bool `json:"paidCompany,omitempty"` ViewerPendingAdministrator bool `json:"viewerPendingAdministrator,omitempty"` AffiliatedCompanies []interface{} `json:"affiliatedCompanies,omitempty"` FoundedOn *Date `json:"foundedOn,omitempty"` CompanyType *CompanyType `json:"companyType,omitempty"` Groups []interface{} `json:"groups,omitempty"` EventsTabVisible bool `json:"eventsTabVisible,omitempty"` BackgroundCoverImage *BackgroundCoverImage `json:"backgroundCoverImage,omitempty"` AffiliatedCompaniesWithEmployeesRollupResolutionResults map[string]Company `json:"affiliatedCompaniesWithEmployeesRollupResolutionResults,omitempty"` Phone Phone `json:"phone,omitempty"` OverviewPhoto Photo `json:"overviewPhoto,omitempty"` CoverPhoto Photo `json:"coverPhoto,omitempty"` School string `json:"school,omitempty"` AffiliatedCompaniesResolutionResults map[string]School `json:"affiliatedCompaniesResolutionResults,omitempty"` ShowcasePagesResolutionResults map[string]School `json:"showcasePagesResolutionResults,omitempty"` GroupsResolutionResults map[string]Group }
type SchoolNode ¶
type SchoolNode struct { Keywords string `json:"keywords,omitempty"` Metadata Metadata `json:"metadata,omitempty"` Elements []School `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` // contains filtered or unexported fields }
func (*SchoolNode) Error ¶
func (sch *SchoolNode) Error() error
func (*SchoolNode) Next ¶
func (sch *SchoolNode) Next() bool
func (*SchoolNode) SetLinkedin ¶
func (sch *SchoolNode) SetLinkedin(ln *Linkedin)
type ServiceNode ¶
type ServiceNode struct { Metadata Metadata `json:"metadata,omitempty"` Elements []Service `json:"elements,omitempty"` Paging Paging `json:"paging,omitempty"` Keywords string `json:"keywords,omitempty"` // contains filtered or unexported fields }
func (*ServiceNode) Error ¶
func (svc *ServiceNode) Error() error
func (*ServiceNode) Next ¶
func (svc *ServiceNode) Next() bool
func (*ServiceNode) SetLinkedin ¶
func (svc *ServiceNode) SetLinkedin(ln *Linkedin)
type Skill ¶
type Skill struct { Name string `json:"name,omitempty"` MultiLocaleName *MultiLocale `json:"multiLocaleName,omitempty"` RecipeType string `json:"$recipeType,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` }
type SkillNode ¶
type SkillNode struct { ProfileID string `json:"profileId,omitempty"` Paging Paging `json:"paging,omitempty"` Elements []Skill `json:"elements,omitempty"` RecipeType string `json:"$recipeType,omitempty"` // contains filtered or unexported fields }
SkillNode contains list of profile skills
func (*SkillNode) SetLinkedin ¶
type SnippetText ¶
type SnippetText struct { Attributes []InsightTextAttribute `json:"attributes,omitempty"` Text string `json:"text,omitempty"` }
type SocialDetail ¶
type SocialDetail struct { ReactionElements []interface{} `json:"reactionElements,omitempty"` Comments *Comments `json:"comments,omitempty"` SocialPermissions *SocialPermissions `json:"socialPermissions,omitempty"` Liked bool `json:"liked,omitempty"` Urn string `json:"urn,omitempty"` ThreadID string `json:"threadId,omitempty"` AllowedCommentersScope string `json:"allowedCommentersScope,omitempty"` TotalSocialActivityCounts *TotalSocialActivityCounts `json:"totalSocialActivityCounts,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` CommentingDisabled bool `json:"commentingDisabled,omitempty"` SocialUpdateType string `json:"socialUpdateType,omitempty"` Likes *ActivityNode `json:"likes,omitempty"` }
type SocialPermissions ¶
type SubDescription ¶
type SubscribeAction ¶
type TimePeriod ¶
type TimePeriod struct { EndDate *Date `json:"endDate,omitempty"` StartDate *Date `json:"startDate,omitempty"` }
TimePeriod represent a period of time
type TotalSocialActivityCounts ¶
type TotalSocialActivityCounts struct { SocialDetailEntityUrn string `json:"socialDetailEntityUrn,omitempty"` Urn string `json:"urn,omitempty"` NumComments int `json:"numComments,omitempty"` ReactionTypeCounts []ReactionTypeCount `json:"reactionTypeCounts,omitempty"` EntityUrn string `json:"entityUrn,omitempty"` NumLikes int `json:"numLikes,omitempty"` Liked bool `json:"liked,omitempty"` }
type TrackingData ¶
type TrackingData struct {
TrackingID string `json:"trackingId,omitempty"`
}
type Type ¶
type Type struct {
COMLinkedinVoyagerIdentityProfileCustomWebsite COMLinkedinVoyagerIdentityProfileCustomWebsite `json:"com.linkedin.voyager.identity.profile.CustomWebsite,omitempty"`
}
type TypeClass ¶
type TypeClass struct {
COMLinkedinPemberlyTextBold COMLinkedinPemberlyTextBold `json:"com.linkedin.pemberly.text.Bold,omitempty"`
}
type VectorImage ¶
type VectorImage struct { RecipeType string `json:"$recipeType,omitempty"` // use RootURL + Artifact.FileIdentifyingURLPathSegment for creating url to an image RootURL string `json:"rootUrl,omitempty"` Artifacts []Artifact `json:"artifacts,omitempty"` }
VectorImage store images of multiple qualities
type ViewerPermissions ¶
type ViewerPermissions struct { CanReadPipelineBuilderAdminPage bool `json:"canReadPipelineBuilderAdminPage,omitempty"` CanUntagFromMention bool `json:"canUntagFromMention,omitempty"` CanReadOrganizationVisitorAnalytics bool `json:"canReadOrganizationVisitorAnalytics,omitempty"` CanCreateComment bool `json:"canCreateComment,omitempty"` CanCreateReaction bool `json:"canCreateReaction,omitempty"` RecipeType string `json:"$recipeType,omitempty"` CanSeeOrganizationAdministrativePage bool `json:"canSeeOrganizationAdministrativePage,omitempty"` }