forked from semifor/Net-Twitter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
2286 lines (1633 loc) · 78.8 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
NAME
Net::Twitter - A perl interface to the Twitter API
VERSION
This document describes Net::Twitter version 3.18004
SYNOPSIS
use Net::Twitter;
use Scalar::Util 'blessed';
# When no authentication is required:
my $nt = Net::Twitter->new(legacy => 0);
# As of 13-Aug-2010, Twitter requires OAuth for authenticated requests
my $nt = Net::Twitter->new(
traits => [qw/OAuth API::REST/],
consumer_key => $consumer_key,
consumer_secret => $consumer_secret,
access_token => $token,
access_token_secret => $token_secret,
);
my $result = $nt->update('Hello, world!');
eval {
my $statuses = $nt->friends_timeline({ since_id => $high_water, count => 100 });
for my $status ( @$statuses ) {
print "$status->{created_at} <$status->{user}{screen_name}> $status->{text}\n";
}
};
if ( my $err = $@ ) {
die $@ unless blessed $err && $err->isa('Net::Twitter::Error');
warn "HTTP Response Code: ", $err->code, "\n",
"HTTP Message......: ", $err->message, "\n",
"Twitter error.....: ", $err->error, "\n";
}
DESCRIPTION
This module provides a perl interface to the Twitter APIs. See
<http://dev.twitter.com/doc> for a full description of the Twitter APIs.
OMG! THE MOOSE!
Net::Twitter is Moose based. Moose provides some advantages, including
the ability for the maintainer of this module to respond quickly to
Twitter API changes.
See Net::Twitter::Lite if you need an alternative without Moose and its
dependencies.
Net::Twitter::Lite's API method definitions and documentation are
generated from Net::Twitter. It is a related module, but does not depend
on Net::Twitter or Moose for installation.
RETURN VALUES
Net::Twitter decodes the data structures returned by the Twitter API
into native perl data structures (HASH references and ARRAY references).
The full layout of those data structures are not documented, here. They
change often, usually with the addition of new elements, and documenting
all of those changes would be a significant challenge.
Instead, rely on the online Twitter API documentation and inspection of
the returned data.
The Twitter API online documentation is located at
<http://dev.twitter.com/doc>.
To inspect the data, use Data::Dumper or similar module of your choice.
Here's a simple example using Data::Dumper:
use Data::Dumper;
my $r = $nt->search($search_term);
print Dumper $r;
For more information on perl data structures, see perlreftut, perldsc,
and perllol.
METHODS AND ARGUMENTS
new This constructs a "Net::Twitter" object. It takes several named
parameters, all of them optional:
traits
An ARRAY ref of traits used to control which APIs the
constructed "Net::Twitter" object will support and how it
handles errors. Possible values are:
API::REST
Provides support for the Twitter REST API methods.
API::Search
Provides support for the Twitter Search API methods.
AutoCursor
"AutoCursor" is a parameterized trait that provides an
automatic loop for cursored calls, returning an ARRAY
reference to the combined results. By default, it handles
"friends_ids" and "followers_ids". See
Net::Twitter::Role::AutoCursor for details.
InflateObjects
When this optional trait is included, Net::Twitter inflates
HASH refs returned by Twitter into objects with read
accessors for each element. In addition, it inflates dates
to DateTime objects and URLs to URI objects. Objects that
include a "created_at" attribute also have a
"relative_created_at" method.
For example, with "InflateObjects" applied, the
<friends_timeline> method returns an array of status
objects:
$r = $nt->friends_timeline;
for my $status ( @$r ) {
$r->user->screen_name; # same as $r->{user}{screen_name}
# $created_at is a DateTime; $age is a DateTime::Duration
my $age = DateTime->now - $r->created_at;
# print an age in a similar style to the Twitter web site, e.g.:
# less than a minute ago
# about a minute ago
# 6 minutes ago
# 1 day ago
# etc.
print $r->relative_created_at;
Legacy
This trait provides backwards compatibility to
"Net::Twitter" versions prior to 3.00. It implies the traits
"API::REST", "API::Search", "API::TwitterVision", and
"API::WrapError". It also provides additional functionality
to ensure consistent behavior for applications written for
use with legacy versions of "Net::Twitter".
In the current version, this trait is automatically included
if the "traits" option is not specified. This ensures
backwards compatibility for existing applications using
"Net::Twitter" versions prior to 3.00. See section "LEGACY
COMPATIBILITY" for more details.
OAuth
The "OAuth" trait provides OAuth authentication rather than
the default Basic Authentication for Twitter API method
calls. See the "Authentication" section and
Net::Twitter::Role::OAuth for full documentation.
RateLimit
The "RateLimit" trait adds utility methods that return
information about the current rate limit status. See
Net::Twitter::Role::RateLimit for details.
RetryOnError
The "RetryOnError" trait automatically retries Twitter API
calls with temporary failures. See
Net::Twitter::Role::RetryOnError for details.
WrapError
"Net::Twitter" normally throws exceptions on error. When
this trait is included, "Net::Twitter" returns undef when a
method fails and makes the error available through method
"get_error". This is the way all errors were handled in
Net::Twitter versions prior to version 3.00.
Some examples of using the "traits" parameter in "new":
# provide support for *only* the REST API; throw exceptions on error
$nt = Net::Twitter->new(traits => ['API::REST']);
# provide support for both the REST and Search APIs; wrap errors
$nt = Net::Twitter->new(traits => [qw/API::REST API::Search WrapError/]);
# ensure full legacy support
$nt = Net::Twitter->new(traits => ['Legacy']);
# currently, these 2 calls to new are equivalent:
$nt = Net::Twitter->new();
$nt = Net::Twitter->new(traits => ['Legacy']);
legacy
A boolean. If set to 0, "new" constructs a "Net::Twitter" object
implementing the REST API and throws exceptions on API method
errors.
Net::Twitter->new(legacy => 0);
is a shortcut for:
Net::Twitter->new(traits => ['API::REST']);
If set to 1, "new" constructs a "Net::Twitter" object with the
"Legacy" trait.
Net::Twitter->new(legacy => 1);
is a shortcut for:
Net::Twitter->new(traits => ['Legacy']);
username
This is the username for Basic Authentication. NOTE: as of
31-Aug-2010, Twitter no longer supports Basic Authentication.
Use OAuth instead. Other Twitter compatible services may,
however, accept Basic Authentication, so support for it remains
in "Net::Twitter".
password
This is the password used for Basic Authentication.
clientname
The value for the "X-Twitter-Client-Name" HTTP header. It
defaults to "Perl Net::Twitter". Note: This option has nothing
to do with the "via" application byline.
clientver
The value for the "X-Twitter-Client-Version" HTTP header. It
defaults to current version of the "Net::Twitter" module.
clienturl
The value for the "X-Twitter-Client-URL" HTTP header. It
defaults to the search.cpan.org page for the "Net::Twitter"
distribution.
useragent_class
The "LWP::UserAgent" compatible class used internally by
"Net::Twitter". It defaults to "LWP::UserAgent". For POE based
applications, consider using "LWP::UserAgent::POE".
useragent_args
An HASH ref of arguments to pass to constructor of the class
specified with "useragent_class", above. It defaults to {} (an
empty HASH ref).
useragent
The value for "User-Agent" HTTP header. It defaults to
"Net::Twitter/$VERSION (Perl)", where $VERSION is the current
version of "Net::Twitter".
source
Twitter on longer uses the "source" parameter. Support for it
remains in "Net::Twitter" for any compatible services that may
use it. It was originally used by Twitter to provide an "via"
application byline.
apiurl
The URL for the Twitter API. This defaults to
"http://api.twitter.com/1". This option is available when the
"API::REST" trait is included.
apihost
DEPRECATED - Setting the "apiurl" is sufficient.
apirealm
A string containing the Twitter API realm used for Basic
Authentication. It defaults to "Twitter API". This option is
available when the "API::REST" trait is included.
identica
If set to 1, "Net::Twitter" overrides the defaults for "apiurl",
"apihost", and "apirealm" to "http://identi.ca/api",
"identi.ca:80", and "Laconica API" respectively. It defaults to
0. This option is available when the "API::REST" trait is
included.
consumer_key
A string containing the OAuth consumer key provided by Twitter
when an application is registered. This option is available when
the "OAuth" trait is included.
consumer_secret
A string containing the OAuth consumer secret. This option is
available when the "OAuth" trait is included.
ssl If set to 1, an SSL connection will be used for all API calls.
Defaults to 0.
netrc
(Optional) Sets the *machine* key to look up in ".netrc" to
obtain credentials. If set to 1, Net::Twitter will use the value
of the "netrc_machine" option (below).
# in .netrc
machine api.twitter.com
login YOUR_TWITTER_USER_NAME
password YOUR_TWITTER_PASSWORD
machine semifor.twitter.com
login semifor
password SUPERSECRET
# in your perl program
$nt = Net::Twitter->new(netrc => 1);
$nt = Net::Twitter->new(netrc => 'semifor.twitter.com');
netrc_machine
(Optional) Sets the "machine" entry to look up in ".netrc" when
"<netrc =" 1>> is used. Defaults to "api.twitter.com".
decode_html_entities
Twitter encodes HTML entities in the "text" field of statuses.
Set this option to 1 to have them automatically decoded. Default
0.
credentials($username, $password)
Set the credentials for Basic Authentication. This is helpful for
managing multiple accounts.
ua Provides access to the constructed user agent object used internally
by "Net::Twitter". Use it with caution.
AUTHENTICATION
As of 31-Aug-2010, Twitter requires OAuth for authenticated requests.
Other Twitter compatible services, like Identi.ca, accept Basic
Authentication. So, "Net::Twitter" provides support for both.
To set up OAuth, include the "OAuth" trait and include the
"consumer_key" and "consumer_secret" options to "new". See
Net::Twitter::Role::OAuth for more information on using OAuth, including
examples.
To set up Basic Authentication in "Net::Twitter", provide the "username"
and "password" options to "new" or call the "credentials" method.
In addition to the arguments specified for each API method described
below, an additional "-authenticate" parameter can be passed. To request
an "Authorization" header, pass "-authenticate => 1"; to suppress an
authentication header, pass "-authenticate => 0". Even if requested, an
Authorization header will not be added if there are no user credentials
(username and password for Basic Authentication; access tokens for
OAuth).
This is probably only useful for the "rate_limit_status" method in the
REST API, since it returns different values for an authenticated and a
non-authenticated call.
API METHODS AND ARGUMENTS
Most Twitter API methods take parameters. All Net::Twitter API methods
will accept a HASH ref of named parameters as specified in the Twitter
API documentation. For convenience, many Net::Twitter methods accept
simple positional arguments. The positional parameter passing style is
optional; you can always use the named parameters in a HASH reference if
you prefer.
You may pass any number of required parameters as positional parameters.
You must pass them in the order specified in the documentation for each
method. Optional parameters must be passed as named parameters in a HASH
reference. The HASH reference containing the named parameters must be
the final parameter to the method call. Any required parameters not
passed as positional parameters, must be included in the named parameter
HASH reference.
For example, the REST API method "update" has one required parameter,
"status". You can call "update" with a HASH ref argument:
$nt->update({ status => 'Hello world!' });
Or, you can use the convenient, positional parameter form:
$nt->update('Hello world!');
The "update" method also has an optional parameter,
"in_reply_to_status_id". To use it, you must use the HASH ref form:
$nt->update({ status => 'Hello world!', in_reply_to_status_id => $reply_to });
You may use the convenient positional form for the required "status"
parameter with the optional parameters specified in the named parameter
HASH reference:
$nt->update('Hello world!', { in_reply_to_status_id => $reply_to });
Convenience form is provided for the required parameters of all API
methods. So, these two calls are equivalent:
$nt->friendship_exists({ user_a => $fred, user_b => $barney });
$nt->friendship_exists($fred, $barney);
Many API methods have aliases. You can use the API method name, or any
of its aliases, as you prefer. For example, these calls are all
equivalent:
$nt->friendship_exists($fred, $barney);
$nt->relationship_exists($fred, $barney);
$nt->follows($fred, $barney);
Aliases support both the HASH ref and convenient forms:
$nt->follows({ user_a => $fred, user_b => $barney });
Cursors and Paging
Some methods return partial results a page at a time. Originally,
methods that returned partial results used a "page" parameter. A more
recent addition to the Twitter API for retrieving multiple pages uses
the "cursor" parameter. Usually, a method uses either the "page"
parameter or the "cursor" parameter, but not both. There have been
exceptions to this rule when Twitter deprecates the use of "page" for a
method in favor of "cursor". In that case, both methods may work during
a transition period. So, if a method supports both, you should always
use the "cursor" parameter.
Paging
For methods that support paging, the first page is returned by passing
"page => 1", the second page by passing "page => 2", etc. If no "page"
parameter is passed, the first page is returned.
Here's an example that demonstrates how to obtain all favorites in a
loop:
my @favs;
for ( my $page = 1; ; ++$page ) {
my $r = $nt->favorites({ page => $page });
last unless @$r;
push @favs, @$r;
}
Cursors
Cursoring employs a different strategy. To obtain the first page of
results, pass "cursor => -1". Twitter returns a reference to a hash that
includes entries "next_cursor", "previous_cursor", and an entry with a
reference to an array containing a page of the requested items. The key
for the array reference will be named "users", "ids", or something
similar depending upon the type of returned items. For example, when
"cursor" parameter is used with the "followers_ids" method, the returned
in hash entry "ids".
The "next_cursor" value can be used in a subsequent call to obtain the
next page of results. When you have obtained the last page of results,
"next_cursor" will be 0. Likewise, you can use the value for
"previous_cursor" to obtain the previous page of results. When you have
obtained the first page, "previous_cursor" will be 0.
Here's an example that demonstrates how to obtain all follower IDs in a
loop using the "cursor" parameter:
my @ids;
for ( my $cursor = -1, my $r; $cursor; $cursor = $r->{next_cursor} ) {
$r = $nt->followers_ids({ cursor => $cursor });
push @ids, @{ $r->{ids} };
}
Synthetic Arguments
In addition to the arguments described in the Twitter API Documentation
for each API method, Net::Twitter supports additional *synthetic*
arguments.
-authenticate
When set to 1, Net::Twitter will provide an Authorization header for
the API call; when set to 0, it will suppress the Authentication
header. This argument overrides the defined authentication behavior
for the API method. It is probably only useful for the
"rate_limit_satus" method which returns different values for
authenticated and unauthenticated calls. See "AUTHENTICATION" for
more details.
-since
API methods that accept the "since_id" argument will also accept the
synthetic "-since" argument, instead. "-since" may be a "Date::Time"
object, an epoch time (the number of seconds since the system
epoch), or a string in the same format returned by Twitter for the
"created_at" attribute. Only statuses with a "created_at" time
greater than "-since" will be returned by the API call.
-legacy_lists_api
This option is only effective when the legacy "API::Lists" trait is
applied. Passing "-legacy_lists_api" set to 0 for lists methods will
use the new lists endpoints and semantics. This will facilitate
upgrading an application to use the new lists api methods. When the
"API::Lists" trait is not applied, this option is ignored.
REST API Methods
These methods are provided when trait "API::REST" is included in the
"traits" option to "new".
Common Parameters
id Several of these methods accept a user ID as the "id" parameter. The
user ID can be either a screen name, or the users numeric ID. To
disambiguate, use the "screen_name" or "user_id" parameters,
instead.
For example, These calls are equivalent:
$nt->create_friend('perl_api'); # screen name
$nt->create_friend(1564061); # numeric ID
$nt->create_friend({ id => 'perl_api' });
$nt->create_friend({ screen_name => 'perl_api' });
$nt->create_friend({ user_id => 1564061 });
However user_id 911 and screen_name 911 are separate Twitter
accounts. These calls are NOT equivalent:
$nt->create_friend(911); # interpreted as screen name
$nt->create_friend({ user_id => 911 }); # screen name: richellis
Whenever the "id" parameter is required and "user_id" and
"screen_name" are also parameters, using any one of them satisfies
the requirement.
skip_user
The timeline methods all accept an optional "skip_user" parameter.
When set to a true value, the statuses returned in a timeline will
not contain an entire embedded user HASH. Instead, the user node
will contain only an "id" element to indicate the numerical ID of
the Twitter user that sent the status.
Methods
account_settings
Parameters: *none*
Required: *none*
Returns the current trend, geo and sleep time information for the
authenticating user.
Returns: HashRef
account_totals
Parameters: *none*
Required: *none*
Returns the current count of friends, followers, updates (statuses)
and favorites of the authenticating user.
Returns: HashRef
add_list_member
Parameters: list_id, slug, user_id, screen_name, owner_screen_name,
owner_id
Required: *none*
Add a member to a list. The authenticated user must own the list to
be able to add members to it. Note that lists can't have more than
500 members.
Returns: User
add_place
add_place(name, contained_within, token, lat, long)
Parameters: name, contained_within, token, lat, long,
attribute:street_address, callback
Required: name, contained_within, token, lat, long
Creates a new place object at the given latitude and longitude.
Before creating a place you need to query "similar_places" with the
latitude, longitude and name of the place you wish to create. The
query will return an array of places which are similar to the one
you wish to create, and a token. If the place you wish to create
isn't in the returned array you can use the token with this method
to create a new one.
Returns: Place
all_subscriptions
alias: all_lists
alias: list_subscriptions
Parameters: user_id, screen_name, count, cursor
Required: *none*
Returns all lists the authenticating or specified user subscribes
to, including their own. The user is specified using the user_id or
screen_name parameters. If no user is given, the authenticating user
is used.
Returns: ArrayRef[List]
block_exists
block_exists(id)
Parameters: id, user_id, screen_name, include_entities
Required: id
Returns if the authenticating user is blocking a target user. Will
return the blocked user's object if a block exists, and error with
HTTP 404 response code otherwise.
Returns: BasicUser
blocking
Parameters: page, include_entities
Required: *none*
Returns an array of user objects that the authenticating user is
blocking.
Returns: ArrayRef[BasicUser]
blocking_ids
Parameters: *none*
Required: *none*
Returns an array of numeric user ids the authenticating user is
blocking.
Returns: ArrayRef[Int]
contributees
Parameters: user_id, screen_name, include_entities, skip_satus
Required: *none*
Returns an array of users that the specified user can contribute to.
Returns: ArrayRef[User]
contributors
Parameters: user_id, screen_name, include_entities, skip_satus
Required: *none*
Returns an array of users who can contribute to the specified
account.
Returns: ArrayRef[User]
create_block
create_block(id)
Parameters: id, user_id, screen_name, include_entities
Required: id
Blocks the user specified in the ID parameter as the authenticating
user. Returns the blocked user when successful. You can find out
more about blocking in the Twitter Support Knowledge Base.
Returns: BasicUser
create_favorite
create_favorite(id)
Parameters: id, include_entities
Required: id
Favorites the status specified in the ID parameter as the
authenticating user. Returns the favorite status when successful.
Returns: Status
create_friend
create_friend(id)
alias: follow_new
Parameters: id, user_id, screen_name, follow, include_entities
Required: id
Befriends the user specified in the ID parameter as the
authenticating user. Returns the befriended user when successful.
Returns a string describing the failure condition when unsuccessful.
Returns: BasicUser
create_list
Parameters: list_id, slug, name, mode, description,
owner_screen_name, owner_id
Required: *none*
Creates a new list for the authenticated user. Note that you can't
create more than 20 lists per account.
Returns: List
create_saved_search
create_saved_search(query)
Parameters: query
Required: query
Creates a saved search for the authenticated user.
Returns: SavedSearch
delete_list
Parameters: owner_screen_name, owner_id, list_id, slug
Required: *none*
Deletes the specified list. The authenticated user must own the list
to be able to destroy it.
Returns: List
delete_list_member
alias: remove_list_member
Parameters: list_id, slug, user_id, screen_name, owner_screen_name,
owner_id
Required: *none*
Removes the specified member from the list. The authenticated user
must be the list's owner to remove members from the list.
Returns: User
destroy_block
destroy_block(id)
Parameters: id, user_id, screen_name
Required: id
Un-blocks the user specified in the ID parameter as the
authenticating user. Returns the un-blocked user when successful.
Returns: BasicUser
destroy_direct_message
destroy_direct_message(id)
Parameters: id, include_entities
Required: id
Destroys the direct message specified in the required ID parameter.
The authenticating user must be the recipient of the specified
direct message.
Returns: DirectMessage
destroy_favorite
destroy_favorite(id)
Parameters: id, include_entities
Required: id
Un-favorites the status specified in the ID parameter as the
authenticating user. Returns the un-favorited status.
Returns: Status
destroy_friend
destroy_friend(id)
alias: unfollow
Parameters: id, user_id, screen_name, include_entities
Required: id
Discontinues friendship with the user specified in the ID parameter
as the authenticating user. Returns the un-friended user when
successful. Returns a string describing the failure condition when
unsuccessful.
Returns: BasicUser
destroy_saved_search
destroy_saved_search(id)
Parameters: id
Required: id
Destroys a saved search. The search, specified by "id", must be
owned by the authenticating user.
Returns: SavedSearch
destroy_status
destroy_status(id)
Parameters: id, trim_user, include_entities
Required: id
Destroys the status specified by the required ID parameter. The
authenticating user must be the author of the specified status.
Returns: Status
direct_messages
direct_messages(include_entities)
Parameters: since_id, max_id, count, page, include_entities
Required: include_entities
Returns a list of the 20 most recent direct messages sent to the
authenticating user including detailed information about the sending
and recipient users.
Returns: ArrayRef[DirectMessage]
disable_notifications
disable_notifications(id)
Parameters: id, screen_name, include_entities
Required: id
Disables notifications for updates from the specified user to the
authenticating user. Returns the specified user when successful.
Returns: BasicUser
downtime_schedule DEPRECATED
Parameters: *none*
Required: *none*
Returns the same text displayed on <http://twitter.com/home> when a
maintenance window is scheduled.
Returns: Str
enable_notifications
enable_notifications(id)
Parameters: id, screen_name, include_entities
Required: id
Enables notifications for updates from the specified user to the
authenticating user. Returns the specified user when successful.
Returns: BasicUser
end_session
Parameters: *none*
Required: *none*
Ends the session of the authenticating user, returning a null
cookie. Use this method to sign users out of client-facing
applications like widgets.
Returns: Error
favorites
Parameters: id, page, include_entities
Required: *none*
Returns the 20 most recent favorite statuses for the authenticating
user or user specified by the ID parameter.
Returns: ArrayRef[Status]
followers DEPRECATED
Parameters: id, user_id, screen_name, cursor, include_entities
Required: *none*
This method has been deprecated. Twitter intends to stop support for
it on May 14, 2012. Use "friends_ids" and "lookup_users" instead.
Returns a reference to an array of the user's followers. If "id",
"user_id", or "screen_name" is not specified, the followers of the
authenticating user are returned. The returned users are ordered
from most recently followed to least recently followed.
Use the optional "cursor" parameter to retrieve users in pages of
100. When the "cursor" parameter is used, the return value is a
reference to a hash with keys "previous_cursor", "next_cursor", and
"users". The value of "users" is a reference to an array of the
user's friends. The result set isn't guaranteed to be 100 every time
as suspended users will be filtered out. Set the optional "cursor"
parameter to -1 to get the first page of users. Set it to the prior
return's value of "previous_cursor" or "next_cursor" to page forward
or backwards. When there are no prior pages, the value of
"previous_cursor" will be 0. When there are no subsequent pages, the
value of "next_cursor" will be 0.
Returns: HashRef|ArrayRef[User]
followers_ids
followers_ids(id)
Parameters: id, user_id, screen_name, cursor
Required: id
Returns a reference to an array of numeric IDs for every user
following the specified user. The order of the IDs may change from
call to call. To obtain the screen names, pass the arrayref to
"lookup_users".
Use the optional "cursor" parameter to retrieve IDs in pages of
5000. When the "cursor" parameter is used, the return value is a
reference to a hash with keys "previous_cursor", "next_cursor", and
"ids". The value of "ids" is a reference to an array of IDS of the
user's followers. Set the optional "cursor" parameter to -1 to get
the first page of IDs. Set it to the prior return's value of
"previous_cursor" or "next_cursor" to page forward or backwards.
When there are no prior pages, the value of "previous_cursor" will
be 0. When there are no subsequent pages, the value of "next_cursor"
will be 0.
Returns: HashRef|ArrayRef[Int]
friends DEPRECATED
alias: following
Parameters: id, user_id, screen_name, cursor, include_entities
Required: *none*
This method has been deprecated. Twitter intends to stop support for
it on May 14, 2012. Use "friends_ids" and "lookup_users" instead.
Returns a reference to an array of the user's friends. If "id",
"user_id", or "screen_name" is not specified, the friends of the
authenticating user are returned. The returned users are ordered
from most recently followed to least recently followed.
Use the optional "cursor" parameter to retrieve users in pages of
100. When the "cursor" parameter is used, the return value is a
reference to a hash with keys "previous_cursor", "next_cursor", and
"users". The value of "users" is a reference to an array of the
user's friends. The result set isn't guaranteed to be 100 every time
as suspended users will be filtered out. Set the optional "cursor"
parameter to -1 to get the first page of users. Set it to the prior
return's value of "previous_cursor" or "next_cursor" to page forward
or backwards. When there are no prior pages, the value of
"previous_cursor" will be 0. When there are no subsequent pages, the
value of "next_cursor" will be 0.
Returns: Hashref|ArrayRef[User]
friends_ids
friends_ids(id)
alias: following_ids
Parameters: id, user_id, screen_name, cursor
Required: id
Returns a reference to an array of numeric IDs for every user
followed by the specified user. The order of the IDs is reverse
chronological.
Use the optional "cursor" parameter to retrieve IDs in pages of
5000. When the "cursor" parameter is used, the return value is a
reference to a hash with keys "previous_cursor", "next_cursor", and
"ids". The value of "ids" is a reference to an array of IDS of the
user's friends. Set the optional "cursor" parameter to -1 to get the
first page of IDs. Set it to the prior return's value of
"previous_cursor" or "next_cursor" to page forward or backwards.
When there are no prior pages, the value of "previous_cursor" will
be 0. When there are no subsequent pages, the value of "next_cursor"
will be 0.
Returns: HashRef|ArrayRef[Int]
friends_timeline DEPRECATED
alias: following_timeline
Parameters: since_id, max_id, count, page, skip_user, trim_user,
include_entities, include_rts
Required: *none*
Returns the 20 most recent statuses posted by the authenticating
user and that user's friends. This is the equivalent of /home on the
Web.
Returns: ArrayRef[Status]
friendship_exists
friendship_exists(user_a, user_b)
alias: relationship_exists
alias: follows
Parameters: user_id_a, user_id_b, screen_name_a, screen_name_b,
user_a, user_b
Required: user_a, user_b
Tests for the existence of friendship between two users. Will return
true if user_a follows user_b, otherwise will return false.
Use of "user_a" and "user_b" is deprecated. It has been preserved
for backwards compatibility, and is used for the two-argument
positional form:
$nt->friendship_exists($user_a, $user_b);
Instead, you should use one of the named argument forms:
$nt->friendship_exists({ user_id_a => $id1, user_id_b => $id2 });
$nt->friendship_exists({ screen_name_a => $name1, screen_name_b => $name2 });
Consider using "show_friendship" instead.
Returns: Bool
friendships_incoming
friendships_incoming(cursor)
Parameters: cursor
Required: cursor
Returns an HASH ref with an array of numeric IDs in the "ids"
element for every user who has a pending request to follow the
authenticating user.
Returns: HashRef
friendships_outgoing
friendships_outgoing(cursor)
Parameters: cursor
Required: cursor
Returns an HASH ref with an array of numeric IDs in the "ids"
element for every protected user for whom the authenticating user
has a pending follow request.
Returns: HashRef