Как выполнять поиск людей по ключевым словам с помощью LinkedIn API в R?

Я пытаюсь извлечь данные поиска профиля на основе ключевых слов. Показывает, что доступ запрещен.

1) Как получить данные о поиске людей с помощью linkedin API в R? (Но я получаю данные на консоли отдыха Apigee).

2) Как лучше всего хранить данные XML в виде фрейма данных в R? Когда есть разница в строках между корневыми узлами?

Ниже мой код.

library(httr)
library(XML)

oauth_endpoints("linkedin")

myapp <- oauth_app("Profile Search", key  = "785mvlu4741k9o", secret="DMRmtjDfFo4ncLzg")

TokenLinkedIn <- R6::R6Class("TokenLinkedIn", inherit = Token2.0, list(
  sign = function(method, url) {
    url <- parse_url(url)
    url$query$oauth2_access_token <- self$credentials$access_token
    list(url = build_url(url), config = config())
  },
  can_refresh = function() {
    TRUE
  },
  refresh = function() {
    self$credentials <- init_oauth2.0(self$endpoint, self$app,
                                      scope = self$params$scope, type = self$params$type,
                                      use_oob = self$params$use_oob)
  }
))

token <- TokenLinkedIn$new(
  endpoint = oauth_endpoints("linkedin"),
  app = myapp,
  params = list(use_oob = FALSE, scope = NULL, type = NULL)
)

homeTL<- GET("https://api.linkedin.com/v1/people-search:(people:(first-name,last-name,headline,industry,email-address))?keywords=client%20engagement"
, config(token = token))

homeTL
# I am getting below error message as Access to people search denied.
#<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
#<error>
  #<status>403</status>
  #<timestamp>1425299488038</timestamp>
  #<request-id>JXQYYV5V0Z</request-id>
  #<error-code>0</error-code>
  #<message>Access to people search denied.</message>
# </error>


doc <- xmlTreeParse(homeTL,useInternal=TRUE)
rootNode <- xmlRoot(doc)
Id<-xpathSApply(rootNode,"//id", xmlValue)
firstname<-xpathSApply(rootNode,"//first-name", xmlValue)
lastname<-xpathSApply(rootNode,"//last-name", xmlValue)
industry<-xpathSApply(rootNode,"//industry", xmlValue)

Link=data.frame("Id"=Id,"FirstName"=firstname,"LastName"=lastname)

## While including industry rows showing error 
#Error in data.frame(Id = Id, FirstName = firstname, LastName = lastname,  : 
  #                    arguments imply differing number of rows: 842, 786 

person Karam Chand    schedule 02.03.2015    source источник


Ответы (1)


LinkedIn недавно внесла изменения в свою Программу для разработчиков, лишив возможности к поиску людей.

person nograpes    schedule 02.03.2015
comment
Обратите внимание, однако, что это не сработает до 12 мая 2015 года. - person Justin Kominar; 02.03.2015
comment
@JustinKominar Я не мог понять. Возможно ли это сделать? - person Karam Chand; 03.03.2015
comment
@KaramCand Да, пока это возможно. Но, как упоминается в исходном комментарии, после 12 мая этого не произойдет. Однако у меня нет конкретного опыта работы с R, чтобы помочь с вашим первоначальным вопросом. Я просто хотел, чтобы вы знали, что то, что вы пытаетесь сделать, будет невозможно слишком долго. - person Justin Kominar; 03.03.2015
comment
ограничение поиска людей теперь на месте. Однако ограничение распространяется на тех, кто звонит более 250 раз в день. Если у вас есть более 250 доступов в день, вы должны получить специальное разрешение. См. здесь (developer-programs.linkedin.com/blog/vetted-api-access ) - person Espanta; 12.11.2015