Java源码示例:com.sina.weibo.sdk.net.WeiboParameters

示例1
/**
 * 添加地点
 * 
 * @param title     POI点的名称,不超过30个字符,必须进行URLencode
 * @param address   POI点的地址,不超过60个字符,必须进行URLencode
 * @param category  POI的类型分类代码,取值范围见:分类代码对应表,默认为500
 * @param lat       纬度,有效范围:-90.0到+90.0,+表示北纬
 * @param lon       经度,有效范围:-180.0到+180.0,+表示东经
 * @param city      城市代码
 * @param province  省份代码
 * @param country   国家代码
 * @param phone     POI点的电话,不超过14个字符
 * @param postCode  POI点的邮编
 * @param extra     其他,必须进行URLencode
 * @param listener  异步请求回调接口
 */
public void poisCreate(String title, String address, String category, String lat, String lon, String city,
        String province, String country, String phone, String postCode, String extra, RequestListener listener) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("title", title);
    params.put("address", address);
    params.put("category", category);
    params.put("lat", lat);
    params.put("long", lon);
    params.put("city", city);
    params.put("province", province);
    params.put("country", country);
    params.put("phone", phone);
    params.put("postcode", postCode);
    params.put("extra", extra);
    requestAsync(SERVER_URL_PRIX + "/pois/create.json", params, HTTPMETHOD_POST, listener);
}
 
示例2
/**
 * 向好友发送邀请。支持登录用户向自己的微博互粉好友发送私信邀请、礼物。
 * 
 * @param uid      被邀请人的 Uid,需要为当前用户互粉好友
 * @param jsonData 邀请数据。以 {@link JSONObject} 数据填充
 * @param listener 邀请接口对应的回调
 */
public void sendInvite(String uid, JSONObject jsonData, RequestListener listener) {
    if (!TextUtils.isEmpty(uid) 
            && jsonData != null 
            && !TextUtils.isEmpty(jsonData.toString())) {
        
        WeiboParameters params = new WeiboParameters(mAppKey);
        params.put("uid", uid);
        params.put("data", jsonData.toString());
        requestAsync(INVITE_URL, params, HTTPMETHOD_POST, listener);
    } else {
        LogUtil.d(TAG, "Invite args error!");
    }
}
 
示例3
private void startShare() {
    LogUtil.d(TAG, "Enter startShare()............");
    final ShareRequestParam req = this.mRequestParam;
    if (req.hasImage()) {
        LogUtil.d(TAG, "loadUrl hasImage............");
        new AsyncWeiboRunner(this).requestAsync(ShareRequestParam.UPLOAD_PIC_URL, req.buildUploadPicParam(new WeiboParameters(req.getAppKey())), "POST", new RequestListener() {
            public void onWeiboException(WeiboException e) {
                LogUtil.d(WeiboSdkBrowser.TAG, "post onWeiboException " + e.getMessage());
                req.sendSdkErrorResponse(WeiboSdkBrowser.this, e.getMessage());
                WeiboSdkBrowser.this.finish();
            }

            public void onComplete(String response) {
                LogUtil.d(WeiboSdkBrowser.TAG, "post onComplete : " + response);
                UploadPicResult result = UploadPicResult.parse(response);
                if (result == null || result.getCode() != 1 || TextUtils.isEmpty(result.getPicId())) {
                    req.sendSdkErrorResponse(WeiboSdkBrowser.this, "upload pic faild");
                    WeiboSdkBrowser.this.finish();
                    return;
                }
                WeiboSdkBrowser.this.openUrl(req.buildUrl(result.getPicId()));
            }
        });
        return;
    }
    openUrl(this.mUrl);
}
 
示例4
/**
 * @see #toME(long, long, int, int, int, int, RequestListener)
 */
public String toMESync(long since_id, long max_id, int count, int page, int authorType, int sourceType) {
    WeiboParameters params = buildTimeLineParamsBase(since_id, max_id, count, page);
    params.put("filter_by_author", authorType);
    params.put("filter_by_source", sourceType);
    return requestSync(sAPIList.get(READ_API_TO_ME), params, HTTPMETHOD_GET);
}
 
示例5
private WeiboParameters buildCreateParams(String comment, long id, boolean comment_ori) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("comment", comment);
    params.put("id", id);
    params.put("comment_ori", comment_ori ? 1: 0);
    return params;
}
 
