android分享到新浪微博,认证+发送微博,
分享到新浪微博,折腾了大半个月,现在终于弄出来了,心里的那个爽呀,太痛快了,哈哈!!





废话少说,首先是认证,
1.进入新浪微博提供的开放平台http://open.weibo.com/ 注册新浪账号。
2.点击’我是开发者‘,创建一个应用,得到CONSUMER_KEY和CONSUMER_SECRET,保存这两个值。
3.找到相关的API接口文档,下载android版的SDK weibo4android-1.2.0.zip 。
4.解压后倒入到eclipse中。
------下面是关键步骤
5.在自己的项目中创建一个lib文件夹,分别添加weiboandroid项目中的这三个包commons-codec.jar,commons-httpclient-3.1.jar,commons-logging-1.1.jar 。
注意:这里千万不要添加weibo4android-1.2.0.jar这个包。
然后再将这三个包引用到到项目中。 //这里这样做的好处是当你项目完成后拷贝的别处的时候,不会造成.jar包的丢失……
6.分别添加这四个包的自己的项目 中,weibo4android,weibo4android.http,weibo4android.org.json,weibo4android.util。 //此时如果引入weibo4android-1.2.0.jar这个包是会报错,提示什么版本问题,查询提供的都是从1.6版本复制项目到2.2版本的 方案。 本人觉得这个包跟现在倒入的四个包造成命名空间的冲突造成的。
7.参考examples-weibo4android.androidexamples下的三个文件。OAuthConstant.java直接 拷贝到项目中,AndroidExample.java认证所需要的相关配置,OAuthActivity.java认证成功后得到 AccessToken的key和Secret,可以复制其代码。 //详细代码设置后面会给出,不要着急………………
8.AndroidExample和OAuthActivity代码所对应的java文件都需要在AndroidManifest.xml中注册。 注册方式不说,基础入门必修课。
注意对OAuthActivity对应文件参数的设置:
<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="cn.edu.cou.mobile" android:host="ShareSinaSendActivity" /> //这里scheme host 在AndroidExample对应文件跳转时会用到
</intent-filter>
9.最重要的一点,在复制到项目中的weibo4android包下找到Weibo.java文件,修改CONSUMER_KEY和CONSUMER_SECRET的值,与第二点是提到的值对应。
10.代码部分:
AndroidExample对应文件中必须有:
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
然后:
Weibo weibo = OAuthConstant.getInstance().getWeibo();
RequestToken requestToken;
try {
requestToken =weibo.getOAuthRequestToken("weibo4android://OAuthActivity"); // 分别取第八点提到的scheme host ---host必须为在新浪成功后所需要调回的页面名称
Uri uri = Uri.parse(requestToken.getAuthenticationURL()+ "&from=xweibo"); // 即OAuthActivity的对应文件。 scheme建议为项目名称或是项目总的命名空间
OAuthConstant.getInstance().setRequestToken(requestToken);
startActivity(new Intent(Intent.ACTION_VIEW, uri));
} catch (WeiboException e) {
e.printStackTrace();
}
OAuthActivity对应文件:
Uri uri=this.getIntent().getData();
try {
RequestToken requestToken = OAuthConstant.getInstance()
.getRequestToken();
accessToken = requestToken.getAccessToken(uri
.getQueryParameter("oauth_verifier"));
OAuthConstant.getInstance().setAccessToken(accessToken);
textView.setText("得到AccessToken的key和Secret,可以使用这两个参数进行授权登录了.\n Access token:\n"
+ accessToken.getToken()
+ "\n Access token secret:\n"
+ accessToken.getTokenSecret());
} catch (WeiboException e) {
e.printStackTrace();
}
/////----------------以下为我在OAuthActivity对应文件中Button的OnClick事件中处理发表一条新微博的功能。
Weibo weibo = new Weibo();
Status status = null;
try {
weibo.setToken(accessToken.getToken(),accessToken.getTokenSecret());
status = weibo.updateStatus("测试android上发新浪微博消息!!!!"); //关键是这里,能否成功调用updateStatus发表微博,有兴趣的可以仔细研究一下。
} catch (WeiboException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(status.getId() + " : " + status.getText() + " "
+ status.getCreatedAt());
//如果程序能执行到这里,证明已经发表成功,下面是执行成功后跳转到另外一个页面。
Intent intent = new Intent();
intent.setClass(ShareSinaSendActivity.this, ShareListActivity.class);
ShareSinaSendActivity.this.startActivity(intent);
到这里,功能基本上就完了,如果想要其他的功能,只需要根据SDK上提供的那个Demo进行对应的操作即可。
总结:分享到新浪微博,调用新浪的API,除了登陆界面是新浪提供外,其余貌似都需要些xml布局文件。
本人乃初学,以上为记录这次成功后的分享,希望也能帮到很多需要做新浪微博分享功能的人。
对于android的知识点,每个人提供多提供一点心得,既是对自己的一种提升,同时又能帮到更多的人,真的很好!!!!
android分享到新浪微博,认证+发送微博,的更多相关文章
- Android应用内使用新浪微博SDK发送微博(不调用微博客户端)
需求 手头的一个应用需要添加分享到新浪微博的功能,这个功能在现在的应用上是非常的普遍的了. 分享到新浪微博,其实就是发送一条特定内容的微博,所以需要用到新浪微博SDK了. 微博SDK SDK的下载地址 ...
- android 分享到新浪微博
分享到新浪微博,折腾了大半个月,现在终于弄出来了,心里的那个爽呀,太痛快了,哈哈!! 废话少说,首先是认证, 1.进入新浪微博提供的开放平台注册新浪账号. 2.点击’我是开发者‘,创建一个应用,得到C ...
- 分享一个难得的YiBo微博客户端应用源码Android版
今天给大家分享一款,YiBo微博客户端应用源码,这是一款专为Android用户打造的聚合型微博客户端,完美支持新浪微博.腾讯微博.搜狐微博.网易微博和饭否五个微博平台,界面清爽,使用简单轻巧,支持多账 ...
- 一键分享到新浪微博、腾讯微博、搜狐微博、人人网、开心网、百度收藏等js代码大全
下面给大家一些分享的js代码,只要把代码插入自己的网页中稍微修改一下图片路径就可以用了,好了,废话少说,上代码: document.writeln("<b>喜欢本文,那就分享到 ...
- Android - 分享内容 - 给其他APP发送内容
创建一个intent时,必须要指定intent将要触发的操作.Android定义了很多操作,包括ACTION_SEND,就象可以猜到的一样,表示intent是把数据从一个activity发送给另一个, ...
- 新浪微博登陆以及发送微博(附python源码)
原文链接(本人):https://blog.csdn.net/A5878989/article/details/76275855 说明 本文主要记录分析新浪微博登陆以及发送文字和图片微博的详细过程 分 ...
- android App使用新浪微博sdk的使用总结
问题1:注册app的key 问题2:在微博开放平台,我的应用中心中,设置应用的基本信息的时候其中有一项,是设置你的应用的签名,签名是需要在安卓设备上安装一个生成签名的app(这个app界面很丑,这点我 ...
- [deviceone开发]-QQ分享、微信分享和新浪微博分享
一.简介 该demo主要实现QQ分享.微信分享和新浪微博分享.(调试包请到论坛扫描对应二维码下载) 二.效果图 三.相关讨论 http://bbs.deviceone.net/forum.php?mo ...
- 使用 Android Studio 跑新浪微博SDK Demo遇到的问题及解决
概述 这是新浪微博官方 Android SDK Demo 使用 Android Studio 导入.编译并运行通过的版本. 源码:WeiboSdkDemo 官方项目请点击: weibo_android ...
随机推荐
- google在线測试练习题1
Problem You receive a credit C at a local store and would like to buy two items. You first walk thro ...
- tail-head
[root@rusky]# tail test3 #不加参数默认显示全部内容 line line2 line3 line4 line5 line6 line7 line8 line9 line10 [ ...
- Linux命令初步了解
知识点: 1.虚拟控制台: 在系统启动时直接进入字符工作方式后,系统提供了多个(默认为6个)虚拟控制台.每个虚拟控制台可以相互独立使用,互不影响. 可以使用Alt+F1~Alt+F6进行多个虚拟控制台 ...
- [c#]asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息
上一篇已经把所有消息封装且都各自有方法处理了,这篇从使用第一步——关注开始, 关注之后进行消息记录,同时回复文本消息给用户,关注方法:DoSub,另外新用户扫描带参数的二维码关注方法:DoCodeN ...
- 【warning】clang the linker unused
这个问题是 我在写第一个 mac os 下的helloworld遇到的 就像是 大家写第一个java中的 helloworld 肯定也是要在命令窗口下进行操作 一样 为了让一些和我一样的刚入门的孩子学 ...
- C#多线程实践——线程同步
下面的表格列展了.NET对协调或同步线程动作的可用的工具: 简易阻止方法 构成 目的 Sleep 阻止给定的时间周期 Join 等待另一个线程完成 ...
- MySql不支持事务解决
用的是一个绿色版的mysql数据库,发现不支持事务,在网络上搜集资料找到解决方案: 1.执行语句 SHOW ENGINES; 如果发现InnoDB全部显示为“YES”,说明该版本的数据库支持事务 2 ...
- Codeforces Round #276 (Div. 1)
a. 给俩数, 求他俩之间二进制数中1最多的,有多个输出最小的: 贪心,从小到大加能加就加,最后可能碰到一个不能加了但是当前数比l小,那么就加上这个数,然后从大到小,能减就减,见到符合条件 #incl ...
- 腾讯CMEM的PHP扩展(转载)
题外话最近公司在做相关的业务,由于Memcached协议缺少返回码,为了保证业务数据的安全性,不得已只好自己写个扩展来实现需求. 基于memcache扩展的2.2.6的稳定版开发而来.代码已经开源,有 ...
- AFC项目开发文档整理
AFC项目开发文档整理 PHPCMS 的确是一个伟大的CMS,我对它爱不释手. 标签嵌套无法loop获取的解决办法.关键代码如下: /\*后台添加\*/ $str = preg_replace ( & ...