net-sinaweibo
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:A lightweight Perl OAuth api for SinaWeibo(新浪微博)
NAME
    Net::SinaWeibo - A simple and lightweight OAuth api for SinaWeibo

VERSION
    version 0.003

SYNOPSIS
        # from sinaweibo app setting
        my $app_key = 'xxxx';
        my $app_key_secret = 'xxxxxxxxx';
        my $client = Net::SinaWeibo->new(
            app_key => $app_key,
            app_key_secret => $app_key_secret);
        # authorization
        my $callback_url = 'http://youdomain.com/app_callback';
        my $url = $client->get_authorize_url(callback_url => $callback_url);
        # or don't use callback_url,just like a desktop client.
        my $url = $client->get_authorize_url;
        # now $client hold the request_token, but you must authorize your app first.
        # let user go to visit the authorize url.
        say 'Please goto this url:',$url;

        # save these tokens to your file.
        Net::SinaWeibo->save_tokens('~/app/var/tokens/my.tokens',
            app_key => $app_key,
            app_key_secret => $app_key_secret,
            _request_token => $client->request_token->token,
            _request_token_secret => $client->request_token->secret,
            );

        # later,you can load tokens
        my %tokens = Net::SinaWeibo->load_tokens '~/app/var/tokens/my.tokens';

        # After user authorized,you can request access_token with the request token
        my $client = Net::SinaWeibo->new(
            app_key => $tokens{app_key},
            app_secret => $tokens{app_secret},
            tokens => {
                request_token => $tokens{_request_token},
                request_token_secret => $tokens{_request_token_secret},
            }
        );
        my $verifier = '5123876';
        my ($access_token,$access_token_secret) = $client->get_access_token(
            verifier => $verifier,
            );

        # now you can retrieve any restricted resources.
        my $friends = $client->friends;
        # any api can pass any specific parameters
        my $latest_mentions = $client->mentions since_id => 25892384,count => 10,page => 1;
        # upload also support.
        my $ok = $client->upload(status => 'Hello,this first image file', pic => 'images/demo.jpg');
        # profile image
        my $ok = update_profile_image(image => 'images/my_avatar.jpg');
        # enjoy!

