Javascript 带有谷歌脚本应用程序的API
我在使用谷歌应用程序与名为Kissflow的管理软件进行交互时遇到问题Javascript 带有谷歌脚本应用程序的API,javascript,json,api,google-apps-script,google-sheets,Javascript,Json,Api,Google Apps Script,Google Sheets,我在使用谷歌应用程序与名为Kissflow的管理软件进行交互时遇到问题 函数fun2(){ var id=“yyy”; var apisecretkey=“xxx”; var url='https://'+id+'.kissflow.com/api/1/verify'; 变量选项={ 方法:“post”, 标题:{“授权”:“基本”+实用程序.base64Encode(id+“:“+apisecretkey)}, 有效载荷:{ “授予类型”:“客户端凭据”, “范围”:“基本+用户” }, m
函数fun2(){
var id=“yyy”;
var apisecretkey=“xxx”;
var url='https://'+id+'.kissflow.com/api/1/verify';
变量选项={
方法:“post”,
标题:{“授权”:“基本”+实用程序.base64Encode(id+“:“+apisecretkey)},
有效载荷:{
“授予类型”:“客户端凭据”,
“范围”:“基本+用户”
},
muteHttpExceptions:true
};
var response=JSON.parse(UrlFetchApp.fetch(url,options.getContentText());
}
从上面的行中删除JSON.parse(),并使用Logger.log()在控制台上输出响应,或使用console.log()将响应输出到浏览器日志,然后查看结果。如果有错误,它将显示更用户友好的错误消息
从上面的行中删除JSON.parse(),并使用Logger.log()在控制台上输出响应,或使用console.log()将响应输出到浏览器日志,然后查看结果。如果出现错误,它将显示更为用户友好的错误消息。虽然我不熟悉API,但我怀疑问题与这一行有关:
var response = JSON.parse(UrlFetchApp.fetch(url, options).getContentText());
您获取响应(可能是JSON),然后获取该响应的内容文本,然后尝试解析该文本,就像它是JSON一样
因此(解决方案1)如果将响应
变量设置为
var response = UrlFetchApp.fetch(url, options).getContentText();
并尝试将该变量打印到控制台,您可能会发现您有一些可以使用的东西
或者(解决方案2),您可以尝试:
var response = JSON.parse(UrlFetchApp.fetch(url, options));
如果您希望使用JavaScript对象而不是字符串(并且假设您调用的
.fetch
方法确实提供了JSON格式的响应。)虽然我不熟悉API,但我怀疑问题与这一行有关:
var response = JSON.parse(UrlFetchApp.fetch(url, options).getContentText());
您获取响应(可能是JSON),然后获取该响应的内容文本,然后尝试解析该文本,就像它是JSON一样
因此(解决方案1)如果将响应
变量设置为
var response = UrlFetchApp.fetch(url, options).getContentText();
并尝试将该变量打印到控制台,您可能会发现您有一些可以使用的东西
或者(解决方案2),您可以尝试:
var response = JSON.parse(UrlFetchApp.fetch(url, options));
如果您希望使用JavaScript对象而不是字符串(并且假设您调用的
.fetch
方法确实提供了JSON格式的响应。)那么,现在我得到了一个不同的错误,muteHttpExceptions:true
显示Http页面。我想做一些类似于curl-H“api\u键:”-xget的事情https://.appspot.com/api/1/verify
或使用API发布一些内容,如curl-H“API_key:”-X post--data-urlencode“placevisted=Singapore”--data-urlencode“Amount=10000”https://.appspot.com/api/1/Travel Claim/create
返回类似{访问地点:“新加坡”金额:10000 Id:“Sh2a6b8c51_84e7_11e3_bdd0_ddc2c98b0428”主题:“新加坡请求”}
。由于我是API新手,在尝试将其传递给javascript时,我感到困惑,明白吗?感谢您的帮助。现在,我遇到了一个不同的错误,muteHttpExceptions:true
显示Http页面。我想做一些类似于curl-H“API\u key:”-X得到https://.appspot.com/api/1/verify
或使用API发布一些内容,如curl-H“API_key:”-X post--data-urlencode“placevisted=Singapore”--data-urlencode“Amount=10000”https://.appspot.com/api/1/Travel Claim/create
返回类似于{placevisted:“Singapore”Amount:10000 Id:“Sh2a6b8c51_84e7_11e3_bdd0_ddc2c98b0428”主题:“新加坡请求”}
。由于我是API新手,在尝试将其传递给javascript时感到困惑,明白吗?感谢您的帮助。