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>");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
小程序 豆瓣OAuth认证示例项目(源码).rar
共409个文件
svn-base:203个
as:168个
js:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 56 浏览量
2023-02-03
13:50:12
上传
评论
收藏 1.04MB RAR 举报
温馨提示
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。
资源推荐
资源详情
资源评论
收起资源包目录
小程序 豆瓣OAuth认证示例项目(源码).rar (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
ErrorEvent.as 2KB
Database.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
DatabaseEvent.as 2KB
DictionaryServerEvent.as 2KB
CompleteResponseEvent.as 2KB
SHA256Test.as 2KB
共 409 条
- 1
- 2
- 3
- 4
- 5
资源评论
大富大贵7
- 粉丝: 319
- 资源: 8869
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 海信智能电视刷机数据 LED42K330X3D(0000) 生产用软件数据 务必确认机编一致 强制刷机 整机USB升级程序
- shujudaochuceshi
- learn-ruby.zip
- test111111111111111111
- face-detect.ipynb
- 以下是一些关于ACM(国际大学生程序设计竞赛)、NOI(全国青少年信息学奥林匹克竞赛)以及CSP(全国青少年信息学奥林匹克竞赛提
- 是一些电子设计竞赛(电赛)经验分享,包括备赛策略、项目管理、团队合作和比赛期间的注意事项
- 全能运行库修复工具DirectX Repair v4.1.0.30770
- las格式点云数据使用详解(附VS编译好的LAStools工具)
- KRPano插件一键解密大师1.4.0 (解压密码1234)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功