Javascript Google应用程序脚本中的Bitly API V4:尝试调用单击摘要时出错
我对应用程序脚本相当陌生,这是我第一个使用API的自定义函数。提前谢谢你的建议 我一直遵循这段代码将Bitly集成到Google表单中 他们为ShortenBitly提供的代码工作得很好,但是我无法让ExpandBitly或Stats函数工作 下面是我的BitlyStats代码,以及我得到的错误代码Javascript Google应用程序脚本中的Bitly API V4:尝试调用单击摘要时出错,javascript,api,google-apps-script,bitly,Javascript,Api,Google Apps Script,Bitly,我对应用程序脚本相当陌生,这是我第一个使用API的自定义函数。提前谢谢你的建议 我一直遵循这段代码将Bitly集成到Google表单中 他们为ShortenBitly提供的代码工作得很好,但是我无法让ExpandBitly或Stats函数工作 下面是我的BitlyStats代码,以及我得到的错误代码 * Retrieves the final URL from a bitlink * * @param {string} the bitly link * @return {string
* Retrieves the final URL from a bitlink
*
* @param {string} the bitly link
* @return {string} the total clicks
* @customfunction
*/
function bitlyStats(bitlink) {
var bitlink = 'bitlink'
Logger.log(bitlink)
var accessToken = 'MYTOKEN';
var fetchUrl = 'https://api-ssl.bitly.com/v4/bitlinks/' + bitlink + '/clicks/summary';
Logger.log(fetchUrl)
var headers = {
'Authorization': 'Bearer '+ accessToken,
'Content-Type': 'application/json',
};
var params = {
'method' : 'get',
'headers' : headers,
'muteHttpExceptions' : true
};
var response = UrlFetchApp.fetch(fetchUrl, params);
Logger.log(response.getContent());
var clickCount = JSON.parse(response.getContent()).total_clicks;
return clickCount;
}
这是错误消息
SyntaxError:意外标记,在JSON中的位置2
bitlyStats@Code.gs:26
第25行的日志内容为[52.0,48.0,52.0,32.0,112.0,97.0,103.0,101.0,32.0,110.0,111.0,116.0,32.0,102.0,111.0,117.0,110.0,100.0,10.0]修改点:
- HTTPResponse类的
返回字节数组。我想这就是你的问题所在getContent()
- 要检索文本值时,请使用
getContentText()
- 还有,关于您当前的
,当这个字节数组被解码时,它的[52.0,48.0,52.0,32.0,112.0,97.0,103.0,101.0,32.0,110.0,111.0,116.0,32.0,102.0,111.0,117.0,110.0,100.0,10.0]
。我认为您出现问题的原因是由于404页找不到
。的端点中的
https://api-ssl.bitly.com/v4/bitlinks/“+bitlink+”/单击/摘要“var-bitlink='bitlink'
- 在本例中,作为测试用例,请使用您的示例缩短URL,如
作为bit.ly/###
的值bitlink
- 如果未使用
的值,则会出现类似bit.ly/####
。请小心这个的错误,您当前被禁止访问此资源。
- 在本例中,作为测试用例,请使用您的示例缩短URL,如
- 在GET方法中,请求头中不需要使用
'Content-Type':'application/json'
- 在这个修改后的脚本中,它假设您的访问令牌是使用API的有效值。请小心这个
bitlink
是bit.ly/###
,因此可以使用该值。我很高兴你的问题解决了。如果您的问题已解决,请按“接受”按钮。与您有相同问题的其他人也可以将您的问题作为可以解决的问题。我认为你的问题和解决方案对他们会有帮助。如果你找不到按钮,尽管告诉我@谢谢你的回复。
function bitlyStats(bitlink) {
var bitlink = 'bit.ly/###'; // Please set your sample shortened URL here.
Logger.log(bitlink)
var accessToken = 'MYTOKEN';
var fetchUrl = 'https://api-ssl.bitly.com/v4/bitlinks/' + bitlink + '/clicks/summary';
Logger.log(fetchUrl)
var headers = {
'Authorization': 'Bearer '+ accessToken,
};
var params = {
'method' : 'get',
'headers' : headers,
'muteHttpExceptions' : true
};
var response = UrlFetchApp.fetch(fetchUrl, params);
Logger.log(response.getContentText());
var clickCount = JSON.parse(response.getContentText()).total_clicks;
return clickCount;
}