使用 OAuth2 和 curl 将参数传递给 LinkedIn API 时遇到问题

Trouble passing in params to LinkedIn API using OAuth2 and curl

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

红宝石示例:

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}"

传递电子邮件域或格式可以正常工作,但同时传递两者都不起作用。

使用 & 时必须正确引用您的 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