示例6
/**
 * 更新一条收藏的收藏标签。
 * 
 * @param id        需要更新的收藏ID
 * @param tags      需要更新的标签内容,最多不超过2条
 * @param listener  异步请求回调接口
 */
public void tagsUpdate(long id, String[] tags, RequestListener listener) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("id", id);
    StringBuilder strb = new StringBuilder();
    for (String tag : tags) {
        strb.append(tag).append(",");
    }
    strb.deleteCharAt(strb.length() - 1);
    params.put("tags", strb.toString());
    requestAsync(SERVER_URL_PRIX + "/tags/update.json", params, HTTPMETHOD_POST, listener);
}
 
示例7
/** 组装FriendsID的参数 */
private WeiboParameters buildFriendIDParam(long uid, int count) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("uid", uid);
    params.put("count", count);
    return params;
}
 
示例8
/**
 * HTTP 同步请求。
 * 
 * @param url        请求的地址
 * @param params     请求的参数
 * @param httpMethod 请求方法
 * 
 * @return 同步请求后,服务器返回的字符串。
 */
protected String requestSync(String url, WeiboParameters params, String httpMethod) {
    if (null == mAccessToken
            || TextUtils.isEmpty(url)
            || null == params
            || TextUtils.isEmpty(httpMethod)) {
        LogUtil.e(TAG, "Argument error!");
        return "";
    }
    
    params.put(KEY_ACCESS_TOKEN, mAccessToken.getToken());
    return new AsyncWeiboRunner(mContext).request(url, params, httpMethod);
}
 
示例9
/**
 * 批量获取指定微博的转发数评论数。
 *
 * @param ids      需要获取数据的微博ID,最多不超过100个
 * @param listener 异步请求回调接口
 */
public void count(String[] ids, RequestListener listener) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    StringBuilder strb = new StringBuilder();
    for (String id : ids) {
        strb.append(id).append(",");
    }
    strb.deleteCharAt(strb.length() - 1);
    params.put("ids", strb.toString());
    requestAsync(SERVER_URL_PRIX + "/count.json", params, HTTPMETHOD_GET, listener);
}
 
示例10
/**
 * 为当前登录用户添加新的用户标签(无论调用该接口次数多少,每个用户最多可以创建10个标签)。
 * 
 * @param tags      要创建的一组标签,每个标签的长度不可超过7个汉字,14个半角字符
 * @param listener  异步请求回调接口
 */
public void create(String[] tags, RequestListener listener) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    StringBuilder strb = new StringBuilder();
    for (String tag : tags) {
        strb.append(tag).append(",");
    }
    strb.deleteCharAt(strb.length() - 1);
    params.put("tags", strb.toString());
    requestAsync(SERVER_URL_PRIX + "/create.json", params, HTTPMETHOD_POST, listener);
}
 
示例11
/**
 * @see #mentions(long, long, int, int, int, int, RequestListener)
 */
public String mentionsSync(long since_id, long max_id, int count, int page, int authorType, int sourceType) {
    WeiboParameters params = buildTimeLineParamsBase(since_id, max_id, count, page);
    params.put("filter_by_author", authorType);
    params.put("filter_by_source", sourceType);
    return requestSync(sAPIList.get(READ_API_MENTIONS), params, HTTPMETHOD_GET);
}
 
示例12
private WeiboParameters buildReplyParams(long cid, long id, String comment, boolean without_mention,
        boolean comment_ori) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("cid", cid);
    params.put("id", id);
    params.put("comment", comment);
    params.put("without_mention", without_mention ? 1: 0);
    params.put("comment_ori",     comment_ori ? 1: 0);
    return params;
}
 
示例13
/**
 * 取消关注一个用户。
 *
 * @param screen_name 需要取消关注的用户昵称
 * @param listener    异步请求回调接口
 */
@Deprecated
public void destroy(String screen_name, RequestListener listener) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("screen_name", screen_name);
    requestAsync(SERVER_URL_PRIX + "/destroy.json", params, HTTPMETHOD_POST, listener);
}
 
示例14
private WeiboParameters buildTimeLineBase(long since_id, long max_id, int count, int page) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("since_id", since_id);
    params.put("max_id", max_id);
    params.put("count", count);
    params.put("page", page);
    return params;
}
 
