struct token {
string access_token;
string instance_url;
string id;
string token_type;
string issued_at;
string signature;
}
struct jsonDataStruct {
string dataElement1;
string dataElement2;
string dataElement3;
string dataElement4;
string dataElement5;
date dataCreationDate;
boolean validData;
}
function authenticate() {
HttpRequest request;
HttpHeader header = httpCreateHeader("Content-Type", "application/x-www-form-urlencoded");
request.headers += header;
header = httpCreateHeader("host", "login.someservice.com");
request.headers += header;
header = httpCreateHeader("grant_type", "password");
request.headers += header;
request.parameters += httpCreateParameter("username", "username");
request.parameters += httpCreateParameter("password", "password");
request.parameters += httpCreateParameter("client_id", "3l;akjdgf;lkanjdfg;ljknsdaf;gknjad;jfng'aWD[QOKWFVMV");
request.parameters += httpCreateParameter("client_secret", "356356767875689");
token apiToken = httpPost("https://somesite/services/oauth2/token", request);
return apiToken.token_type + " " + apiToken.access_token;
}
string access_token = authenticate(); //calls function from step 1
HttpRequest request;
HttpHeader auth = httpCreateHeader("Authorization", access_token);
request.headers += auth;
string jsonDataString = httpGet("https://someservice/rest/api/2/getsomething", request);
number statusCode = httpGetStatusCode();
if (statusCode >= 200 && statusCode < 300) {
runnerLog("Success!");
jsonDataStruct [] data = fromJson(jsonDataString);
for(jsonDataStruct d in data) {
runnerLog(d.dataElement1);
runnerLog(d.dataElement2);
runnerLog(d.dataElement3);
//etc
}
}
else {
runnerLog("Uh oh!");
} |