package com.cattong.weibo.api;
import java.io.File;
import com.cattong.commons.LibException;
import com.cattong.entity.User;
import com.cattong.weibo.entity.RateLimitStatus;
public interface AccountService {
/**
* 验证用户认证信息的有效性,有效则返回用户对象数据,
* 无效或网络出现问题,则返回HTTP 401状态码及错误信息<br>
*
* @return 用户对象
* @throws LibException
* 当网络不可用或提供的认证信息错误时
*/
User verifyCredentials() throws LibException;
/**
* 返回当前时段内剩余可用的API请求数。
* <p>此接口不受调用次数限制</p>
*
* @return 次数限制信息
* @throws LibException
*/
RateLimitStatus getRateLimitStatus() throws LibException;
/**
* 更新用户头像
*
* @param image
* 必须是有效的GIF,JPG或者PNG格式图片,小于700K. 图片宽度大于500像素将会被按比例缩小。
* @return 更新后用户对象
* @throws LibException
* 网络不可用,或者指定文件未找到,或者指定文件对象不代表一个文件
*/
User updateProfileImage(File image) throws LibException;
/**
* 更新用户的信息,只有指定的参数定不为空才会被更新<br>
*
* @param screenName
* 昵称,可选,不超过20字。
* @param email
* 电子邮件,可选,不超过40字。必须是有效的电子邮件地址。
* @param url
* 网站网址,可选,不超过100字 ,会自动追加"http://"
* @param location
* 位置,可选. 不超过30字。
* @param description
* 个人描述,可选,不超过160字。
* @return 更新后的用户对象
* @throws LibException
*/
User updateProfile(String screenName, String email,
String url, String location, String description) throws LibException;
}