DESCRIPTION
    This is a lite OAuth client for SinaWeibo(http://t.sina.com.cn/).

METHODS
  new(params)
        my $client = Net::SinaWeibo->new(
            app_key => 'sinaweibo_app_key',
            app_secret => 'sina_weibo_app_secret',
            # optional,you can pass access_token/request_token
            tokens => {
                access_token => 'xxxxxx',
                access_token_secret => 'xxxxxxxx',
                # or
                request_token => 'xxxxxxx',
                request_token_secret => 'xxxxx',
            }
        );

  get_authorize_url(%params)
   parameters
    callback_url
        Url which service provider redirect end-user to after authorization.

    Get the URL to authorize a user as a URI object.

  get_request_token
    Request the request token and request token secret for this user.

    This is called automatically by "get_authorize_url" if necessary.

  get_access_token(%params)
   parameters
    verifier
        Verfication code which SinaWeibo returns.

    token
        Request token object. Optional, if you has been set request_token.

        my $access_token = $sina->get_access_token(verifier => '589893');
        # or
        my $access_token = $sina->get_access_token(verifier => '589893',token => $request_token);

    Request the access token for this user.

    The user must have authorized this app at the url given by
    "get_authorize_url" first.

    Returns the access token but also sets them internally so that after
    calling this method you can immediately call a restricted method.

  last_api
    Get the last called api(uri)

  last_api_error
    Get the last api error hash ref. If the error message is not any valid
    error response, will just return the raw response content.

  load_tokens 
        my %tokens = Net::SinaWeibo->load_tokens('saved.tokens');

    A convenience method for loading tokens from a config file.

    Returns a hash with the token names suitable for passing to "new()".

    Returns an empty hash if the file doesn't exist.

  last_api_error_code
    Get last api error_code, which return by provider. If provider reponse
    is not valid JSON message, it's just the http status code.

  last_api_error_subcode
    Get detail error code about the api error (like 400 serial).

  save_tokens  [token[s] hash]
        Net::SinaWeibo->save_tokens(
            consumer_token => 'xxxx',
            consumer_secret => 'xxxx',
            _request_token => 'xxxxxx',
            _request_token_secret => 'xxxxx',
            _access_token => 'xxxxx',
            _access_secret => 'xxxxx,
        )

    A convenience method to save a hash of tokens out to the given file.

SinaWeibo API METHODS
    Follow are generated proxy method for SinaWeibo API.

    Recent document please visit 

  public_timeline
    返回最新更新的20条微博消息。

        count: 每次返回的最大记录数,不能超过200,默认20.

    

  friends_timeline
  home_timeline
    返回用户所有关注用户最新n条微博信息。和用户“我的首页”返回内容相同。

        since_id: 微博信息ID. 只返回ID比since_id大(比since_id时间晚的)的微博信息内容。

        max_id: 微博信息ID. 返回ID不大于max_id的微博信息内容。

        count: 每次返回的最大记录数,不能超过200,默认20.

        page: 返回结果的页序号。注意:有分页限制。根据用户关注对象发表的数量,通常最多返回1,000条最新微博分页内容, 默认1

    

  user_timeline
    获取用户发布的微博信息列表

        id: 可选参数. 根据指定用户UID或微博昵称来返回微博信息。
        user_id: 可选参数. 用户UID,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候,特别是在微博昵称为数字导致和用户Uid发生歧义。
        screen_name:可选参数.微博昵称,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候。
        since_id:可选参数(微博信息ID). 只返回ID比since_id大(比since_id时间晚的)的微博信息内容
        max_id: 可选参数(微博信息ID). 返回ID不大于max_id的微博信息内容。
        count: 可选参数. 每次返回的最大记录数,最多返回200条,默认20。
        page: 可选参数. 分页返回。注意:最多返回200条分页内容。

    

  mentions
    获取@当前用户的微博列表

        since_id. 可选参数. 返回ID比数值since_id大(比since_id时间晚的)的提到。
        max_id. 可选参数. 返回ID不大于max_id(时间不晚于max_id)的提到。
        count. 可选参数. 每次返回的最大记录数(即页面大小),不大于200,默认为20。
        page. 可选参数. 返回结果的页序号。注意:有分页限制。

    

  comments_timeline
    获取当前用户发送及收到的评论列表

        since_id: 可选参数(评论ID). 只返回ID比since_id大(比since_id时间晚的)的评论。
        max_id: 可选参数(评论ID). 返回ID不大于max_id的评论。
        count: 可选参数. 每次返回的最大记录数,不大于200,默认20。
        page: 可选参数. 返回结果的页序号。注意:有分页限制。

    

  comments_by_me
    获取当前用户发出的评论

        since_id: 可选参数(评论ID). 只返回ID比since_id大(比since_id时间晚的)的评论。
        max_id: 可选参数(评论ID). 返回ID不大于max_id的评论。
        count: 可选参数. 每次返回的最大记录数,不大于200,默认20。
        page: 可选参数. 返回结果的页序号。注意:有分页限制。

    

  comments_to_me
    获取当前用户收到的评论

        since_id: 可选参数(评论ID). 只返回ID比since_id大(比since_id时间晚的)的评论。
        max_id: 可选参数(评论ID). 返回ID不大于max_id的评论。
        count: 可选参数. 每次返回的最大记录数,不大于200,默认20。
        page: 可选参数. 返回结果的页序号。注意:有分页限制。

    

  comments
    获取指定微博的评论列表

        id. 必选参数. 返回指定的微博ID
        count. 可选参数. 每次返回的最大记录数(即页面大小),不大于200,默认为20。
        page. 可选参数. 返回结果的页序号

    

  status_counts
    批量获取一组微博的评论数及转发数,一次请求最多获取100个。

        ids. 必填参数. 微博ID号列表,用逗号隔开

    

  status_unread
    获取当前用户未读消息数

        with_new_status 可选参数,默认为0。1表示结果包含是否有新微博,0表示结果不包含是否有新微博。
        since_id 可选参数 参数值为微博id,返回此条id之后,是否有新微博产生,有返回1,没有返回0

    

  status_reset_count
    未读消息数清零接口

        type 需要清零的计数类别,值为下列四个之一:1--评论数,2--@数,3--私信数,4--关注我的数。

    

  emotions
    表情接口,获取表情列表

        type:表情类别,可选参数,"face":普通表情,"ani":魔法表情,"cartoon":动漫表情;默认为"face"
        language:语言类别,可选参数,"cnname"简体,"twname"繁体;默认为"cnname"

    

  show_status
    根据ID获取单条微博信息内容

        id. 必须参数(微博信息ID),要获取已发表的微博ID,如ID不存在返回空

    

  status_url($user_id,$status_id)
    返回根据微博ID和用户ID生成的单条微博页面url

  post_status
    发布一条微博信息

        status. 必填参数, 要更新的微博信息。必须做URLEncode,信息内容不超过140个汉字,为空返回400错误。
        in_reply_to_status_id. 可选参数,@ 需要回复的微博信息ID, 这个参数只有在微博内容以 @username 开头才有意义。(即将推出)。
        lat. 可选参数,纬度,发表当前微博所在的地理位置,有效范围 -90.0到+90.0, +表示北纬。只有用户设置中geo_enabled=true时候地理位置才有效。(仅对受邀请的合作开发者开放)
        long. 可选参数,经度。有效范围-180.0到+180.0, +表示东经。(仅对受邀请的合作开发者开放)

    如果没有登录或超过发布上限,将返回403错误. 如果in_reply_to_status_id不存在,将返回500错误.
    系统将忽略重复发布的信息。每次发布将比较最后一条发布消息,如果一样将被忽略。因此用户不能连续提交相同信息。

    

  upload_status
    上传图片并发布一条微博信息

        status. 必填参数, 要更新的微博信息。必须做URLEncode,信息内容不超过140个汉字。支持全角、半角字符。
        pic. 必填参数。仅支持JPEG,GIF,PNG图片,为空返回400错误。目前上传图片大小限制为<1M。
        lat. 可选参数,纬度,发表当前微博所在的地理位置,有效范围 -90.0到+90.0, +表示北纬。只有用户设置中geo_enabled=true时候地理位置才有效。(保留字段,暂不支持)
        long. 可选参数,经度。有效范围-180.0到+180.0, +表示东经。(保留字段,暂不支持)

    如果使用的Oauth认证,图片参数pic不参与签名。

    

  remove_status
    删除一条微博信息

        id. 必须参数. 要删除的微博ID.

    

  retweet
=head2  repost_status
    转发一条微博信息(可加评论)

        id 必填参数, 转发的微博ID
        status. 可选参数, 添加的转发信息。必须做URLEncode,信息内容不超过140个汉字。如不填则自动生成类似“转发 @author: 原内容”文字。

    如果没有登录,将返回403错误. 转发的微博不存在,将返回500错误.
    .

  post_comment
    对一条微博信息进行评论

        id 必填参数, 要评论的微博id
        comment. 必填参数, 评论内容。必须做URLEncode,信息内容不超过140个汉字。

    

  remove_comment
    删除当前用户的微博评论信息

        id. 必须参数. 要删除的评论ID.

    如果评论不存在,将返回403错误.

    

  batch_remove_comments
    批量删除当前用户的微博评论信息

        ids 必选参数,想要删除评论的id,多个id之间用半角逗号分割,支持最多20个。

    

  reply_comment
    回复微博评论信息

        id 必填参数, 要评论的微博id
        cid 必填参数, 要评论的评论id 如没有或非法则为对微博的评论
        comment. 必填参数, 评论内容。必须做URLEncode,信息内容不超过140个汉字

    

  hot_users
    获取系统推荐用户

        category: 分类,可选参数,返回某一类别的推荐用户,默认为 default。如果不在一下分类中,返回空列表:

            default:人气关注
            ent:影视名星
            hk_famous:港台名人
            model:模特
            cooking:美食&健康
            sport:体育名人
            finance:商界名人
            tech:IT互联网
            singer:歌手
            writer:作家
            moderator:主持人
            medium:媒体总编
            stockplayer:炒股高手

    

  show_user
    根据用户ID获取用户资料(授权用户)

        id. 用户UID或微博昵称。
        user_id. 指定用户UID,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候,特别是在用户账号为数字导致和用户Uid发生歧义
        screen_name. 指定微博昵称,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候。

    ID或者昵称不存在返回400错误.

    

  friends
    获取当前用户关注对象列表及最新一条微博信息

        id. 用户UID或微博昵称。
        user_id. 指定用户UID,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候,特别是在用户账号为数字导致和用户Uid发生歧义
        screen_name. 指定微博昵称,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候。
        cursor. 选填参数. 单页只能包含100个关注列表,为了获取更多则cursor默认从-1开始,通过增加或减少cursor来获取更多, 如果没有下一页,则next_cursor返回0
        count. 可选参数. 每次返回的最大记录数(即页面大小),不大于200,默认返回20。

    如果没有提供cursor参数,将只返回最前面的100个关注列表。当以Json方式返回时,返回结构会稍有不同。

    

  followers
    获取当前用户粉丝列表及最新一条微博信息

        id. 用户UID或微博昵称。
        user_id. 指定用户UID,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候,特别是在用户账号为数字导致和用户Uid发生歧义
        screen_name. 指定微博昵称,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候。
        cursor. 选填参数. 单页只能包含100个关注列表,为了获取更多则cursor默认从-1开始,通过增加或减少cursor来获取更多, 如果没有下一页,则next_cursor返回0
        count. 可选参数. 每次返回的最大记录数(即页面大小),不大于200,默认返回20。

    如果没有提供cursor参数,将只返回最前面的100个列表.

    

  dm
    获取当前用户最新私信列表

        since_id. 可选参数. 返回ID比数值since_id大(比since_id时间晚的)的私信。
        max_id. 可选参数. 返回ID不大于max_id(时间不晚于max_id)的私信。
        count. 可选参数. 每次返回的最大记录数(即页面大小),不大于200。
        page. 可选参数. 返回结果的页序号。注意:有分页限制。

    

  dm_sent
    获取当前用户发送的最新私信列表

        since_id. 可选参数. 返回ID比数值since_id大(比since_id时间晚的)的私信。
        max_id. 可选参数. 返回ID不大于max_id(时间不晚于max_id)的私信。
        count. 可选参数. 每次返回的最大记录数(即页面大小),不大于200。
        page. 可选参数. 返回结果的页序号。注意:有分页限制。

    

  send_dm
    发送一条私信

        id: 必须参数. UID或微博昵称. 为了支持数字的微博昵称,需选填写下面2个参数screen_name或user_id:
        screen_name: 微博昵称
        user_id: 新浪UID
        text: 必须参数. 要发生的消息内容,需要做URLEncode,文本大小必须小于300个汉字.

    

  remove_dm
    删除一条私信

        id. 必填参数,要删除的私信主键ID.

    

  batch_remove_dm
    批量删除私信

        ids 必选参数,想要删除私信的id,多个id之间用半角逗号分割,支持最多20个。

    

  follow
    关注某用户

        id: 要关注的用户UID或微博昵称
        user_id: 要关注的用户UID,主要是用在区分用户UID跟微博昵称一样,产生歧义的时候。
        screen_name: 要关注的微博昵称,主要是用在区分用户UID跟微博昵称一样,产生歧义的时候。

    目前的最多关注2000人,失败则返回一条字符串的说明。如果已经关注了此人,则返回http 403的状态。关注不存在的ID将返回400。

    

  unfollow
    取消关注.成功则返回被取消关注人的资料,失败则返回一条字符串的说明。

        id. 必填参数. 要取消关注的用户UID或微博昵称
        user_id. 必填参数. 要取消关注的用户UID,主要是用在区分用户UID跟微博昵称一样,产生歧义的时候。
        screen_name. 必填参数. 要取消的微博昵称,主要是用在区分用户UID跟微博昵称一样,产生歧义的时候。

    

  is_followed
    获取两个用户关系的详细情况

    以下参数可不填写,如不填,则取当前用户

        source_id. 源用户UID
        source_screen_name. 源微博昵称

    下面参数必须选填一个:

        target_id. 要判断的目的用户UID
        target_screen_name. 要判断的目的微博昵称

    如果源用户或目的用户不存在,将返回http的400错误.
    返回的blocking表示source_id用户是否对target_id加黑名单,只对source_id是当前用户有效,即只能看到自己的阻止设置
    (blocking协议暂不支持返回)

    

  get_friends_id_list
    获取用户关注对象uid列表

        id. 用户UID或微博昵称。
        user_id. 指定用户UID,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候,特别是在用户账号为数字导致和用户Uid发生歧义
        screen_name. 指定微博昵称,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候。
        cursor. 选填参数. 单页只能包含100个关注列表,为了获取更多则cursor默认从-1开始,通过增加或减少cursor来获取更多, 如果没有下一页,则next_cursor返回0
        count. 可选参数. 每次返回的最大记录数(即页面大小),不大于200,默认返回20。

    如果没有提供cursor参数,将只返回最前面的5000个关注id

    

  get_followers_id_list
    获取用户粉丝对象uid列表

        id. 用户UID或微博昵称。
        user_id. 指定用户UID,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候,特别是在用户账号为数字导致和用户Uid发生歧义
        screen_name. 指定微博昵称,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候。
        cursor. 选填参数. 单页只能包含100个关注列表,为了获取更多则cursor默认从-1开始,通过增加或减少cursor来获取更多, 如果没有下一页,则next_cursor返回0
        count. 可选参数. 每次返回的最大记录数(即页面大小),不大于200,默认返回20。

    如果没有提供cursor参数,将只返回最前面的5000个粉丝id

    

  update_privacy
    设置隐私信息

        comment: 谁可以评论此账号的微薄。 0:所有人 1:我关注的人 默认为0
        message:谁可以给此账号发私信。0:所有人 1:我关注的人 默认为1
        realname 是否允许别人通过真实姓名搜索到我,值---0允许,1不允许,默认值1
        geo 发布微博,是否允许微博保存并显示所处的地理位置信息。值—0允许,1不允许,默认值0
        badge 勋章展现状态,值—1私密状态,0公开状态,默认值0

    

  get_privacy
    获取隐私信息

    

  block_user
    将某用户加入黑名单

    必选参数(至少选一个):

        user_id:要加入黑名单的用户ID。
        screen_name:要加入黑名单的用户微博昵称,可选。

    user_id或screen_name若不存在返回400

    

  unblock_user
    将某用户移出黑名单

    必选参数(至少选一个):

        user_id:要删除黑名单的用户ID
        screen_name:要删除黑名单的用户昵称

    

  is_blocked
    某用户是否是黑名单用户

    必选参数(至少选一个):

        user_id:要检查的用户ID
        screen_name:要检查的用户昵称

    

  blocking
    列出黑名单用户(输出用户详细信息)

        page. 页码,可选。.
        count. 一页大小,可选。.

    

  blocking_id_list
    列出分页黑名单用户(只输出id)

        page. 页码,可选。.
        count. 一页大小,可选。.

    

  tags
    返回指定用户的标签列表

        user_id: 必填参数,查询用户的ID
        count: 可选参数. 每次返回的最大记录数(即页面大小),不大于200,默认为20。
        page: 可选参数. 返回结果的页序号。注意:有分页限制。

    

  add_tag
    添加用户标签

        tags: 标签,必填参数,多个标签之间用逗号间隔

    

  tag_suggestions
    返回用户感兴趣的标签

        page: 可选参数,页码,默认为1
        count: 可选参数,分页大小,默认为10

    

  remove_tag
    删除标签

        tag_id:标签ID,必填参数

    

  batch_remove_tags
    批量删除标签

        ids:必选参数,要删除的tag id,多个id用半角逗号分割,最多20个。

    

  verify_credentials
    验证当前用户身份是否合法.

    如果用户新浪通行证身份验证成功且用户已经开通微博则返回 http状态为
    200;如果是不则返回401的状态和错误信息。此方法用了判断用户身份是否合法且已经开通微博。

    

  rate_limit_status
    获取当前用户API访问频率限制

    

  end_session
    当前用户退出登录.清除已验证用户的session,退出登录,并将cookie设为null。主要用于widget等web应用场合。

    

  update_profile
    更改资料.

    必须有一下参数中的一个或多个,参数值为字符串. 进一步的限制,请参阅下面的各个参数描述.

        name. 昵称,可选参数.不超过20个汉字
        gender 性别,可选参数. m,男,f,女。
        province 可选参数. 参考省份城市编码表
        city 可选参数. 参考省份城市编码表,1000为不限
        description. 可选参数. 不超过160个汉字.

    

  update_profile_image
    更新用户头像

    image.必须参数. 必须为小于700K的有效的GIF, JPG, 或 PNG 图片. 如果图片大于500像素将按比例缩放。

    

  favorites
    获取当前用户的收藏列表

        page: 可选参数. 返回结果的页序号。注意:有分页限制。

    

  add_favorite
    添加收藏.

        id 必填参数, 要收藏的微博id

    

  remove_favorite
    删除当前用户收藏的微博信息

        id. 必须参数. 要删除的收藏微博信息ID.

    

  batch_remove_favorites
    批量删除收藏的微博信息

        ids 必选参数,想要删除收藏微博的id,多个id之间用半角逗号分割,支持最多20个。

    

DEVELOPERS
    The latest code for this module can be found at

    

    Author blog: (Chinese)

    

SUPPORT
    You can find documentation for this module with the perldoc command.

        perldoc Net::SinaWeibo

    You can also look for information at:

    Issues tracker:
        

SEE ALSO
    SinaWeibo Developer Site
        

    OAuth 
    OAuth::Lite
    Net::OAuth

AUTHOR
    Pan Fan(nightsailer) 

COPYRIGHT AND LICENSE
    This software is copyright (c) 2010 by Pan Fan(nightsailer).

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.


本源码包内暂不包含可直接显示的源代码文件,请下载源码包。