mirror of
https://github.com/ClaytonWWilson/Listify.git
synced 2025-12-15 18:28:47 +00:00
Merge remote-tracking branch 'origin/master' into aaron-branch
This commit is contained in:
commit
9f992ee8ee
78
Lambdas/APIs/src/main/java/KroggerAPICaller.java
Normal file
78
Lambdas/APIs/src/main/java/KroggerAPICaller.java
Normal file
@ -0,0 +1,78 @@
|
||||
import netscape.javascript.JSObject;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.ProtocolException;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Base64;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class KroggerAPITester {
|
||||
|
||||
final static String client_id = "listify-f6e083b133a87ab8a98b2ec4f580dedb9125180887245441161";
|
||||
final static String client_secret = "hM88WJ3cJGou5jX1vNRZBqKKVmmcMMktTcTbvkRD";
|
||||
final static String redirect_uri = "https://example.com/callback"; //subject to change as needed
|
||||
final static String scope = "product.compact";
|
||||
final static String authString = "listify-f6e083b133a87ab8a98b2ec4f580dedb9125180887245441161:hM88WJ3cJGou5jX1vNRZBqKKVmmcMMktTcTbvkRD";
|
||||
|
||||
|
||||
public static String getKroggerAuthKey() {
|
||||
String token = "not found";
|
||||
try {
|
||||
StringBuilder sb = new StringBuilder("https://api.kroger.com/v1/connect/oauth2/token");
|
||||
String urlParameters = "grant_type=client_credentials&scope=product.compact";
|
||||
byte[] postData = urlParameters.getBytes( StandardCharsets.UTF_8 );
|
||||
int postDataLength = postData.length;
|
||||
URL url = new URL(sb.toString());
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setDoOutput(true);
|
||||
connection.setRequestMethod("POST");
|
||||
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
||||
connection.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString(authString.getBytes()));
|
||||
connection.setRequestProperty("charset", "UTF-8");
|
||||
connection.setRequestProperty("Content-Length", Integer.toString( postDataLength ));
|
||||
try( DataOutputStream wr = new DataOutputStream( connection.getOutputStream())) { //write body into POST request
|
||||
wr.write( postData );
|
||||
}
|
||||
|
||||
int responseStatus = connection.getResponseCode();
|
||||
if(responseStatus == 200) {
|
||||
System.out.println("Success");
|
||||
try(BufferedReader br = new BufferedReader(
|
||||
new InputStreamReader(connection.getInputStream(), "utf-8"))) {
|
||||
StringBuilder response = new StringBuilder();
|
||||
String responseLine;
|
||||
while ((responseLine = br.readLine()) != null) {
|
||||
response.append(responseLine.trim());
|
||||
}
|
||||
|
||||
String jsonString = response.toString();
|
||||
jsonString = jsonString.substring(1, jsonString.length() - 1);
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
String[] responses = jsonString.split(",");
|
||||
for(int i = 0; i < responses.length; i++) {
|
||||
String[] keyValue = responses[i].split(":");
|
||||
map.put(keyValue[0], keyValue[1]);
|
||||
}
|
||||
|
||||
if(map.containsKey("\"access_token\"")) {
|
||||
token = map.get("\"access_token\"");
|
||||
token = token.substring(1, token.length() - 1); //removes quotes at start and end
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
System.out.println(responseStatus);
|
||||
}
|
||||
connection.disconnect();
|
||||
System.out.println(responseStatus);
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return token;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user