import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.google.gdata.client.douban.DoubanService;
import com.google.gdata.data.PlainTextConstruct;
import com.google.gdata.util.ServiceException;
/**
* Douban API Java client OAuth demo.
*
* @author subdragon
*/
public class DoubanOAuthDemo extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "OAuth Java is Simple";
String requestToken = request.getParameter("oauth_token");
out.println("<h1>" + title + "</h1>");
String apiKey = "059ef56f6b705e1210dce04e42511a36";
String secret = "006ba4a489916c13";
out.println("<html>");
out.println("<head>");
out.println("<title>" + title + "</title>");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
DoubanService myService = new DoubanService("subApplication", apiKey, secret);
if(requestToken != null) {
// step2 : user give the authorization and prepare to get the request token
out.println(requestToken);
try{
Cookie[] cookies = request.getCookies();
if (cookies == null) {
out.println("request token secret not found in cookie");
return;
}
Cookie c = cookies[0];
// set request token and token secret
myService.setRequestTokenSecret(c.getValue());
myService.setRequestToken(requestToken);
// get request token
myService.getAccessToken();
myService.createSaying(new PlainTextConstruct(title));
out.println("<br/> You have just posted a message to douban saying");
}catch (IOException e) {
out.println("Oops! networking error!");
e.printStackTrace();
} catch (ServiceException e) {
out.println("Oops! wrong request token!");
e.printStackTrace();
}
} else {
out.println(request.getRequestURL());
out.println("<br/>");
// step1 : generate authorization url and set the callback url to the current url
out.println("<a href=" + myService.getAuthorizationUrl(request.getRequestURL().toString()) + "> click me to jump to the oauth page.</a>");
// put request secret in cookie
Cookie c = new Cookie("secret", myService.getRequestTokenSecret());
response.addCookie(c);
}
out.println("</body>");
out.println("</html>");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java的实例源码-豆瓣OAuth认证示例项目.zip
共409个文件
svn-base:203个
as:168个
js:8个
1 下载量 157 浏览量
2023-06-28
00:51:41
上传
评论
收藏 1.21MB ZIP 举报
温馨提示
基于Java的实例源码-豆瓣OAuth认证示例项目.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于Java的实例源码-豆瓣OAuth认证示例项目.zip (409个子文件)
.actionScriptProperties 828B
MozillaRootCertificates.as 216KB
URI.as 74KB
AESKeyTest.as 53KB
BigInteger.as 32KB
AESKey.as 25KB
TLSEngine.as 23KB
BlowFishKey.as 19KB
JPGEncoder.as 19KB
DateUtil.as 17KB
MD5Stream.as 17KB
JSONTokenizer.as 16KB
DESKey.as 14KB
SHA1Test.as 13KB
EncryptionKeyGenerator.as 12KB
Dict.as 11KB
MD5.as 10KB
HMACTest.as 9KB
JSONDecoder.as 9KB
JSONEncoder.as 9KB
RSAKey.as 9KB
SHA256.as 9KB
SHA224.as 9KB
SHA1.as 8KB
TLSSocket.as 8KB
StringUtil.as 7KB
VCardParser.as 7KB
RFC2817Socket.as 7KB
Crypto.as 7KB
MD5.as 7KB
X509Certificate.as 7KB
MimeTypeMap.as 7KB
CBCModeTest.as 6KB
DER.as 6KB
OAuthRequest.as 6KB
ECBModeTest.as 6KB
FileMonitor.as 6KB
ArrayUtil.as 5KB
TLSSecurityParameters.as 5KB
PNGEncoder.as 5KB
CipherSuites.as 5KB
XMLUtil.as 5KB
VolumeMonitor.as 5KB
Base64.as 5KB
ResourceCache.as 4KB
URIEncodingBitmap.as 4KB
TLSTest.as 4KB
HMAC.as 4KB
TLSConnectionState.as 4KB
CTRModeTest.as 4KB
WSSEUsernameToken.as 4KB
OFBModeTest.as 4KB
BlowFishKeyTest.as 4KB
MD2.as 4KB
CFBModeTest.as 4KB
URLLoaderBase.as 4KB
RSAKeyTest.as 3KB
PEM.as 3KB
SHA256.as 3KB
BulkCiphers.as 3KB
TLSPRF.as 3KB
IntUtil.as 3KB
JSONToken.as 3KB
JSON.as 3KB
DESKeyTest.as 3KB
SocketHelper.as 3KB
FileTarget.as 3KB
IURIResolver.as 3KB
JSONParseError.as 3KB
CFB8ModeTest.as 3KB
Random.as 3KB
SHA1.as 3KB
IVMode.as 3KB
DictionaryUtil.as 3KB
ObjectIdentifier.as 2KB
XTeaKey.as 2KB
ServiceEvent.as 2KB
NumberFormatter.as 2KB
JSONTokenType.as 2KB
IllegalStateError.as 2KB
Definition.as 2KB
TripleDESKey.as 2KB
Response.as 2KB
MatchStrategy.as 2KB
Database.as 2KB
ErrorEvent.as 2KB
Type.as 2KB
DynamicURLLoader.as 2KB
FileUtil.as 2KB
DefinitionEvent.as 2KB
ECBMode.as 2KB
DefinitionHeaderEvent.as 2KB
DictionaryServer.as 2KB
HMAC.as 2KB
MatchStrategiesEvent.as 2KB
ResourceCacheEvent.as 2KB
DictionaryServerEvent.as 2KB
DatabaseEvent.as 2KB
CompleteResponseEvent.as 2KB
SHA256Test.as 2KB
共 409 条
- 1
- 2
- 3
- 4
- 5
资源评论
快乐无限出发
- 粉丝: 1135
- 资源: 7274
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功