在 kintone 上串接其他服務時,有時候會遇到瀏覽器端發生的 CORS,這時候也不可能去請對方開放給我們的 domain,所以就可以利用 kintone 提供的 Proxy Request 來取得資料。
以下是根據 官網 的範例程式碼:
kintone.proxy('https://*****.***.net', 'GET', {}, {}, function(body, status, headers) {
console.log(status, JSON.parse(body), headers);
}, function(error) {
console.log(error); // Display the response body (string) from the proxy API
});
不過我個人偏好寫成 async await
的形式,以下是 POST 範例:
const myFetch = async () => {
try {
const headers = { accept: 'application/json' }
const data = {
client_secret: 'XXXXXXXXXXXXXXXXXXX'
}
const response = await kintone.proxy('https://*****.***.net', 'POST', headers, data)
} catch (e) {
console.log(e)
}
}
如果成功的話,會拿到像下面格式的 response 物件:
args[0] -> body(string)
args[1] -> status(number)
args[2] -> headers(object)
利用 kintone 提供的代理請求,我們就可以從其他地方拿到資料,並呈現或是寫回 kintone 中。
以下是幾個使用 proxy request 的限制: