首页 > 解决方案 > 带有 Google Script Apps 的 API

问题描述

我在使用 Google Apps 与名为 Kissflow 的管理软件进行交互时遇到问题。

function fun2() {

var id = "yyy";
var apisecretkey = "xxx";
var url ='https://'+id+'.kissflow.com/api/1/verify';
var options = {
  method: 'post',
  headers : {"Authorization" : " Basic " + Utilities.base64Encode(id + ":" + apisecretkey)},
  payload: {
    "grant_type": "client_credentials",
    "scope": "basic+user"
  },
  muteHttpExceptions: true
};
var response = JSON.parse(UrlFetchApp.fetch(url, options).getContentText());
}

我想运行这个 API 文档的简单示例,例如,我的目标是能够通过电子表格中的交互将数据发送到软件。如果你能在这方面帮助我,我将非常感激,我是 API 的新手 :)

出现以下错误: SyntaxError: unexpected token <in JSON at position 0 (line 30, file "Code") 我不知道我是否正确使用了这个函数。

Kissflow API 文档

标签: javascriptjsonapigoogle-apps-scriptgoogle-sheets

解决方案


虽然我不熟悉 API,但我怀疑这个问题与这一行有关:

var response = JSON.parse(UrlFetchApp.fetch(url, options).getContentText());

您正在获取响应(可能是 JSON),然后获取该响应的内容文本,然后尝试解析该文本,就好像它是 JSON 一样

所以(解决方案1)如果你设置你的response变量等于

var response = UrlFetchApp.fetch(url, options).getContentText();

并尝试将该变量打印到控制台,您可能会发现您有一些可以使用的东西。

或者(解决方案 2),您可以尝试:

var response = JSON.parse(UrlFetchApp.fetch(url, options));

如果您希望使用 JavaScript 对象而不是字符串(并且假设.fetch您调用的方法确实提供了 JSON 格式的响应。)


推荐阅读