com.weibo.sdk.android.WeiboException: {"error":"User does not exists!","error_code":20003,"request":

在新浪微博授权后调用获取用户信息的接口时候会报以下错误(用户不存在):

com.weibo.sdk.android.WeiboException: {"error":"User does not exists!","error_code":20003,"request":"/2/users/show.json"}

如果你查看新浪源码的就会发现,其实这个错误是一个很幼稚的问题,为什么这么说呢,我们先看下源码:

/**
	 * 根据用户ID获取用户信息
	 * 
	 * @param uid
	 *            需要查询的用户ID。
	 * @param listener
	 */
	public void show(long uid, RequestListener listener) {
		WeiboParameters params = new WeiboParameters();
		params.add("uid", uid);
		request(SERVER_URL_PRIX + "/show.json", params, HTTPMETHOD_GET,
				listener);
	}

	/**
	 * 根据用户ID获取用户信息
	 * 
	 * @param screen_name
	 *            需要查询的用户昵称。
	 * @param listener
	 */
	public void show(String screen_name, RequestListener listener) {
		WeiboParameters params = new WeiboParameters();
		params.add("screen_name", screen_name);
		request(SERVER_URL_PRIX + "/show.json", params, HTTPMETHOD_GET,
				listener);
	}
或许看过后你就恍然大悟,如果传入的是字符串那么默认调用下面这个接口,所以会报 User does not exists!

如果传入的是long类型,那么调用的是上面那个接口,根据uid查询用户信息。


PS:切勿将uid作为字符串进行调用接口!


阅读更多
换一批

没有更多推荐了,返回首页