GAS(GoogleAppScript)

【GAS】TwitterAPIからリストの確認・リストへのユーザー追加

この記事は約5分で読めます。

 

Oauth認証

 

GASでtwitter apiを叩くためにはOauth認証とCallBackURLの設定が必要になります。

認証方法については↓の記事で解説しています。

参照:【GAS】TwitterAPIを使ってツイート検索結果をスプレットシートに書き出す

 

上記記事で認証が完了しており、「getTwitterService()」で認証情報が呼び出せている前提で下記コードをするとリストに関するAPI処理が行えます。

 

リストの確認

 

// リストを取得する
function get_lists(){
  const service = getTwitterService();
  if (service.hasAccess()) {
	var url = "https://api.twitter.com/1.1/lists/list.json";
        const response = service.fetch(url, {method: 'get'});
        const result = JSON.parse(response.getContentText());
        var code = response.getResponseCode();
        if (code != 200){
          console.log(code)
        } else{
            // console.log(result)
            for (let i = 0; i < result.length; i++){
                console.log('オーナーユーザー',result[i].user.name ,'リスト名:', result[i].name, 'リスト内部ID:',result[i].id_str); 
            } 
        }
  }
  else{
    Logger.log("認証エラー");
  }
}

 

上記コードを実行すると認証しているツイッターアカウントのリストの名前と内部IDがコンソールに出力されます。それで確認した内部IDは次にリストにユーザーを追加する際に使用します。

 

リストにユーザーを追加する

 

1人ずつ追加する場合

 

// リストにユーザーを追加
function add_list(){
  const service = getTwitterService();
  list_id = '追加するリストのID'
  screen_name = 'python_mllover' // リストに追加するユーザーのID(@以降)
  var response = service.fetch("https://api.twitter.com/1.1/lists/members/create.json?list_id="+ list_id +'&screen_name='+screen_name, {
         method: 'post',
         muteHttpExceptions: true,
       })
  var code = response.getResponseCode()
  if (code == 200){
    console.log('処理成功!')
    // console.log(response.getContentText())
  } else{
    console.log('レスポンス',response.getResponseCode())
    console.log(response.getContentText())
  }
  
  }

 

APIのパラメーターの指定条件などについては以下を参照してください

ドキュメント:https://syncer.jp/Web/API/Twitter/REST_API/POST/lists/members/create/

 

まとめて追加する場合

 

// リストにユーザーを追加
function add_lists(){
  const service = getTwitterService();
  list_id = '追加するリストのID'
  user_ids = '1374349910980575233,1536761356350726144,289397635,201288722'
  var response = service.fetch("https://api.twitter.com/1.1/lists/members/create_all.json?list_id="+ list_id + '&user_id='+user_ids, {
         method: 'post',
         muteHttpExceptions: true,
       })
  var code = response.getResponseCode()
  if (code == 200){
    console.log('処理成功!')
    // console.log(response.getContentText())
  } else{
    console.log('レスポンス',response.getResponseCode())
    console.log(response.getContentText())
  }
  
  }

 

終わり

 

他のAPI処理についても記事にまとめているのでもしよければ参考にしてください。

 

関連記事:【GAS】TwitterAPIで特定のツイートにリツイート・いいねしたユーザーを取得する

関連記事:【GAS】TwitterAPIのV2でツイートを定期的に自動投稿する

関連記事:【GAS】TwitterAPIを使ってツイート検索結果をスプレットシートに書き出す

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:【GAS】TwitterAPIからリストの確認・リストへのユーザー追加 […]

タイトルとURLをコピーしました