Twitter Bot設置&運用テスト
自アカウントを登録すると、定期的にTweetしてくれる無料のサイトがありますが、それらは見返りとして何かしらの告知も勝手にTweetしたり制限もあります。無料なのでその点は仕方ないですね。
が、こちらには自前のサーバーがあるので、そのサーバーから呟いてみよう! というわけで諸々の設定を行いました。以下簡易メモ。
Twitter devページ(https://dev.twitter.com/apps)にアクセスして自分のTwitterアカウントでログイン。
[Application details]
Name dukehide ←アプリの名前(同じ名前は使用不可)
Description https://twitter.com/dukehide ←アプリの説明(何でもいい)
Website http://dukehide.dip.jp/ ←アプリのサイト(何でもいい)
Callback URL ←認証後に戻る際のURL(ここでは未設定)
[Organization]
Information about the organization or company associated with your application. This information is optional.
Organization None
Organization website None
[Application settings]
Your application's API keys are used to authenticate requests to the Twitter Platform.
Access level Read and write (modify app permissions) ←“Read and write”に変更
API key XXXXXXXXXXXXXXXXXXXXXXXXX (manage API keys)
Callback URL None
Sign in with Twitter Yes
App-only authentication https://api.twitter.com/oauth2/token
Request token URL https://api.twitter.com/oauth/request_token
Authorize URL https://api.twitter.com/oauth/authorize
Access token URL https://api.twitter.com/oauth/access_token
[API Keys][Application settings]
Keep the "API secret" a secret. This key should never be human-readable in your application.
API key XXXXXXXXXXXXXXXXXXXXXXXXX
API secret XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Access level Read and write (modify app permissions) ←“Read and write”に変更
Owner dukehide
Owner ID 000000000
[OAuth settings]
Consumer key: XXXXXXXXXXXXXXXXXXXXXXXXX
Consumer secret: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Access token: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Access token secret: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Application details]
Name dukehide ←アプリの名前(同じ名前は使用不可)
Description https://twitter.com/dukehide ←アプリの説明(何でもいい)
Website http://dukehide.dip.jp/ ←アプリのサイト(何でもいい)
Callback URL ←認証後に戻る際のURL(ここでは未設定)
[Organization]
Information about the organization or company associated with your application. This information is optional.
Organization None
Organization website None
[Application settings]
Your application's API keys are used to authenticate requests to the Twitter Platform.
Access level Read and write (modify app permissions) ←“Read and write”に変更
API key XXXXXXXXXXXXXXXXXXXXXXXXX (manage API keys)
Callback URL None
Sign in with Twitter Yes
App-only authentication https://api.twitter.com/oauth2/token
Request token URL https://api.twitter.com/oauth/request_token
Authorize URL https://api.twitter.com/oauth/authorize
Access token URL https://api.twitter.com/oauth/access_token
[API Keys][Application settings]
Keep the "API secret" a secret. This key should never be human-readable in your application.
API key XXXXXXXXXXXXXXXXXXXXXXXXX
API secret XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Access level Read and write (modify app permissions) ←“Read and write”に変更
Owner dukehide
Owner ID 000000000
[OAuth settings]
Consumer key: XXXXXXXXXXXXXXXXXXXXXXXXX
Consumer secret: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Access token: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Access token secret: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
“[Application details]”項目は適当に設定します。また、Access levelは必ず“Read and write”に変更します。
重要なのは“[OAuth settings]”項目のConsumer keyとAccess tokenですが、Access tokenに関してはdevページにて発行手続きをしないとデフォルトでは空欄です。この4つの文字列をメモし、利用するスクリプトのファイル内に記述します。
「プログラミングなんかできねぇよ!」という方は、ネットを探せばTweetするためのテンプレートデータがありますのでそれを利用するのが早いです。自分でコーディングする場合はOAuth認証が必要ですが、これを一から作るのは大変なので、これもネットで探します。恐らくGithub辺りにアップされているかと思います(例:twitteroauth)。
ここまで問題無ければ自分のTwitterアカウントにTweetできるはずです。後はcrontabを利用すれば定期的にTweetできるようになります。
# crontab -e
00 0 * * * wget --spider http://dukehide.dip.jp/chunchun/bot.php >/dev/null 2>&1
※↑(例)毎日0:00に実行(Tweet)します
00 0 * * * wget --spider http://dukehide.dip.jp/chunchun/bot.php >/dev/null 2>&1
※↑(例)毎日0:00に実行(Tweet)します
ちなみに当サーバーのフロントエンドはPHPを利用しています。PHPファイル内部でさらに条件を付けていますので、毎日呟くわけではありませんのであしからず (^^;)