iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 7
2
Modern Web

我每天都接一個API系列 第 7

[30apis] Day 6 : Fixer API (匯率轉換)

我本來想說,來寫個簡單的匯率轉換 API, 結果居然困難重重。
這篇與其說是個教學文,不如說是踩雷經驗分享。

首先我在 Programmable Web 上面搜尋 Currency 的分類:

結果顯示出來的,都是跟比特幣相關。雖然說比特幣主題也有興趣嘗試,但這不是我現在想要的。
後來直接去 Google currency api

第一個出現的就是 Fixer - Foreign exchange rates and currency conversion API
點進去一看,真是超簡單的呢。

var url = 
    "https://api.fixer.io/latest"
    
function makeRequest() {
  xhr = new XMLHttpRequest();
  xhr.onload = function() {
    var response = JSON.parse(this.responseText);
    console.log(response)
  };
  
  xhr.open(
    "GET",
    url,true
  );
  
  xhr.send();
}
makeRequest();

一下就好了。都不用申請 API Key 什麼的。
嗯,今天的文就寫到這邊。(亂講)

不對,這樣不夠有挑戰性吧?
所以我點開 Google 結果頁面下一個 連結:currencylayer API

看起來挺不錯的,上面的數字還在跳,好像很厲害的樣子。
於是花了一些時間註冊,拿到了 Access Key。

結果 Console 噴出這個 Error:

”This request has been blocked; the content must be served over HTTPS.“
通常這種時候,把連結改成 https 就好了吧? 結果不行呢,要升級成付費帳號才能用 HTTPS。

好吧。
下一個。

要錢。不給。
下一個。

也要錢(倒地)。

結果他說他被第二間不給 HTTPS 的買了。也不行

這個只能試用七天,七天後我都還沒完賽呢….

這個也被第二個合作了。還真是消滅不少競爭對手啊….

這個看起來挺不錯的,我也註冊了,Access Key 拿到了,簡單的 XHR 也寫了,結果被 CORS 擋下來了ORZ (哭

雖然我知道有繞過 CORS 的方法,也有弄個 Server 端來設 Allow-Control-Allow-Origin ,但我今天真的沒時間啊。

所以就只能這樣了。請大家翻回去第一個然後把它當作結尾喔。

後記:後來我發現他沒有台幣匯率……我到底在幹嘛(抱頭痛哭


上一篇
[30apis] Day 5 : Unsplash API
下一篇
[30apis] Day 7 : YouTube Data API + 基礎 Fetch API
系列文
我每天都接一個API30

1 則留言

0
逮丸逮丸
iT邦大師 1 級 ‧ 2017-12-30 21:55:48

真是用心,幫忙找了試了那麼多的API!
看你的系列真的省了好多 在茫茫的API的大海裡 搜尋的力氣。

真高興有幫助到你!

我要留言

立即登入留言