はじめに
この文章は基本的に自分の備忘録と成長記録として書いたものであるが、もしかしたら誰かの役に立つかもしれないのでここに記したいと思う。
なお投稿者は生粋の初心者(未だにAPIあたりの単語の使い方も曖昧)なのでご容赦を。
本記事の対象者
自分(開発・プログラミング経験全くなし、JavaScript勉強中)
目標
今回は任意のアカウントのTLを自分のリストとして取得するプログラムを書く。
準備
- node, npm のインストール
- 自分のTwitterアカウントのアクセストークンの取得(「twitter アクセストークン」でググる)
リストの作成・メンバーの登録
Twitter Developerの公式サイトを参考にリストを作成し、メンバーを登録するプログラム(下記)を書く。
なお、同じディレクトリ上にnpm install twit
でtwitモジュールをインストールしておく。
const Twit = require('twit');
// 以下、正しいキーを設定してください
const T = new Twit({
consumer_key: '自分のカスタマーキー',
consumer_secret: '自分のシークレットカスタマーキー',
access_token: '自分のアクセスキー',
access_token_secret: '自分のシークレットアクセスキー',
});
// リストの作成
T.post(
'lists/create',
{name: 'test', mode: 'private', description: 'てすと'},
function (err, data, response) {console.log(data)}
)
// リストへのメンバーの登録
T.get(
'friends/ids',
{screen_name: 'TLが欲しいTwitterのアカウント名', stringify_ids: true},
function (err, data, response) {
for(let i = 0; i < data.ids.length/100; i++) {
let followers = data.ids.slice(0 + 100*i, 100*(i+1) - 1)
T.post(
'lists/members/create_all',
{
slug: 'リスト名', // 上記で作成したリストを使うなら'test'
owner_screen_name: 'リスト所有しているアカウント名',
user_id: followers,
},
function(err, data, res) {console.log(data)}
)
}
}
)
これを node で実行すれば自分のアカウントにリストが自動生成されている。
ちなみにT.get
の第1引数を'followers/ids'
にすると、フォロワーを全部リストに追加することができる。
ただしTwitterの仕様のためか、リストに反映されるまでには時間がかかる。
今回は以上。