示例15
private WeiboParameters buildUpdateParams(String content, String lat, String lon) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("status", content);
    if (!TextUtils.isEmpty(lon)) {
        params.put("long", lon);
    }
    if (!TextUtils.isEmpty(lat)) {
        params.put("lat", lat);
    }
    return params;
}
 
示例16
/**
 * HTTP 异步请求。
 * 
 * @param url        请求的地址
 * @param params     请求的参数
 * @param httpMethod 请求方法
 * @param listener   请求后的回调接口
 */
protected void requestAsync(String url, WeiboParameters params, String httpMethod, RequestListener listener) {
    if (null == mAccessToken
            || TextUtils.isEmpty(url)
            || null == params
            || TextUtils.isEmpty(httpMethod)
            || null == listener) {
        LogUtil.e(TAG, "Argument error!");
        return;
    }
    
    params.put(KEY_ACCESS_TOKEN, mAccessToken.getToken());
    new AsyncWeiboRunner(mContext).requestAsync(url, params, httpMethod, listener);
}
 
示例17
private WeiboParameters buildUserParams(long uid, int count, int page, boolean base_app) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("uid", uid);
    params.put("count", count);
    params.put("page", page);
    params.put("base_app", base_app ? 1 : 0);
    return params;
}
 
示例18
/**
 * @see #geo2Address(Double, Double, RequestListener)
 */
public String geo2AddressSync(Double longtitude, Double latitude) {
    WeiboParameters params = buildGeo2AddressParam(longtitude, latitude);
    return requestSync(sAPIList.get(READ_API_GET_TO_ADDRESS), params, HTTPMETHOD_GET);
}
 
示例19
public String expandSync(String[] url_short) {
    WeiboParameters params = buildURLRequest(url_short, "url_short");
    return requestSync(SERVER_URL_PRIX + "/expand.json", params, HTTPMETHOD_GET);
}
 
示例20
/**
 * @see #showBatch(long[], RequestListener)
 */
public String showBatchSync(long[] cids) {
    WeiboParameters params = buildShowOrDestoryBatchParams(cids);
    return requestSync(sAPIList.get(READ_API_SHOW_BATCH), params, HTTPMETHOD_GET);
}
 
示例21
/**
 * @see #byME(long, long, int, int, int, RequestListener)
 */
public String byMESync(long since_id, long max_id, int count, int page, int sourceType) {
    WeiboParameters params = buildTimeLineParamsBase(since_id, max_id, count, page);
    params.put("filter_by_source", sourceType);
    return requestSync(sAPIList.get(READ_API_BY_ME), params, HTTPMETHOD_GET);
}
 
示例22
/**
 * 获取所有的学校列表。
 * NOTE:参数keyword与capital二者必选其一,且只能选其一 按首字母capital查询时,必须提供province参数
 * 
 * @param province   省份范围,省份ID
 * @param city       城市范围,城市ID
 * @param area       区域范围,区ID
 * @param schoolType 学校类型,可为以下几种: 1:大学,2:高中,3:中专技校,4:初中,5:小学
 *                   <li> {@link #SCHOOL_TYPE_COLLEGE}
 *                   <li> {@link #SCHOOL_TYPE_SENIOR}
 *                   <li> {@link #SCHOOL_TYPE_TECHNICAL}
 *                   <li> {@link #SCHOOL_TYPE_JUNIOR}
 *                   <li> {@link #SCHOOL_TYPE_PRIMARY}
 * @param capital    学校首字母,默认为A
 * @param keyword    学校名称关键字
 * @param count      返回的记录条数,默认为10
 * @param listener   异步请求回调接口
 */
public void schoolList(int province, int city, int area, int schoolType, CAPITAL capital, String keyword,
        int count, RequestListener listener) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("province", province);
    params.put("city", city);
    params.put("area", area);
    params.put("type", schoolType);
    if (!TextUtils.isEmpty(capital.name())) {
        params.put("capital", capital.name());
    } else if (!TextUtils.isEmpty(keyword)) {
        params.put("keyword", keyword);
    }
    params.put("count", count);
    requestAsync(SERVER_URL_PRIX + "/profile/school_list.json", params, HTTPMETHOD_GET, listener);
}
 
