non vorrei lavorare

昔はおもにプログラミングやガジェット系、今は?

Julia言語でTwitterのAPIを叩いてみた

こんばんは。次男が、体調を崩し、保育園呼び出しがあり、実家生活を送っていたら、今度は長男がインフルエンザB型になってしまい、しばらく実家生活をしていた@kjunichiです。

背景

dailyportalz.jp

なる記事を見て

Twitterで位置情報を指定してツイートを取得できることに興味をもち、

qiita.com

をみつけて、プライバシーの問題で徐々に位置情報が扱えなくなりつつあるが、 まだ使えるようだったので、Juliaでできないかやってみた。

Twitter.jl発見!

この手のWeb APIを利用するパッケージ、すでにあるのだろうな?と思ってググると発見。

github.com

ありました。Twitter専用のものでした。Githubでみたら、直近のコミットがついこの前。これは動くだろう。

Twitter.jlをとりあえず動かす。

Githubページからたどれるドキュメントとは現在はちょっと違うAPIになっているようで、 README.mdを参照し、テストコードのコードを見ながら試したところ動かせた。

まずはTwitter APIを使うための認証

Twitterの開発者向けページであらかじめアプリ向けの登録が必要なようです。

大分昔に、Twitterの開発者登録を済ませていて、必要なのは、以下の情報だった。

f:id:kjw_junichi:20200216231905p:plain

f:id:kjw_junichi:20200216231931p:plain

ものがモノだけに念のため、マスクしてます。。

これらをREADME.mdの記述されている各変数にいれればOKでした。

成果物

import Pkg
Pkg.add("Twitter")

using Twitter

apikey = "apikey_wo_ireru"
apisecret = "apisecret_wo_ireru"
accesstoken = "accesstoken_wo_ireru"
accesstokensecret = "accesstokensecret_wo_ireru"

twitterauth(apikey,
            apisecret,
            accesstoken,
            accesstokensecret)

tweets = get_search_tweets(q = "グラベルロード", geocode = "35.4657901,139.6201245,100km", count = 10)

get(tweets,"statuses",0)

Dict形式でAPIのパラメータを指定すれば、QiitaのPythonでのAPIの説明同様に動きそうでした。

検索結果が0件だと、Juliaのエラーになってしまうようです。

おわりに

今回は、APIを使えそうだというところまでの確認で力尽きたw

参考資料

関連記事

13年前の記事