Google 应用 api 出现 freshdesk api 错误
Google app api with freshdesk api error
在使用 google 应用程序脚本中的 freshdesk api 时出现错误
"{"code":"invalid_content_type","message":"Content-Type header is set to . It should be set to application/json"}"
用于此的代码
function hd_getTickets(){//using v2
var API_KEY = 'xxxxxxxxxxxxxx';
var headers = {'Content-type': 'application/json','Authorization': 'Basic ' + Utilities.base64Encode(API_KEY + ':X') };
var data = { "query":"\"priority:3\"" };
var ENDPOINT = 'https://xxxxxxx.freshdesk.com/api/v2';
var url = ENDPOINT + '/search/tickets';
var options = { 'method': 'get', muteHttpExceptions: true,'headers': headers,'payload' : JSON.stringify(data)};
var response = UrlFetchApp.fetch(url, options);
}
更改端点并从选项中删除负载有效,因此假设授权和 header 没问题
var url = ENDPOINT + '/tickets';
var options = {'method':'get','headers':headers, muteHttpExceptions: true};
使用 postman 这个可行
https://xxxxxxx.freshdesk.com/api/v2/search/tickets?query="priority:3"
header 设置为
Content-Type:application/json
Authorization:Basic xxxxxxxxxxxxxxxx
您正在使用选项中的 Payload 变量向 API 发送 GET 请求。
在我看来,有效负载用于 POST 请求。
使用查询参数构建 URL 并在没有 Payload 的情况下发送。
示例:'https://domain.freshdesk.com/api/v2/search/tickets?query="priority:3"'
在此处查看详细信息:
Freshdesk API 文档:https://developers.freshdesk.com/api/#filter_tickets
发现两个问题
1) 网站不支持基于负载的获取。
2) google 应用不支持 url.
中的特殊字符
将参数添加到原始 url 并对双引号进行编码。
var ENDPOINT = 'https://xxxxxx.freshdesk.com/api/v2';
var query ='query='+encodeURIComponent("\"priority")+":1"+encodeURIComponent("\"");
var url = ENDPOINT + '/search/tickets?'+query;
var options = {'method': 'get', muteHttpExceptions: true,'headers': headers};
var response = UrlFetchApp.fetch(url, options);
在使用 google 应用程序脚本中的 freshdesk api 时出现错误
"{"code":"invalid_content_type","message":"Content-Type header is set to . It should be set to application/json"}"
用于此的代码
function hd_getTickets(){//using v2
var API_KEY = 'xxxxxxxxxxxxxx';
var headers = {'Content-type': 'application/json','Authorization': 'Basic ' + Utilities.base64Encode(API_KEY + ':X') };
var data = { "query":"\"priority:3\"" };
var ENDPOINT = 'https://xxxxxxx.freshdesk.com/api/v2';
var url = ENDPOINT + '/search/tickets';
var options = { 'method': 'get', muteHttpExceptions: true,'headers': headers,'payload' : JSON.stringify(data)};
var response = UrlFetchApp.fetch(url, options);
}
更改端点并从选项中删除负载有效,因此假设授权和 header 没问题
var url = ENDPOINT + '/tickets';
var options = {'method':'get','headers':headers, muteHttpExceptions: true};
使用 postman 这个可行
https://xxxxxxx.freshdesk.com/api/v2/search/tickets?query="priority:3"
header 设置为
Content-Type:application/json
Authorization:Basic xxxxxxxxxxxxxxxx
您正在使用选项中的 Payload 变量向 API 发送 GET 请求。 在我看来,有效负载用于 POST 请求。
使用查询参数构建 URL 并在没有 Payload 的情况下发送。 示例:'https://domain.freshdesk.com/api/v2/search/tickets?query="priority:3"'
在此处查看详细信息: Freshdesk API 文档:https://developers.freshdesk.com/api/#filter_tickets
发现两个问题 1) 网站不支持基于负载的获取。 2) google 应用不支持 url.
中的特殊字符将参数添加到原始 url 并对双引号进行编码。
var ENDPOINT = 'https://xxxxxx.freshdesk.com/api/v2';
var query ='query='+encodeURIComponent("\"priority")+":1"+encodeURIComponent("\"");
var url = ENDPOINT + '/search/tickets?'+query;
var options = {'method': 'get', muteHttpExceptions: true,'headers': headers};
var response = UrlFetchApp.fetch(url, options);