From 78fd342d92d525929e4dfde3abd9bda13fcca36c Mon Sep 17 00:00:00 2001 From: liuce Date: Sun, 10 Jul 2011 10:53:25 +0800 Subject: [PATCH] Added Kaixin and QWeibo Apis --- changelog.txt | 1 + .../org/scribe/builder/api/KaixinApi.java | 40 +++++++++++++++++++ .../org/scribe/builder/api/QWeiboApi.java | 28 +++++++++++++ .../scribe/extractors/JsonTokenExtractor.java | 2 +- 4 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/scribe/builder/api/KaixinApi.java create mode 100644 src/main/java/org/scribe/builder/api/QWeiboApi.java diff --git a/changelog.txt b/changelog.txt index 6c0bf3e..f80df4b 100644 --- a/changelog.txt +++ b/changelog.txt @@ -70,3 +70,4 @@ * FEATURE: SoundCloud Api * FEATURE: Sapo Api * FEATURE: Plurk Mobile Api + * FEATURE: Kaixin and QWeibo Apis diff --git a/src/main/java/org/scribe/builder/api/KaixinApi.java b/src/main/java/org/scribe/builder/api/KaixinApi.java new file mode 100644 index 0000000..5b0e0d5 --- /dev/null +++ b/src/main/java/org/scribe/builder/api/KaixinApi.java @@ -0,0 +1,40 @@ +package org.scribe.builder.api; + +import org.scribe.model.*; + +public class KaixinApi extends DefaultApi10a +{ + private static final String REQUEST_TOKEN_URL = "http://api.kaixin001.com/oauth/request_token"; + private static final String ACCESS_TOKEN_URL = "http://api.kaixin001.com/oauth/access_token"; + private static final String AUTHORIZE_URL = "http://api.kaixin001.com/oauth/authorize?oauth_token=%s"; + + @Override + public String getRequestTokenEndpoint() + { + return REQUEST_TOKEN_URL; + } + + @Override + public String getAccessTokenEndpoint() + { + return ACCESS_TOKEN_URL; + } + + @Override + public String getAuthorizationUrl(Token requestToken) + { + return String.format(AUTHORIZE_URL, requestToken.getToken()); + } + + @Override + public Verb getRequestTokenVerb() + { + return Verb.GET; + } + + @Override + public Verb getAccessTokenVerb() + { + return Verb.GET; + } +} diff --git a/src/main/java/org/scribe/builder/api/QWeiboApi.java b/src/main/java/org/scribe/builder/api/QWeiboApi.java new file mode 100644 index 0000000..e16f288 --- /dev/null +++ b/src/main/java/org/scribe/builder/api/QWeiboApi.java @@ -0,0 +1,28 @@ +package org.scribe.builder.api; + +import org.scribe.model.*; + +public class QWeiboApi extends DefaultApi10a +{ + private static final String REQUEST_TOKEN_URL = "https://open.t.qq.com/cgi-bin/request_token"; + private static final String ACCESS_TOKEN_URL = "https://open.t.qq.com/cgi-bin/access_token"; + private static final String AUTHORIZE_URL = "https://open.t.qq.com/cgi-bin/authorize?oauth_token=%s"; + + @Override + public String getRequestTokenEndpoint() + { + return REQUEST_TOKEN_URL; + } + + @Override + public String getAccessTokenEndpoint() + { + return ACCESS_TOKEN_URL; + } + + @Override + public String getAuthorizationUrl(Token requestToken) + { + return String.format(AUTHORIZE_URL, requestToken.getToken()); + } +} diff --git a/src/main/java/org/scribe/extractors/JsonTokenExtractor.java b/src/main/java/org/scribe/extractors/JsonTokenExtractor.java index 3bec660..7c1ee04 100644 --- a/src/main/java/org/scribe/extractors/JsonTokenExtractor.java +++ b/src/main/java/org/scribe/extractors/JsonTokenExtractor.java @@ -8,7 +8,7 @@ import org.scribe.utils.*; public class JsonTokenExtractor implements AccessTokenExtractor { - private Pattern accessTokenPattern = Pattern.compile("\"access_token\":\"(\\S*?)\""); + private Pattern accessTokenPattern = Pattern.compile("\"access_token\":\\s*\"(\\S*?)\""); @Override public Token extract(String response)