在为应用集成微博第三方登录获取用户信息的时候出现异常com.weibo.sdk.android.WeiboException: {"error":"User does not exists!","er

来源:互联网 发布:权限控制代码 java 编辑:程序博客网 时间:2024/05/18 00:48

通过查看UsersAPI源码我们发现新浪微博有两个方法,首先是通过用户id获取用户信息,其次是通过用户昵称获取用户信息,

而我们通常mAccessToken.getUid();获取到的UID是String类型,如果要通过uid去获取用户信息的话,就需要把String类型转换成Long类型了,不然就会报用户不存在异常的。

    /**
     * 根据用户ID获取用户信息。
     * 
     * @param uid      需要查询的用户ID
     * @param listener 异步请求回调接口
     */
    public void show(long uid, RequestListener listener) {
        WeiboParameters params = new WeiboParameters(mAppKey);
        params.put("uid", uid);
        requestAsync(sAPIList.get(READ_USER), params, HTTPMETHOD_GET, listener);
    }
    
    /**
     * 根据用户昵称获取用户信息。
     * 
     * @param screen_name 需要查询的用户昵称
     * @param listener    异步请求回调接口
     */
    public void show(String screen_name, RequestListener listener) {
        WeiboParameters params = new WeiboParameters(mAppKey);
        params.put("screen_name", screen_name);
        requestAsync(sAPIList.get(READ_USER), params, HTTPMETHOD_GET, listener);
    }


需要注意的是:不要将uid作为字符串去调用接口就能避免出错!


如果您觉得本篇博客解决了您的问题,您可用微信扫描下方二维码,象征性的打赏一番O(∩_∩)O~~~





1 0
原创粉丝点击