1. 首先到新浪微博开放平台http://open.weibo.com/ 创建一个移动应用:
注意:Android签名, 首先将你自己的app装在手机上,再从新浪开放平台下载资源 http://open.weibo.com/wiki/SDK,解压缩后
2. 应用创建成功后,需要填写授权回调页:
3. 自此页面上的已经创建完成了,接下来看android代码:
(1)在AndroidManifest.xml加入
<1> 在AndroidManifest.xml加入 微博主页
<2>在你分享微博的activity里加入
(2)代码片段:在你分享微博的activity里
<1>implements IWeiboHandler.Response 实现这个接口里的方法
<2>private IWXAPI api;
private IWeiboShareAPI mWeiboShareAPI;
private IWeiboShareAPI mWeiboShareAPI;
//在oncreate里 注册appid到新浪
mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(this,
Constants.SINA_APP_ID);
mWeiboShareAPI.registerApp();
mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(this,
Constants.SINA_APP_ID);
mWeiboShareAPI.registerApp();
<3>主要方法:
private void sendMultiMessage(boolean hasText, boolean hasImage,
boolean hasWebpage) {
// 1. 初始化微博的分享消息
WeiboMultiMessage weiboMessage = new WeiboMultiMessage();
if (hasText) {
weiboMessage.textObject = getTextObj("即玩:新浪微博分享......");
}
// 2. 初始化从第三方到微博的消息请求
SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest();
// 用transaction唯一标识一个请求
request.transaction = String.valueOf(System.currentTimeMillis());
request.multiMessage = weiboMessage;
// 3. 发送请求消息到微博,唤起微博分享界面
AuthInfo authInfo = new AuthInfo(this, Constants.SINA_APP_ID,
Constants.REDIRECT_URL, Constants.SCOPE);
String token = "";
Bundle accessToken = authInfo.getAuthBundle();
if (accessToken != null) {
token = accessToken.getString("access_token");
}
mWeiboShareAPI.sendRequest(this, request, authInfo, token,
new WeiboAuthListener() {
@Override
public void onWeiboException(WeiboException arg0) {
}
@Override
public void onComplete(Bundle bundle) {
Oauth2AccessToken newToken = Oauth2AccessToken
.parseAccessToken(bundle);
Toast.makeText(
getApplicationContext(),
"onAuthorizeComplete token = "
+ newToken.getToken(), 0).show();
}
@Override
public void onCancel() {
}
});
}
boolean hasWebpage) {
// 1. 初始化微博的分享消息
WeiboMultiMessage weiboMessage = new WeiboMultiMessage();
if (hasText) {
weiboMessage.textObject = getTextObj("即玩:新浪微博分享......");
}
// 2. 初始化从第三方到微博的消息请求
SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest();
// 用transaction唯一标识一个请求
request.transaction = String.valueOf(System.currentTimeMillis());
request.multiMessage = weiboMessage;
// 3. 发送请求消息到微博,唤起微博分享界面
AuthInfo authInfo = new AuthInfo(this, Constants.SINA_APP_ID,
Constants.REDIRECT_URL, Constants.SCOPE);
String token = "";
Bundle accessToken = authInfo.getAuthBundle();
if (accessToken != null) {
token = accessToken.getString("access_token");
}
mWeiboShareAPI.sendRequest(this, request, authInfo, token,
new WeiboAuthListener() {
@Override
public void onWeiboException(WeiboException arg0) {
}
@Override
public void onComplete(Bundle bundle) {
Oauth2AccessToken newToken = Oauth2AccessToken
.parseAccessToken(bundle);
Toast.makeText(
getApplicationContext(),
"onAuthorizeComplete token = "
+ newToken.getToken(), 0).show();
}
@Override
public void onCancel() {
}
});
}
其中Constants.SINA_APP_ID为你创建应用生成的App Key
Constants.REDIRECT_URL为你填写的回调页
Constants.SCOPE为所有权限 可写成:public static final String SCOPE = "email,direct_messages_read,direct_messages_write,"
+ "friendships_groups_read,friendships_groups_write,statuses_to_me_read,"
+ "follow_app_official_microblog";// 新浪权限
+ "friendships_groups_read,friendships_groups_write,statuses_to_me_read,"
+ "follow_app_official_microblog";// 新浪权限
本文详细介绍了如何在Android应用中集成并实现微博分享功能,包括创建移动应用、填写授权回调页、Android代码配置及关键方法使用。
762

被折叠的 条评论
为什么被折叠?



