Twitterのリストを新規作成してユーザを追加するコードをGoで書いてみた
8471 ワード
使い方
- 1. 依存ライブラリを取得
go get -v github.com/ChimeraCoder/anaconda
- 2. ユーザの一覧を記載したテキストファイルを作成
cat USERS_FILE.txt
userA
userB
userC
- 3. 実行
第1引数は作成するリストの名前、第2引数は作成するリストが公開か非公開か、第3引数はユーザの一覧を記載したテキストファイル
go run main.go NEWLIST_NAME NEWLIST_MODE(puclic or private) USERS_FILE.txt
TwitterのAPI Keyは各自取得して書き換えてください。
package main
import (
"bufio"
"fmt"
"net/url"
"os"
"time"
"github.com/ChimeraCoder/anaconda"
)
// Usage
// go get -v github.com/ChimeraCoder/anaconda
//
// cat USERS_FILE.txt
// userA
// userB
// ...
//
// go run main.go NEWLIST_NAME NEWLIST_MODE(puclic or private) USERS_FILE.txt
var (
consumerKey = ""
consumerSecret = ""
accessToken = ""
accessTokenSecret = ""
)
func main() {
anaconda.SetConsumerKey(consumerKey)
anaconda.SetConsumerSecret(consumerSecret)
api := anaconda.NewTwitterApi(accessToken, accessTokenSecret)
if len(os.Args) != 4 {
fmt.Println("usage: go run main.go NEWLIST_NAME NEWLIST_MODE(puclic or private) USERS_FILE.txt")
os.Exit(1)
}
listName := os.Args[1]
fp, err := os.Open(os.Args[3])
if err != nil {
panic(err)
}
defer fp.Close()
v := url.Values{}
v.Set("mode", os.Args[2])
list, err := api.CreateList(listName, "", v)
if err != nil {
panic(err)
}
fmt.Printf("Create success %v\n", list.Name)
scanner := bufio.NewScanner(fp)
if err := scanner.Err(); err != nil {
panic(err)
}
fmt.Println("Wait 5 sec...")
time.Sleep(time.Second * 5)
for scanner.Scan() {
user := scanner.Text()
fmt.Printf("add %v to %v\n", user, listName)
_, err = api.AddUserToList(user, list.Id, nil)
if err != nil {
panic(err)
}
}
}
Author And Source
この問題について(Twitterのリストを新規作成してユーザを追加するコードをGoで書いてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/sonatard/items/1383b230f1c3b3c02ee4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .