The first line between Twitter Use and Twitter Obsession is TweetDeck. That's when the update-on-demand single-thread of the web page gives way to multiple constantly-updated streams of the stream-of-consciousness ramblings of the Internet.
That's the first line.
The second line between Twitter use and Twitter obsession is when you want to automate the work. If you're an R person, that's twitteR. If you work in Python, that's tweepy.
And, if you're like me, and you normally use Perl, we're talking Net::Twitter.
What follows is the simplest possible Net::Twitter program.
#!/usr/bin/env perl
use feature qw{ say } ;
use strict ;
use warnings ;
use Net::Twitter ;
# the consumer key and secret identify you as a service.
# you register your service at https://apps.twitter.com/
# and receive the key and secret
# you really don't want to have these written into your script
my $consumer_key = 'ckckckckckckckckckckck' ;
my $consumer_secret = 'cscscscscscscscscscscscscscscscscscscscs' ;
my $twit = Net::Twitter->new(
traits => [qw/API::RESTv1_1/],
consumer_key => $consumer_key,
consumer_secret => $consumer_secret,
ssl => 1,
) ;
# the access token and secret identify you as a user.
# the registration process takes place below.
# the first time you run this program, you will not be authorized,
# and the program will give you a URL to open in a browser where
# you are already logged into twitter.
# you really don't want to have these written into your script
my $access_token = '1111111111-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ;
my $access_token_secret = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' ;
$twit->access_token($access_token) ;
$twit->access_token_secret($access_token_secret) ;
# everything interesting will occur inside this if statement
if ( $twit->authorized ) {
if ( $twit->update('Hello World!') ) {
say 'It worked!' ;
}
else {
say 'Fail' ;
}
}
else {
# You have no auth token
# go to the auth website.
# they'll ask you if you wanna do this, then give you a PIN
# input it here and it'll register you.
# then save your token vals.
say "Authorize this app at ", $twit->get_authorization_url,
' and enter the PIN#' ;
my $pin = <stdin> ; # wait for input
chomp $pin ;
my ( $access_token, $access_token_secret, $user_id, $screen_name ) =
$twit->request_access_token( verifier => $pin ) ;
say 'The following lines need to be copied and pasted above' ;
say $access_token ;
say $access_token_secret ;
}
Again, this is as simple as we can reasonably do, without pulling the keys into a separate file, which I, again, strongly recommend you do. (I personally use YAML as the way I store and restore data such as access tokens and consumer keys. I will demonstrate that in a later post.)

No comments:
Post a Comment