m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

perlでtwitterAPI(retweet、favorite)

自分のツイートをリツイートできないことに

やっと気づいた。

だってなんどやっても 403が帰ってくるから…

実装

sample1.pl
#/usr/bin/env perl

use strict;
use warnings;
use Net::Twitter;
use utf8;
use Data::Dumper;
binmode STDOUT, ":utf8";

my $consumer_key = "<consumer_key>";
my $consumer_secret = "<consumer_secret>";
my $access_token = "<access_token>";
my $access_token_secret = "<access_token_secret>";

my $tw_app = Net::Twitter->new({
    traits => [qw/API::RESTv1_1 OAuth /],
    consumer_key => $consumer_key,
    consumer_secret => $consumer_secret,
    access_token => $access_token,
    access_token_secret => $access_token_secret});

if (@ARGV == 2){
    my $text = $ARGV[0];
    my $mode = $ARGV[1];
    my $res;

    if($mode eq "R"){
        $res = $tw_app->retweet($text);
    }else{
        $res = $tw_app->create_favorite($text);
    }

    print Dumper($text);
    print Dumper($res);

}else{
    print "1:id 2:mode('R':retweet, 'F':favorite)\n";
}

引数

引数はツイートの固有のIDらしい
f:id:m_shige1979:20141216233659p:plain

所感

最初、自分にリツイートできなくて戸惑いましたけど、きちんとリツイートできたので良かったです。
この方法と検索やstreamを併用することで自動リツイートBOTなどを作成できそう。
自分自身に通知代わりになにかを送りたいと思っていたのでそろそろやってみるかも