新浪微博分享 成功+失败的原因Android

SINA

首先

去开发者平台添加个测试账号
应用信息–测试信息—测试账号。

然后 接之前的微博,导jar包,SO库。等等。。

直接代码 :

public class sharedActivity extends AppCompatActivity implements IWeiboHandler.Response {

    /**
     * 微博微博分享接口实例
     */
    private IWeiboShareAPI mWeiboShareAPI = null;
    /**
     * 从微博客户端唤起第三方应用时,客户端发送过来的请求数据对象
     */
    private BaseRequest mBaseRequest = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.my_shared_layout);
        mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(this, Constants.APP_KEY);
        mWeiboShareAPI.registerApp();

        SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest();
        WeiboMultiMessage weiboMessage = new WeiboMultiMessage();

        weiboMessage.textObject = getTextObj();
        request.transaction = String.valueOf(System.currentTimeMillis());
        request.multiMessage = weiboMessage;

        AuthInfo authInfo = new AuthInfo(this, Constants.APP_KEY, Constants.REDIRECT_URL, Constants.SCOPE);
        Oauth2AccessToken accessToken = AccessTokenKeeper.readAccessToken(getApplicationContext());
        String token = "";
        if (accessToken != null) {
            token = accessToken.getToken();
        }
        mWeiboShareAPI.sendRequest(sharedActivity.this, request, authInfo, token, new WeiboAuthListener() {
            @Override
            public void onComplete(Bundle bundle) {
//Oauth2AccessToken newToken = Oauth2AccessToken.parseAccessToken(bundle);
//            AccessTokenKeeper.writeAccessToken(getApplicationContext(), newToken);                
            }

            @Override
            public void onWeiboException(WeiboException e) {

            }

            @Override
            public void onCancel() {

            }
        });
    }

    @Override
    public void onResponse(BaseResponse baseResponse) {
        switch (baseResponse.errCode) {
            case WBConstants.ErrorCode.ERR_OK:
                Toast.makeText(this, "分享成功", Toast.LENGTH_SHORT).show();
                break;
            case WBConstants.ErrorCode.ERR_FAIL:
                Toast.makeText(this, "分享失败", Toast.LENGTH_SHORT).show();
                break;
            case WBConstants.ErrorCode.ERR_CANCEL:
                Toast.makeText(this, "取消分享", Toast.LENGTH_SHORT).show();
                break;
            default:
                break;
        }
    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        mWeiboShareAPI.handleWeiboResponse(intent, this);
    }

    private TextObject getTextObj() {
        TextObject textObject = new TextObject();
        textObject.text = "分享的东西";
        return textObject;
    }

}

可能会出现的错误:

1,显示 发表博客失败
这里写图片描述

账号不对,不能用开发账号去分享。即使已经加入了测试账号。

2,显示 {error userinfo error pos 5}

这里写图片描述

没有用测试账号去分享,把该账号加入到测试账号就行了 “ 应用信息–测试信息—测试账号。”

其他类型的消息分享(图片音乐视频等)请参考demo,只是数据类型不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值