LoginSignup
8
3

More than 5 years have passed since last update.

任意のTwitterアカウントのタイムラインを取得

Last updated at Posted at 2017-06-14

はじめに

この文章は基本的に自分の備忘録と成長記録として書いたものであるが、もしかしたら誰かの役に立つかもしれないのでここに記したいと思う。
なお投稿者は生粋の初心者(未だに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の仕様のためか、リストに反映されるまでには時間がかかる。
今回は以上。

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3