2017-10

スポンサーサイト

このエントリーをはてなブックマークに追加
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Google App Engine で OAuth認証に対応したTwitter botを作る

このエントリーをはてなブックマークに追加
という記事を書こうとして検索したら、書きたいことが既に書かれているページを発見してしまった。
なんで作る前にこれを見つけなかったかなぁ・・・
まあキモはbot作成者とアカウント利用者が同じで一人だけだったら、いちいちアクセストークンを取得しなおす必要がないため、直接ソースコードに埋め込んで使えるって所ですね。これによりOAuthの面倒くさい点がかなり楽になり、アクセストークンの設定だけでTwitterAPIを利用することが出来ます。

で、ここに書かれていない追加情報を書きたいと思います。
Twitter で連続で同じ内容をつぶやこうとすると、403コードが帰ってきてエラーとなります。
http://dev.twitter.com/doc/post/statuses/update
>A status update with text identical to the authenticating user's text identical to the authenticating user's current status will be ignored to prevent duplicates.

と書いてあるので大丈夫でしょう。
これは直前のつぶやきだけではなく、ある程度前のつぶやきと同内容をつぶやいても403が帰ってきてだめなようです。ただ、別のユーザーに対してつぶやくmention(@ユーザー名)をいれるとつぶやき内容が変わるためbotが発言しまくるという現象が起こりえるので注意する必要があります。

連続でつぶやく場合にですが、試した結果10秒くらいは間を開けた方がよさそうです。5秒は短すぎます。

cron.yaml を使って、定期的にボットプログラムを動かしたい場合ですが、every 12 hours とか書くと12時間毎に起動とか出来ますが、もっと細かい指定もできます。が、この方法は日本語ページには書いてありません。
たとえば日中(9:00-17:00)は2時間置きに動かしたいが夜はべつにいい、という書き方だと次のようになります。

every 2 hours from 0:00 to 8:00


from ~ to ~ でcronの時間帯を指定できます。注意点としては、UTC/GMT(標準時)で指定しなきゃいけないので、日本の時刻より9時間引く必要があります。
参考:英語ページ

同様にGoogle App Engine内で、現在時刻を取得して処理する場合も注意が必要です。
それはこの記事が参考になるでしょう。

で作成中のbotですが、2~3日様子を見て安定動作してそうなら公開したいと思います。麻雀格闘倶楽部に関係してるbotです。まぁ、私が既にフォローしてるんで分かる人にはわかるかもしれないですけどね。
関連記事
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

http://fantakeshi.blog50.fc2.com/tb.php/8-092b4184
この記事にトラックバックする(FC2ブログユーザー)

«  | ホーム |  »

プロフィール

fantakeshi

Author:fantakeshi
Web:ここ
Twitter ID:fantakeshi
自作物やプログラムやまとまった技術的メモについて

RSSに追加

自作物

最新記事

Twitter

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

自作物 (26)
一般 (1)
将棋 (12)
BONANZA (1)
ponanza (1)
HTML5 (2)
Chrome (1)
WebAPI (1)
Webサイト (2)
プログラム (2)
Tips (1)

カウンター

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。