使用API​​提取响应未定义

问题描述

我尝试使用ERP软件中的API。开发人员已经为我们公司集成了此API,但是在Google表格的google脚本中,他检索了我们所有的库存交易记录。

我是一个初学者,我正在尝试获取代码以使其适应我们的需求。这次是针对将根据所选合同添加其他信息的网站。

开发人员使用了UrlFetchApp类,但我发现它不适用于我的用途。 因此,我尝试使用带响应的访存,但是尽管进行了许多尝试,结果仍然是相同的(未定义)。

有人可以引导我走正确的道路吗?

谢谢您的帮助!

在html中调用以启动整个事件的函数

function run() {

    new opportunityManager();
}

向我提供信息的人

this.opportunityManager = function (){
  
    var transactions = api.getopportunity();  
     for (var i in transactions) {
       var transaction = transactions[i];
       var id = transaction.id;
 
    }
    if (id === undefined) {
      alert("ca ne marche pas");
    }
    else {
      alert(transaction.id);
    } 
}

最后是执行请求的组

var CurrentAPI = function() {

  this.url = 'https://api.current-rms.com/api/v1/';
  this.key = '*****************';
  this.subdomain = '***';
  this.options = {
    'method': 'get','validateHttpsCertificates': false,'headers': {
      'X-SUBDOMAIN': this.subdomain,'X-AUTH-TOKEN': this.key
    }
 
  };
  
  /* =======================================
  * @function request / I think the problem comes from this one
  * =======================================*/
  this.request = function(params) { 
    fetch(this.url + params,this.options)
    .then(function (response) {
      
        var data = response.text();
        return JSON.parse(data);
    });
  
  }

/* =======================================
* @function getopportunity
* ======================================= */
this.getopportunity = function() {

  var transactions = [];
   
  var url = 'opportunities?q[number_cont]=34399'/*+ opportunityNumber.innerHTML*/;

    var data = this.request(url);
    transactions = transactions.concat(data.opportunities);
 
  return transactions;
}
  
}

// Instanciation
var api = new CurrentAPI();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)