debug RedditAPI
This commit is contained in:
parent
db654ddfdd
commit
766d53713e
22
build.gradle
22
build.gradle
@ -1,10 +1,25 @@
|
||||
plugins {
|
||||
id 'java'
|
||||
id 'maven'
|
||||
}
|
||||
|
||||
sourceCompatibility = 1.7
|
||||
targetCompatibility = 1.7
|
||||
|
||||
configurations.all {
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main.java.srcDir "src/main"
|
||||
test.java.srcDir "src/test"
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
apply plugin: "java"
|
||||
|
||||
dependencies {
|
||||
//compile "com.github.jreddit:jreddit:1.0.3" //not supported by reddit api anymore
|
||||
//jreddit 1.0.4 dependencies
|
||||
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
|
||||
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.3.3'
|
||||
@ -15,11 +30,6 @@ dependencies {
|
||||
testCompile group: 'org.mockito', name: 'mockito-core', version: '1.9.5'
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main.java.srcDir "src/main"
|
||||
test.java.srcDir "src/test"
|
||||
}
|
||||
|
||||
jar {
|
||||
from configurations.compile.collect { zipTree it }
|
||||
manifest.attributes "Main-Class": "sh.adb.RandomRedditMemesAPI.Main"
|
||||
|
35
gradlew
vendored
35
gradlew
vendored
@ -82,7 +82,6 @@ esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
@ -126,11 +125,10 @@ if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
@ -156,19 +154,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=`expr $i + 1`
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
0) set -- ;;
|
||||
1) set -- "$args0" ;;
|
||||
2) set -- "$args0" "$args1" ;;
|
||||
3) set -- "$args0" "$args1" "$args2" ;;
|
||||
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
@ -177,9 +175,14 @@ save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=`save "$@"`
|
||||
APP_ARGS=$(save "$@")
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
fi
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
|
25
gradlew.bat
vendored
25
gradlew.bat
vendored
@ -29,9 +29,6 @@ if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@ -40,7 +37,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
@ -54,7 +51,7 @@ goto fail
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
@ -64,14 +61,28 @@ echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
|
@ -1,23 +1,29 @@
|
||||
package sh.adb.RandomRedditMemesAPI;
|
||||
|
||||
import com.github.jreddit.oauth.RedditOAuthAgent;
|
||||
import com.github.jreddit.oauth.RedditToken;
|
||||
import com.github.jreddit.oauth.app.RedditApp;
|
||||
import com.github.jreddit.oauth.app.RedditInstalledApp;
|
||||
import com.github.jreddit.oauth.exception.RedditOAuthException;
|
||||
import com.sun.net.httpserver.HttpServer;
|
||||
import org.json.simple.parser.ParseException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.InetSocketAddress;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) throws IOException, RedditOAuthException {
|
||||
public static void main(String[] args) throws IOException, RedditOAuthException, ParseException {
|
||||
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
|
||||
server.createContext("", new ErrorHandler());
|
||||
server.createContext("/", new FallbackHandler());
|
||||
//server.createContext("/api/v1/", new StandardHandler());
|
||||
server.createContext("/api/v1/r/", new CommunityHandler());
|
||||
server.setExecutor(null);
|
||||
server.start();
|
||||
System.out.println("server started");
|
||||
|
||||
RedditAPI client = new RedditAPI();
|
||||
System.out.println("the token is");
|
||||
System.out.println(client.token);
|
||||
System.out.println(client.token.getAccessToken());
|
||||
}
|
||||
}
|
||||
|
@ -9,24 +9,23 @@ import com.github.jreddit.oauth.app.RedditInstalledApp;
|
||||
import com.github.jreddit.oauth.exception.RedditOAuthException;
|
||||
|
||||
public class RedditAPI {
|
||||
private RedditApp redditApp;
|
||||
private RedditOAuthAgent agent;
|
||||
public RedditToken token;
|
||||
private final RedditOAuthAgent agent;
|
||||
protected RedditToken token;
|
||||
|
||||
public RedditAPI() throws RedditOAuthException {
|
||||
public RedditAPI() throws RedditOAuthException, ParseException {
|
||||
// Information about the app
|
||||
String userAgent = "jReddit: Reddit API Wrapper for Java";
|
||||
String clientID = "gn9RWt8rgo2GDoZK";
|
||||
String clientID = "PfnhLt3VahLrbg";
|
||||
String redirectURI = "https://github.com/snkas/jReddit";
|
||||
|
||||
// Reddit application
|
||||
RedditApp redditApp = new RedditInstalledApp(clientID, redirectURI);
|
||||
|
||||
// Create OAuth agent
|
||||
RedditOAuthAgent agent = new RedditOAuthAgent(userAgent, redditApp);
|
||||
agent = new RedditOAuthAgent(userAgent, redditApp);
|
||||
|
||||
// Create token (will be valid for 1 hour)
|
||||
RedditToken token = agent.tokenAppOnly(false);
|
||||
token = agent.tokenAppOnly(false);
|
||||
System.out.println("Access Token: " + token.getAccessToken());
|
||||
System.out.println("Token Type: " + token.getTokenType());
|
||||
System.out.println("Refreshable: " + token.isRefreshable());
|
||||
@ -36,6 +35,6 @@ public class RedditAPI {
|
||||
System.out.println("Will expire in 59 minutes: " + token.willExpireIn((long) 3540));
|
||||
}
|
||||
public void newToken() throws RedditOAuthException {
|
||||
RedditToken token = this.agent.tokenAppOnly(false);
|
||||
this.token = this.agent.tokenAppOnly(false);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user