麻烦使用OAuth2和curl将params传递给LinkedIn API

时间:2015-01-05 15:02:16

标签: ruby oauth-2.0 linkedin

我想对LinkedIn API进行身份验证调用,以便通过电子邮件域搜索公司。使用curl时,传递format=json不起作用。使用OAuth2 gem时,传递email-domain=...不起作用。我做错了什么?

Ruby示例:

client_id = ...
client_secret = ...
access_token = ... # got it from following the getting started guide 

client = OAuth2::Client.new(client_id, client_secret, {site: 'https://api.linkedin.com/'})
token = OAuth2::AccessToken.new(client, access_token)
token.get('/v1/company-search/', :params => {'format' => 'json', 'email-domain' => 'netflix.com'})

在传递的最后一行" netflix.com"因为电子邮件域不起作用,但响应是JSON。

cURL示例:

curl https://api.linkedin.com/v1/companies?email-domain=capterra.com&format=json -H "Authorization: Bearer {access_token}"

传入电子邮件域或格式正常,但传入两者都不起作用。

1 个答案:

答案 0 :(得分:1)

使用&时,必须正确引用您的CURL请求,如下所示:

curl -v -H "Authorization: Bearer <token>" "https://api.linkedin.com/v1/companies?email-domain=netflix.com&format=json"

产生所需的结果:

{
  "_total": 1,
  "values": [{
    "id": 165158,
    "name": "Netflix"
  }]
}

请注意,您的Ruby代码会调用/v1/company-search/而不是v1/companies