Crunchbase Data API v3.1到Google表格

时间:2018-02-28 00:00:47

标签: api google-sheets

我正在尝试将数据从Crunchbase开放数据地图提取到Google电子表格。我正在关注Ben Collins's script,但自从v3升级到v3.1后它不再有效。任何人都有运气修改脚本以获得成功吗?

var USER_KEY = 'insert your API key in here';

// function to retrive organizations data
function getCrunchbaseOrgs() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Organizations');
  var query = sheet.getRange(3,2).getValue();

  // URL and params for the Crunchbase API
  var url = 'https://api.crunchbase.com/v/3/odm-organizations?query=' + encodeURI(query) + '&user_key=' + USER_KEY;

  var json = getCrunchbaseData(url,query);

  if (json[0] === "Error:") {
    // deal with error with fetch operation
    sheet.getRange(5,1,sheet.getLastRow(),2).clearContent();
    sheet.getRange(6,1,1,2).setValues([json]);
  }
  else {
    if (json[0] !== 200) {
      // deal with error from api
      sheet.getRange(5,1,sheet.getLastRow(),2).clearContent();
      sheet.getRange(6,1,1,2).setValues([["Error, server returned code:",json[0]]]);
    }
    else {
      // correct data comes back, filter down to match the name of the entity
      var data = json[1].data.items.filter(function(item) {
        return item.properties.name == query;
      })[0].properties;

      // parse into array for Google Sheet
      var outputData = [
        ["Name",data.name],
        ["Homepage",data.homepage_url],
        ["Type",data.primary_role],
        ["Short description",data.short_description],
        ["Country",data.country_code],
        ["Region",data.region_name],
        ["City name",data.city_name],
        ["Blog url",data.blog_url],
        ["Facebook",data.facebook_url],
        ["Linkedin",data.linkedin_url],
        ["Twitter",data.twitter_url],
        ["Crunchbase URL","https://www.crunchbase.com/" + data.web_path]
      ];

      // clear any old data
      sheet.getRange(5,1,sheet.getLastRow(),2).clearContent();

      // insert new data
      sheet.getRange(6,1,12,2).setValues(outputData);

      // add image with formula and format that row
      sheet.getRange(5,2).setFormula('=image("' + data.profile_image_url + '",4,50,50)').setHorizontalAlignment("center");
      sheet.setRowHeight(5,60);
    }
  }
}

此代码不再按预期提取数据。

1 个答案:

答案 0 :(得分:2)

运行脚本时我无法确认错误消息。所以我想展示一下明显的差异点。似乎端点已从https://api.crunchbase.com/v/3/更改为https://api.crunchbase.com/v3.1/。那么这个修改怎么样?

来自:

 var url = 'https://api.crunchbase.com/v/3/odm-organizations?query=' + encodeURI(query) + '&user_key=' + USER_KEY;

致:

 var url = 'https://api.crunchbase.com/v3.1/odm-organizations?query=' + encodeURI(query) + '&user_key=' + USER_KEY;

注意:

  • 从您的脚本中,我也找不到query。因此,即使您修改了端点,脚本也不起作用,请确认一下。您可以看到API v3的详细信息与API v3.1相比,here

参考文献:

如果这对你没用,我很抱歉。