/*
* Copyright (C) 2010-2013 The SINA WEIBO Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.sina.weibo.sdk.openapi.legacy;
import android.content.Context;
import com.sina.weibo.sdk.auth.Oauth2AccessToken;
import com.sina.weibo.sdk.net.RequestListener;
import com.sina.weibo.sdk.net.WeiboParameters;
import com.sina.weibo.sdk.openapi.AbsOpenAPI;
import com.sina.weibo.sdk.openapi.CommentsAPI;
/**
* 此类封装了公共服务的接口。
* 详情见<a href="http://t.cn/8Fdg7EX">公共服务接口</a>
*
* @author SINA
* @date 2014-03-03
*/
public class CommonAPI extends AbsOpenAPI {
/** 国家的首字母,默认为空,代表全部。 */
public enum CAPITAL {
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
}
/** 语言版本,zh-cn:简体中文、zh-tw:繁体中文、english:英文,默认为zh-cn。 */
public static final String LANGUAGE_ZH_CN = "zh-cn";
public static final String LANGUAGE_ZH_TW = "zh-tw";
public static final String LANGUAGE_EN = "english";
public CommonAPI(Context context, String appKey, Oauth2AccessToken accessToken) {
super(context, appKey, accessToken);
}
private static final String SERVER_URL_PRIX = API_SERVER + "/common";
/**
* 获取城市列表。
*
* @param province 省份代码
* @param capital 国家的首字母,a-z,可为空代表返回全部,默认为全部。
* <li> {@link CommentsAPI#CAPITAL}
* @param language 返回的语言版本,zh-cn:简体中文、zh-tw:繁体中文、english:英文,默认为zh-cn
* <li> {@link #LANGUAGE_ZH_CN}
* <li> {@link #LANGUAGE_ZH_TW}
* <li> {@link #LANGUAGE_EN}
* @param listener 异步请求回调接口
*/
public void getCity(String province, String capital, String language, RequestListener listener) {
WeiboParameters params = new WeiboParameters(mAppKey);
params.put("province", province);
if (null != capital) {
params.put("capital", capital);
}
params.put("language", language);
requestAsync(SERVER_URL_PRIX + "/get_city.json", params, HTTPMETHOD_GET, listener);
}
/**
* 获取国家列表
* @param capital 国家的首字母,a-z,可为空代表返回全部,默认为全部。
* @param language 返回的语言版本,zh-cn:简体中文、zh-tw:繁体中文、english:英文,默认为zh-cn
* <li> {@link #LANGUAGE_ZH_CN}
* <li> {@link #LANGUAGE_ZH_TW}
* <li> {@link #LANGUAGE_EN}
*@param listener 异步请求回调接口
*/
public void getCountry(CAPITAL capital, String language, RequestListener listener) {
WeiboParameters params = new WeiboParameters(mAppKey);
if (null != capital) {
params.put("capital", capital.name().toLowerCase());
}
params.put("language", language);
requestAsync(SERVER_URL_PRIX + "/get_country.json", params, HTTPMETHOD_GET, listener);
}
/**
* 获取时区配置表。
*
* @param language 返回的语言版本,zh-cn:简体中文、zh-tw:繁体中文、english:英文,默认为zh-cn
* <li> {@link #LANGUAGE_ZH_CN}
* <li> {@link #LANGUAGE_ZH_TW}
* <li> {@link #LANGUAGE_EN}
*@param listener 异步请求回调接口
*/
public void getTimezone(String language, RequestListener listener) {
WeiboParameters params = new WeiboParameters(mAppKey);
params.put("language", language);
requestAsync(SERVER_URL_PRIX + "/get_timezone.json", params, HTTPMETHOD_GET, listener);
}
}