リストを調べるAPIを使ってみた

ユーザ(作成したor入っている)のリストを取得し、リストに含まれるユーザを出力する。ある数以上の人数が含まれている場合previous_cursorやnext_cursorを使用する必要があるみたいです。slugはユーザ名と組み合わせて用いることでリストを特定するために必要。

#!/usr/perl

use Net::Twitter;

use warnings;
use strict;

binmode(STDOUT, ":utf8");

my $user = 'twitter_user';
my $password = 'twitter_password';

my $nt = Net::Twitter->new(
                           traits   => [qw/API::Lists/],
                           username => $user,
                           password => $password
                           );

# list_userはscreen_nameと同じ(http://twitter.com/の後ろの部分)
# list_lists : 自分が作ったリストを取得
# list_memberships : 自分が加えられているリストを取得
my $lists = $nt->list_lists({user => 'list_user'});

for my $list (@$lists) {
    print "list name: $list->{name}\n"
        . "list_members\n";
    my $users = $nt->list_members({
        user => $list->{user}{screen_name},
        slug => $list->{slug}
    })->{users};
    
    for my $user (@$users) {
        print $user->{screen_name} . "\n";
    }
}