在新浪微博授權後調用擷取使用者資訊的介面時候會報以下錯誤(使用者不存在):
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作為字串進行調用介面!