博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android分享到新浪微博,认证+发送微博,
阅读量:6819 次
发布时间:2019-06-26

本文共 3412 字,大约阅读时间需要 11 分钟。

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

废话少说,首先是认证,

1.进入新浪微博提供的开放平台 注册新浪账号。

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的知识点,每个人提供多提供一点心得,既是对自己的一种提升,同时又能帮到更多的人,真的很好!!!!

你可能感兴趣的文章
wx-sideslip:类似 QQ 通讯录侧滑
查看>>
执行上下文、变量对象、作用域链、this,看这篇就够了!
查看>>
快速理解JavaScript中call和apply原理
查看>>
Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)
查看>>
【划重点】MySQL技术内幕:InnoDB存储引擎
查看>>
怎样用MP3转换器转换音频格式
查看>>
换个姿势学数学:二次函数与拆弹部队
查看>>
React-事件机制杂记
查看>>
调用链系列四:调用链上下文传递
查看>>
简单基于spring的redis配置(单机和集群模式)
查看>>
读《疯狂Java:突破程序员基本功的16课》之数组与内存控制部分总结
查看>>
LeetCode 315. Count of Smaller Numbers After Self
查看>>
CNCF多元化奖学金系列:让微服务、Kubernetes和云原生连接
查看>>
微信小程序:实现悬浮返回和分享按钮
查看>>
从dist到es:发一个NPM库,我蜕了一层皮
查看>>
JS module的导出和导入
查看>>
Python实现二叉树相关算法
查看>>
Linux中用户管理
查看>>
CSS实用技巧干货
查看>>
APT案例之点击事件
查看>>