1

我正在使用快速 API 来获取 LinkedIn 数据。这个特殊的 API 使用简单的 HTTPS GET 请求并返回 json。我正在写这是 Google App Script (Javascript) 并在运行测试时返回此错误。

function callLinkedInAPI () {
  // https://rapidapi.com/iscraper/api/linkedin-profiles-and-company-data/ API website
  // https://iscraper.io/docs APi Docs

    var payload = {
    "profile_id": "williamhgates",
    "profile_type": "personal",
    "contact_info": false
    }

  var headers = {
    "contentType": "application/json",
        "x-rapidapi-host": "linkedin-profiles-and-company-data.p.rapidapi.com",
        "x-rapidapi-key": "76db3a1901mshd1518c9ce779bdep1c5920jsn3e0ec4853b66"
      }

  var url = `https://linkedin-profiles-and-company-data.p.rapidapi.com/api/v1/profile-details`

  var requestOptions = {
    'method': "POST",
    'headers': headers,
    'payload': payload,
    'muteHttpExceptions': true,
    'redirect': 'follow'
    };

  var response = UrlFetchApp.fetch(url, requestOptions);
  var json = response.getContentText();
  var data = JSON.parse(json);
  
  console.log(data)

  }

我在调用 api 时收到此错误

[ { msg: 'value is not a valid dict',
       loc: [Object],
       type: 'type_error.dict' } ]

4

1 回答 1

1

使用Content-Type而不是contentType在标头中并将有效负载作为字符串传递。

内容类型:

var headers = {
  "Content-Type": "application/json",
  "x-rapidapi-host": "linkedin-profiles-and-company-data.p.rapidapi.com",
  "x-rapidapi-key": "76db3a1901mshd1518c9ce779bdep1c5920jsn3e0ec4853b66"
}

var url = `https://linkedin-profiles-and-company-data.p.rapidapi.com/api/v1/profile-details`

var requestOptions = {
  'method': "POST",
  'headers': headers,
  'payload': JSON.stringify(payload),
  'muteHttpExceptions': true,
  'redirect': 'follow'
};

或者按原样移动它requestOptions(您仍然需要将有效负载作为字符串传递)

内容类型:

var headers = {
  "x-rapidapi-host": "linkedin-profiles-and-company-data.p.rapidapi.com",
  "x-rapidapi-key": "76db3a1901mshd1518c9ce779bdep1c5920jsn3e0ec4853b66"
}

var url = `https://linkedin-profiles-and-company-data.p.rapidapi.com/api/v1/profile-details`

var requestOptions = {
  'contentType':"application/json",
  'method': "POST",
  'headers': headers,
  'payload': JSON.stringify(payload),
  'muteHttpExceptions': true,
  'redirect': 'follow'
};

输出:

输出

参考:

于 2021-08-31T22:17:34.110 回答