示例23
private WeiboParameters builderCountPage(int count, int page) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("count", count);
    params.put("page", page);
    return params;
}
 
示例24
/**
 * @see #create(String, long, boolean, RequestListener)
 */
public String createSync(String comment, long id, boolean comment_ori) {
    WeiboParameters params = buildCreateParams(comment, id, comment_ori);
    return requestSync(sAPIList.get(WRITE_API_CREATE), params, HTTPMETHOD_POST);
}
 
示例25
public String uploadPicSync(Bitmap pic) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("pic", pic);
    return requestSync(SERVER_URL_PRIX + "/upload_pic.json", params, HTTPMETHOD_POST);
}
 
示例26
public WeiboParameters buildUploadPicParam(WeiboParameters param) {
    if (hasImage()) {
        param.put("img", new String(this.mBase64ImgData));
    }
    return param;
}
 
示例27
/**
 * 获取地点详情。
 * 
 * @param poiid     需要查询的POI地点ID
 * @param base_app  是否只获取当前应用的数据。false为否(所有数据),true为是(仅当前应用),默认为false
 * @param listener  异步请求回调接口
 */
public void poisShow(String poiid, boolean base_app, RequestListener listener) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("poiid", poiid);
    params.put("base_app", base_app ? 1 : 0);
    requestAsync(SERVER_URL_PRIX + "/pois/show.json", params, HTTPMETHOD_GET, listener);
}
 
示例28
/**
 * 获取某个位置周边的动态。
 * 
 * @param lat       纬度。有效范围:-90.0到+90.0,+表示北纬
 * @param lon       经度。有效范围:-180.0到+180.0,+表示东经
 * @param range     搜索范围,单位米,默认2000米,最大11132米
 * @param starttime 开始时间,Unix时间戳
 * @param endtime   结束时间,Unix时间戳
 * @param sortType  排序方式。0:按时间排序, 1:按与中心点距离进行排序
 *                  <li>{@link #SORT_BY_TIME}
 *                  <li>{@link #SORT_BY_DISTENCE}
 * @param count     单页返回的记录条数,最大为50,默认为20
 * @param page      返回结果的页码,默认为1
 * @param base_app  是否只获取当前应用的数据。false为否(所有数据),true为是(仅当前应用),默认为false
 * @param offset    传入的经纬度是否是纠偏过,false:没纠偏、true:纠偏过,默认为false
 * @param listener  异步请求回调接口
 */
public void nearbyTimeline(String lat, String lon, int range, long starttime, long endtime, int sortType,
        int count, int page, boolean base_app, boolean offset, RequestListener listener) {
    WeiboParameters params = buildNearbyParams(lat, lon, range, count, page, sortType, offset);
    params.put("starttime", starttime);
    params.put("endtime", endtime);
    params.put("base_app", base_app ? 1 : 0);
    requestAsync(SERVER_URL_PRIX + "/nearby_timeline.json", params, HTTPMETHOD_GET, listener);
}
 
示例29
/**
 * 调整当前登录用户的好友分组顺序。
 *
 * @param list_ids 调整好顺序后的分组ID列表,以逗号分隔,例:57,38,表示57排第一、38排第二,以此类推
 * @param count    好友分组数量,必须与用户所有的分组数一致、与分组ID的list_id个数一致
 * @param listener 异步请求回调接口
 */
public void order(String list_ids, int count, RequestListener listener) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("list_id", list_ids);
    params.put("count", count);
    requestAsync(SERVER_URL_PRIX + "/order.json", params, HTTPMETHOD_POST, listener);
}
 
示例30
/**
 * 获取某一好友分组下的成员列表。
 * 
 * @param list_id   获取某一好友分组下的成员列表
 * @param count     单页返回的记录条数,默认为50,最大不超过200
 * @param cursor    分页返回结果的游标,下一页用返回值里的next_cursor,上一页用previous_cursor,默认为0
 * @param listener  异步请求回调接口
 */
public void members(long list_id, int count, int cursor, RequestListener listener) {
    WeiboParameters params = new WeiboParameters(mAppKey);
    params.put("list_id", list_id);
    params.put("count", count);
    params.put("cursor", cursor);
    requestAsync(SERVER_URL_PRIX + "/members.json", params, HTTPMETHOD_GET, listener);
}