iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0

在 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 的限制:

  • 此 API 只能處理字符類型的 response,不支援圖像或其他二進位資料。
  • 代理服務器端 response header 的最大行數為 100 行,每行的最大大小為 8,180 字節。
  • 代理服務器端 response body 的最大大小為 10MB。如果行數或大小超過上限,將會發生錯誤。

上一篇
Day 17 | 案例分享:Flutter 串接 kintone 打卡
下一篇
Day 19 | kintone 呈現台灣地圖
系列文
我阿嬤都會的 kintone 客製化開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言