go-twitterでusers/showとfavorites/listを叩く
goのTwitter API用ライブラリは、有名どころではanacondaとgo-twitterがある。
とりあえず今回はgo-twitterを使用する。
ちなみにusers/show
はユーザーのプロフィールを取得するというもの。
favorites/list
はユーザーがお気に入りに登録したツイートの一覧を取得するエンドポイント。
developer.twitter.com
コード
consumerKeyなどはenvファイルに記述し、godotenvなど使うといいかも
初期設定↓
import( "github.com/dghubble/go-twitter/twitter" "github.com/dghubble/oauth1" )
config := oauth1.NewConfig("consumerKey", "consumerSecret") token := oauth1.NewToken("accessToken", "accessSecret") httpClient := config.Client(oauth1.NoContext, token) client := twitter.NewClient(httpClient)
users/show
user, res, err := client.Users.Show(&twitter.UserShowParams{ ScreenName: id, })
UserShowParams
にはUserID
, ScreenName
, IncludeEntities
を指定できる。
UserID
はユーザごとに割り当てられている値。
ここで調べられる。idtwi | Twitter IDチェッカー(変更履歴の追跡)
よく見る@から始まるIDはScreenName
。
IncludeEntities
は正直よくわからない。
UserID
ScreenName
はどちらかは必須となっている。
取得したユーザ情報はこれ見るといいかも。
twitter package - github.com/dghubble/go-twitter/twitter - pkg.go.dev
favorites/list
tweets, res, err := client.Favorites.List(&twitter.FavoriteListParams{ ScreenName: id, Count: count, })
FavoriteListParams
に指定できるもの↓
UserID
ScreenName
Count
-> 検索する数。1~200
SinceID
-> ツイートのID。そのツイートより後のツイートを取得
MaxID
-> ツイートのID。そのツイートより前のツイートを取得
IncludeEntities
-> 画像や動画の情報が含まれるかどうからしい。
TweetMode
-> Twitter APIの方には無く、go-twitterにしかない。よくわからない。
UserID
ScreenName
はどちらか必須。
取得したツイート情報はこれ見るといいかも。
twitter package - github.com/dghubble/go-twitter/twitter - pkg.go.dev