1.首先去腾讯微博的开发平台注册得到app_id,下载SDK并导入到工程
2.修改配置文件,目标文件config.properties在Android_SDK.jar包config文件夹下,把appkey、appsecret修改成自己应用对应的appkey和appsecret.
3.进行授权操作
// 授权
long appid = Long
.valueOf(com.tencent.weibo.sdk.android.api.util.Util
.getConfig()
.getProperty("APP_KEY"));
String app_secket = com.tencent.weibo.sdk.android.api.util.Util
.getConfig().getProperty(
"APP_KEY_SEC");
auth(appid, app_secket);
/* 腾讯微博授权 */
private void auth(long appid, String app_secket) {
final Context context = this.getApplicationContext();
// 注册当前应用的appid和appkeysec,并指定一个OnAuthListener
// OnAuthListener在授权过程中实施监听
AuthHelper.register(this, appid, app_secket, new OnAuthListener() {
// 如果当前设备没有安装腾讯微博客户端,走这里
@Override
public void onWeiBoNotInstalled() {
AuthHelper.unregister(SLMPlayUI2Activity.this);
Intent i = new Intent(SLMPlayUI2Activity.this, Authorize.class);
startActivity(i);
}
// 如果当前设备没安装指定版本的微博客户端,走这里
@Override
public void onWeiboVersionMisMatch() {
AuthHelper.unregister(SLMPlayUI2Activity.this);
Intent i = new Intent(SLMPlayUI2Activity.this, Authorize.class);
startActivity(i);
}
// 如果授权失败,走这里
@Override
public void onAuthFail(int result, String err) {
Toast.makeText(SLMPlayUI2Activity.this, "result : " + result,
1000).show();
AuthHelper.unregister(SLMPlayUI2Activity.this);
}
// SSO授权成功,走这里
// 授权成功后,所有的授权信息是存放在WeiboToken对象里面的,可以根据具体的使用场景,将授权信息存放到自己期望的位置,
// 在这里,存放到了applicationcontext中
@Override
public void onAuthPassed(String name, WeiboToken token) {
Toast.makeText(SLMPlayUI2Activity.this, "passed", 1000).show();
//
com.tencent.weibo.sdk.android.api.util.Util
.saveSharePersistent(context, "ACCESS_TOKEN",
token.accessToken);
com.tencent.weibo.sdk.android.api.util.Util
.saveSharePersistent(context, "EXPIRES_IN",
String.valueOf(token.expiresIn));
com.tencent.weibo.sdk.android.api.util.Util
.saveSharePersistent(context, "OPEN_ID", token.openID);
// Util.saveSharePersistent(context, "OPEN_KEY", token.omasKey);
com.tencent.weibo.sdk.android.api.util.Util
.saveSharePersistent(context, "REFRESH_TOKEN", "");
// Util.saveSharePersistent(context, "NAME", name);
// Util.saveSharePersistent(context, "NICK", name);
com.tencent.weibo.sdk.android.api.util.Util
.saveSharePersistent(context, "CLIENT_ID",
com.tencent.weibo.sdk.android.api.util.Util
.getConfig().getProperty("APP_KEY"));
com.tencent.weibo.sdk.android.api.util.Util
.saveSharePersistent(context, "AUTHORIZETIME", String
.valueOf(System.currentTimeMillis() / 1000l));
AuthHelper.unregister(SLMPlayUI2Activity.this);
}
});
AuthHelper.auth(this, "");
}
4.授权完成后,开始调用WeiboAPI类中的reAddWeibo方法来进行分享操作
/**
* 腾讯微博实现分享
*/
private void share2txweibo() {
AccountModel account = new AccountModel(accessToken);//根据token得到一个accountModel对象
weibo_api = new WeiboAPI(account);
weibo_api.reAddWeibo(SLMPlayUI2Activity.this, "我正在使用#蜂蜂音乐#收听歌曲",
SLMPlayerService.getmMediaMessage().getMediaSongPic(), null,
SLMPlayerService.getmMediaMessage().getMediaSongUrl(),
SLMPlayerService.getmMediaMessage().getMediaSongName(),
SLMPlayerService.getmMediaMessage().getMediaSingerName(),
mCallBack, null, BaseVO.TYPE_JSON);
}