Last active
August 12, 2017 08:53
-
-
Save br3nt/03b028befc731aab553abb1d409e3bfc to your computer and use it in GitHub Desktop.
Open Bank Project API data
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| let base_url = 'https://apc.openbankproject.com'; | |
| let direct_login_endpoint = 'https://apc.openbankproject.com/my/logins/direct'; | |
| let api_base_url = 'https://apc.openbankproject.com/obp/v3.0.0'; | |
| let username = 'br3nt'; | |
| let password = 'password123456789'; | |
| let consumer_key = '4gvswztl1pbqyijiv4dffnhnvpyneiye43ekcno0'; | |
| let consumer_secret = 'ji5tnnxfywllhr24fgcdj3j5ycy4guywatflgtps'; | |
| var token = null; | |
| // get token | |
| var get_authorization_token = async function(direct_login_endpoint, username, password, consumer_key) { | |
| if (token) return token; | |
| var auth_headers = new Headers(); | |
| auth_headers.append("Content-Type", "application/json"); | |
| auth_headers.append("Accept", "application/json"); | |
| auth_headers.append("Authorization", `DirectLogin username="${username}", password="${password}", consumer_key="${consumer_key}"`); | |
| var response = await fetch(direct_login_endpoint, { method: 'POST', headers: auth_headers }); | |
| var data = await response.json(); | |
| return data.token; | |
| }; | |
| // get the token | |
| (async() => { | |
| try { | |
| token = await get_authorization_token(direct_login_endpoint, username, password, consumer_key); | |
| console.log(token); | |
| } catch (e) { | |
| console.log(e) | |
| } | |
| })(); | |
| // generic bank | |
| var get = async function(path) { | |
| var auth_headers = new Headers(); | |
| auth_headers.append("Content-Type", "application/json"); | |
| auth_headers.append("Accept", "application/json"); | |
| auth_headers.append("Authorization", `DirectLogin token="${token}"`); | |
| var response = await fetch(path, { headers: auth_headers }); | |
| var data = await response.json(); | |
| return data; | |
| } | |
| var get_banks = async () => get(`${api_base_url}/banks`); | |
| var get_public_accounts = async (bank_id) => get(`${api_base_url}/banks/${bank_id}/accounts/public`) | |
| var banks; | |
| var accounts; | |
| var bank_ids; | |
| var banks_accounts; | |
| // get banks | |
| (async() => { | |
| try { | |
| data = await get_banks(); | |
| banks = data["banks"]; | |
| //console.log(banks); | |
| //this doesnt work yet!!! | |
| bank_accounts_promises = banks.map(({ id }) => { console.log(get_public_accounts(id)) }); | |
| //banks_accounts = await Promise.all(bank_accounts_promises); | |
| console.log(banks_accounts); | |
| } catch (e) { | |
| console.log(e) | |
| } | |
| })(); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment