- 浏览: 1226110 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (353)
- java基础 (40)
- tapestry (16)
- gwt (14)
- ajax (7)
- linux (8)
- ubuntu (18)
- eclipse (6)
- dojo (2)
- javascript (7)
- maven (4)
- 日常生活 (29)
- web2.0 (2)
- jsonrpc (1)
- compass (1)
- lucene (0)
- spring (10)
- cluster (3)
- 数据结构 (2)
- sqlserver (1)
- tomcat (2)
- swing (1)
- servlet (1)
- hibernate (1)
- firefox (1)
- Java-Puzzlers (1)
- Wicket (2)
- mysql (10)
- windows (5)
- Webwork (1)
- struts2 (1)
- Seam (2)
- jboss (1)
- idea (6)
- 分布计算 (3)
- Python-Django (7)
- Hadoop (1)
- 工具 (3)
- Tokyo Tyrant (2)
- Comet (1)
- android (115)
- 音乐 (6)
- cxf (1)
- mqtt (1)
最新评论
-
hesai_vip:
学习了,感谢
gradlew wrapper使用下载到本地的gradle.zip文件安装。 -
imknown:
姚瑶大坏蛋 写道我也遇到了这个,用你这个方法,导致下拉刷新不起 ...
解决android-Ultra-Pull-To-Refresh下拉刷新组件中嵌套ViewPager的一个bug -
姚瑶大坏蛋:
我也遇到了这个,用你这个方法,导致下拉刷新不起作用了,你遇到过 ...
解决android-Ultra-Pull-To-Refresh下拉刷新组件中嵌套ViewPager的一个bug -
寐语者:
LeaderElection(String zookeeper ...
使用Zookeeper来为你的程序加上Leader Election的功能。 -
fyc0109:
博主, 安装了一部分还是报这个错误!FAILURE: Buil ...
gradlew wrapper使用下载到本地的gradle.zip文件安装。
我们这里使用twitter4j来实现这个功能. http://twitter4j.org/
新建一个android项目
下载twitter4j-core-2.1.8.jar, 放到${base.dir}/libs, 并加到项目的classpath中
MyActivity
consumerKey, consumerSecret需要换成你们自己的, 在twitter中创建app后可以得到. 这里要注意的是CALLBACKURL变量, 这里是用户verfiy之后browser回调的url. 这个我们需要在AndroidManifest.xml定义. 这样就能使browser带回到MyActivity中.
AndroidManifest.xml
在国内twitter被墙, 所以需要代理. 用这个命令可以起一个链接到代理的模拟器
附件是源码.
参考:
http://groups.google.com/group/twitter-development-talk/browse_thread/thread/e4fc18c1398895c4/9d4a29f66f930a3e?lnk=gst&q=OAuth
http://abhinavasblog.blogspot.com/2010/09/using-twitter-with-oauth-on-andorid.html
你是谁呀 这个例子比较早了 过不了正常的
package com.example; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import twitter4j.Twitter; import twitter4j.TwitterException; import twitter4j.TwitterFactory; import twitter4j.conf.ConfigurationBuilder; import twitter4j.http.AccessToken; import twitter4j.http.RequestToken; import java.util.Date; public class MyActivity extends Activity { private final String CALLBACKURL = "myapp://mainactivity"; private static Twitter twitter; private TextView tweetTextView; private Button buttonLogin; public static final String consumerKey = "XXXXXXXXX"; public static final String consumerSecret = "XXXXXXXXXXXXXXXX"; private void doOauth() { try { twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(consumerKey, consumerSecret); RequestToken requestToken = twitter.getOAuthRequestToken(CALLBACKURL); System.out.println("Got request token."); System.out.println("Request token: "+ requestToken.getToken()); System.out.println("Request token secret: "+ requestToken.getTokenSecret()); this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL()))); } catch (TwitterException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); Uri uri = intent.getData(); if (uri != null && uri.toString().startsWith(CALLBACKURL)) { String verifier = uri.getQueryParameter("oauth_verifier"); try { AccessToken oAuthAccessToken = twitter.getOAuthAccessToken(verifier); // TODO: store the oauthaccess token // create a tweet Date d = new Date(System.currentTimeMillis()); String tweet = "#OAuth working! " + d.toLocaleString(); // send the tweet twitter.updateStatus(tweet); // feedback for the user... Toast.makeText(this, tweet, Toast.LENGTH_LONG).show(); buttonLogin.setVisibility(Button.GONE); } catch (Exception e) { e.printStackTrace(); Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); } } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); tweetTextView = (TextView) findViewById(R.id.tweet); buttonLogin = (Button) findViewById(R.id.ButtonLogin); setContentView(R.layout.main); doOauth(); } }
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example" android:versionCode="1" android:versionName="1.0"> <application android:label="twittertest" android:icon="@drawable/icon" android:debuggable="true"> <activity android:name="MyActivity" android:label="@string/app_name" android:launchMode="singleInstance" > <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="myapp" android:host="mainactivity"/> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.INTERNET"></uses-permission> </manifest>
引用
./emulator -avd adv8 -http-proxy 192.168.1.13:8118 -debug-proxy
附件是源码.
参考:
http://groups.google.com/group/twitter-development-talk/browse_thread/thread/e4fc18c1398895c4/9d4a29f66f930a3e?lnk=gst&q=OAuth
http://abhinavasblog.blogspot.com/2010/09/using-twitter-with-oauth-on-andorid.html
- twittertest.zip (414.6 KB)
- 下载次数: 90
评论
4 楼
chenleijava
2012-07-10
发现这个和百度魔图一样,授权完后,callback 不回来!!
3 楼
lewis_huang
2011-09-26
..不是吧。。变化这么快。。不过代码都差不多。。就是过不了。。
2 楼
dengyin2000
2011-09-26
lewis_huang 写道
老邓啊。。你这代码我试了很多次了。。过不了啊。。那callback url是不是只要manifest里面注册就行了啊。。过不了啊
你是谁呀 这个例子比较早了 过不了正常的
1 楼
lewis_huang
2011-09-26
老邓啊。。你这代码我试了很多次了。。过不了啊。。那callback url是不是只要manifest里面注册就行了啊。。过不了啊
发表评论
-
安卓各种长知识的技术文章,不断更新
2015-10-27 18:24 796http://blog.udinic.com/2015/09 ... -
发现一个android sdk更新神速的镜像
2015-09-02 11:26 957mirrors.dormforce.net:80 //(栋力无 ... -
gradle项目中怎么集中管理你的依赖库
2015-08-16 11:30 739项目结构 引用root --gradleScript ... -
使用Dexposed为你的安卓应用加上在线修复的能力。
2015-08-11 16:15 6142移动客户端应用相对于W ... -
解决android-Ultra-Pull-To-Refresh下拉刷新组件中嵌套ViewPager的一个bug
2015-08-02 00:15 17081在项目中使用了android-Ultra-Pull-To-Re ... -
android有质量的面试题
2015-03-17 14:31 963https://github.com/android-cn/i ... -
提高Android Studio的gradle编译速度。
2015-03-12 14:12 4420发现用Android Studio的make和直接使用comm ... -
gradlew wrapper使用下载到本地的gradle.zip文件安装。
2015-03-12 01:26 15491使用gradlew来build项目时,有时候老是需要下载gra ... -
gradlew wrapper设置代理下载gradle
2015-02-27 18:25 46011. HTTP Only Proxy configuratio ... -
认识mqtt
2015-01-30 11:43 1111http://www.hivemq.com/mqtt-esse ... -
Google的Android性能模式
2015-01-14 14:44 781http://www.infoq.com/cn/news/20 ... -
反对Fragment的理由,顺便叫你如果创建自己的自定义view
2014-12-18 17:08 1140下面这篇文章讲了反对Fragment的理由,顺便叫你如果创建自 ... -
获取status bar的高度
2014-12-16 19:52 1318public static int getStatus ... -
最新的appCompat support library中,actionbar的自定义view不能占用全部的宽度
2014-12-02 23:22 962<style name="AppTheme&q ... -
ScrollTricks实现StickHeader效果
2014-11-06 19:07 1142https://code.google.com/p/roman ... -
AppCompat v21 — Material Design for Pre-Lollipop Devices!
2014-10-23 11:03 904http://android-developers.blogs ... -
国内Android Sdk Manager不能更新的问题。
2014-09-15 15:49 984加hosts 引用203.208.46.146 dl.goo ... -
在Centos上安装android sdk遇到的问题。
2014-09-15 12:00 1400安装好android sdk后, 打包时老是会有下面的问题。 ... -
Android的一些制作图表按钮的工具
2014-09-09 16:36 1556Android Button Maker Android P ... -
DESIGNER'S GUIDE TO DPI
2014-08-29 14:37 484强烈建议美工看看, 对于移动app的多密度屏幕的支持 http ...
相关推荐
在描述中提到的“Twitter OAuth the easy way – simple post to twitter script”,暗示我们将讨论一个简单的脚本,该脚本简化了使用OAuth进行身份验证并发布到Twitter的过程。这个脚本可能是一个易于理解和使用的...
Twitter4j是一个开源Java库,专门用于与Twitter API交互,为开发者提供了丰富的功能,包括发布推文、检索推文、管理关注者、处理事件监听等。这个最新的API版本旨在简化和增强开发者在Twitter平台上的开发体验。以下...
《微博API接入实战:解析weibo4j-oauth2-2.1.1-beta3.1.1.jar》 在当今社交媒体盛行的时代,微博作为中国最大的社交网络平台之一,其API接口的使用对于开发者来说至关重要。`weibo4j-oauth2-2.1.1-beta3.1.1.jar`是...
微博weibo4j-oauth包是一个专门为开发微博爬虫提供支持的Java库,它基于OAuth 2.0协议,使得开发者能够安全地访问微博API,获取用户数据或进行其他交互操作。这个包的核心功能在于帮助开发者处理微博的授权流程,为...
《全面解析 sinaWeibo javaSDK - weibo4j-oauth2-beta3.1.1》 在当今社交媒体时代,新浪微博作为中国最受欢迎的社交平台之一,为开发者提供了丰富的API接口,以便构建与微博互动的应用程序。其中,`sinaWeibo java...
用 C++ 语言实现 twitter 的 oauth 鉴权全过程。另外还有详细的文档试用说明(Demo_Description.doc)。这里拿出来共享,是希望大家在做同类产品时,在 OAUTH 鉴权过程中,可以参考这个,并少花点时间。 文件清单...
《微博API库weibo4j-oauth2在Android开发中的应用与实践》 微博作为中国社交媒体的重要平台,其API接口为开发者提供了丰富的功能,能够帮助开发者实现与微博平台的深度集成。本文主要围绕"weibo4j-oauth2-beta2.1.1...
Status status = twitter.updateStatus("Hello, Twitter4J!"); System.out.println("Successfully updated the status to [" + status.getText() + "]."); } catch (TwitterException e) { e.printStackTrace(); ...
《OAuth 2.0 实战》是一本深入探讨OAuth 2.0协议的专业书籍,它主要面向开发者和系统架构师,旨在帮助读者理解和实施OAuth 2.0授权框架,以安全地实现第三方应用的访问权限控制。OAuth 2.0是互联网上广泛采用的开放...
weibo4j-oauth2
- 当用户点击分享按钮时,应用会调用`twitter4j`库的方法,例如`Twitter.getInstance().updateStatus()`,传入用户输入的文字,发送一条新的推文。 6. **权限处理**: - 在AndroidManifest.xml中,需要声明网络...
在Android开发中,网络编程是不可或缺的一部分,而OAuth2是一种广泛使用的授权协议,它为安全地访问第三方资源提供了便利。本教程将详细讲解如何在Android应用中使用OkHttp实现OAuth2客户端,以便与服务器进行安全的...
We want you to come away from this book with a deep understanding of what OAuth can do, why it works the way that it does, and how to deploy it properly and securely in an unsafe internet. ...
twitter 库使用 twitter4j,TwitterOAuthView for android 安卓推特 这个库是简单的 twitter oauth 和 tweet。 如果您在没有库的情况下登录 Twitter,则必须运行 Web 浏览器应用程序。 这个库让你可以简单地做到这...
【GitHub Android App源码解析】 GitHub Android App 是一个官方出品的应用程序,允许用户在移动设备上无缝地浏览、管理以及协作开发GitHub上的项目。这款应用的源码是公开的,对于Android开发者而言,它是一个宝贵...
OAuth认证在Android开发中是一个重要的知识点,特别是在移动应用与第三方服务集成时,如社交媒体登录、云存储服务等。OAuth允许用户授权第三方应用访问其私有资源,而无需分享用户名和密码,增强了安全性。本示例是...