https://pmkey.xyz/search/[email protected]&pin=10000
{ "success" : true, "lastUpdated" : "2016-06-02 14:25:42", "keys" : { "weather" : { "owm" : "OWM-API-KEY", "wu" : "WU-API-KEY", "forecast" : "FORECAST-API-KEY" }, "web" : { "ifttt" : "IFTTT-MAKER-KEY", "wolfram" : "WOLFRAM-API-KEY" }, "pebble" : { "habits" : "MY-HABITS-API-KEY" } } }
{ "success" : false, "error" : "Could not locate any keys for that PIN." }
Pebble.addEventListener("webviewclosed", function(e){ //Use the provided Master Key PIN to get relevant API keys, //then store in localstorage. var config = JSON.parse(decodeURIComponent(e.response)); var xhr = new XMLHttpRequest(); var url = "https://pmkey.xyz/search/?email=" + config.Email + "&pin=" + config.MasterKeyPIN; xhr.open("GET", url, true); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ var result = JSON.parse(xhr.responseText); if(result.success && result.keys.weather.wu !== ""){ localStorage.setItem("wuKey", result.keys.weather.wu); } } }; xhr.send(); }
<html> <head> <title>My App Settings</title> <link rel="stylesheet" href="/dist/css/slate.min.css"> <script type="text/javascript" src="/dist/js/slate.min.js"></script> </head> <body> <div class="item-container"> <div class="item-container-content"> <div class="item"> Master Key allows your favorite Pebble watchfaces and apps to grab all your API keys via email and a simple 5-digit PIN code.<br /> To sign up, visit the Pebble Master Key Website (pmkey.xyz). </div> <label class="item"> <div class="item-input-wrapper item-input-wrapper-button"> <input type="text" class="item-input" id="email"> </div> <div class="item-input-wrapper item-input-wrapper-button"> <input type="number" class="item-input" id="master"> </div> <input type="button" class="item-button item-input-button" id="master-button" onclick="sync" value="SYNC"> </label> </div> <label class="item"> <div class="item-input-wrapper"> <input type="text" class="item-input" id="wu"> </div> </label> </div> <script> function sync(){ var xhr = new XMLHttpRequest(); var url = "https://pmkey.xyz/search/?email=" document.getElementById("email").value + "&pin=" + document.getElementById("master").value; xhr.open("GET", url, true); var masterSync = document.getElementById("master-button"); masterSync.value = "LOADING..."; xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ if(result.success){ masterSync.value = "SUCCESS"; document.getElementById("wu").value = result.keys.weather.wu; } else{ masterSync.value = "FAIL"; } } }; } </script> </body> </html>