2018年8月16日 | ブログ記事

2018年8月16日は何の日?

nagatech

この記事はtraP夏のブログリレー20188月16日(木)の記事です。


はじめに

みなさん、夏休みいかがお過ごしでしょうか。nagatechです。
僕はdアニメストア for prime videoを契約してアニメにどっぷりつかった夏休みを送っています。(申し訳程度の日記要素)


さて(唐突)、みなさんにクイズですが、2018年8月16日は何の日でしょう??

.


..


...


....


.....


答えは、TwitterのUserStreamsAPIの廃止日です。簡単ですね!!!!!


というわけで、いちBot製作者としてTwitterBot開発の今後について語ってみようかなと思います。

そもそもUserStreamsAPIとは

ざっくり言うと、「何もしなくても勝手にTLのツイートが取得できる機能」です。

開発者的にこのAPIのなにが嬉しかったかと言うと、

などの恩恵がありました。

Twitterの非公式クライアントにはこのUserStreamsAPIを使って、いちいちTL更新をしなくてもツイートが取得できるようにしていたクライアントもありました。


しかし、Twitter社はこのUserStreamsAPIを2018年8月16日に廃止することを決定しました。

各非公式クライアントはその対応に追われ、ストリーミング接続の機能を廃止したりサービス自体を終了することになりました。

(えっ...ツイやつのサービス提供終了するのか...僕一時期使ってたのに...)


UserStreamsAPIは非公式クライアントだけでなくUserStreamsAPIを使ったBotにも影響が及びました。

かくいう自分もいくつかのBotにUserStreamsAPIを使っていたので、Botの稼働を停止せざるを得ない状況になりました。

(8月16日に廃止されるので8月17日以降動かなくなるという意味)

じゃあこれからどうするの

自分の作ってるBotは別にリアルタイム更新しないといけないわけではないので、8月16日以降も提供を続けるREST APIを使って無理やり1分に1回呼び出すようにして何かTLに更新があったら処理という方法を使ってBotの運用を続けていこうと思います。

しかし、UserStreamsAPIの一番の利点であった制限なしにTLを読み込むことができるという機能がなくなった影響でこれからの開発が大幅に制限されることになるのは事実です。

そこでTwitter社は2018年8月16日にUser Streams APIを廃止する代わりに新たにAccount Activity APIを提供開始することを発表しています。

Account Activity APIとは

UserStreamsAPIは何もしなくても情報が受け取れるAPIでしたが、AccountActivityAPIはある特定の操作(Activity)があったときに情報のPOST送信が行われる(Webhook)というAPIです。

ここでいう特定の操作とは、

などです。

例えば、誰かが自分のツイートをいいねすると、
「○○さんが△△というツイートをいいねした」
という情報がTwitterからこちらが指定したURLに届くといった感じです。

UserStreamsAPIと比較したメリットデメリットについてですが、

メリット

デメリット

などがあります。

特に、TLは読み込めないということから、UserStreamsAPIの代わりにはならないということでだいぶ不評のようです。


ちなみにDeveloper Accountがないと今後開発を続けていくことが困難になります。(現状Developer Accountがないと新しいアプリが作成できないため)

今後TwitterBot作りたいと思ってる人はまずはDebeloper Accountを作成することがまず最初にやることになります。

最後にDeveloper Accountの取得方法について説明したいと思います。

Devoloper Account 取得方法

まず、https://developer.twitter.com/ にアクセスします。
(ちなみに今まではhttps://apps.twitter.com/ でアプリを作成することができました。しかし、今は新しいアプリが作成できなくなっているうえに、今後使えなくなることがお知らせされてます。)

---6

こんなページに飛ぶと思います。

右上のApplyを押します。


---7

「Apply for a developer account」を押します。


0816-2

「Continue」を押します。(アカウント名は気にしないでください...)


0816-3

「I am requesting access for my own personal use」を選択したのちに自分の名前を「Japan」を選択して「Continue」


0816-4

Developer Accountを取得する目的を300単語以上の英語で記入します。

できたら下の質問のYes/Noどちらかを選択して「Continue」


0816-5

すると登録したメールアドレスにこのような認証メールが届くので、「Confirm your email」を押します。


これで申請は終了です!
しばらく待つとTwitter社から審査の結果が送られてきます!



...とはならず、いつまで待っても審査結果は届きません。

何故かと言うと、今まで作成したアプリ(Botなど)の個別の説明文を書いてないからです。
次に作成したアプリの個別の説明文を書きましょう。

先ほどのhttps://developer.twitter.com/ にアクセスします。
すると「Apply」となっていた部分が自分の名前になっているはずです。
そこを選択して「Apps」を押します。


0816-6

作成したアプリの一覧に飛びます。
(どこかで見たことあるアプリ名だなあ...)

「Details」を押します。


0816-7

詳細画面に飛びます。
「Edit」で編集しましょう。


必要事項を埋めていくと最後にアプリの説明文を記入する欄があります。

0816-8

100単語以上の英語で書く必要があります。


同じ作業を自分が持っているすべてのアプリにする必要があります。考えるだけでもつらい。


0816-9

不備があると、このようにメールが飛んできます。
要約すると、「もうちょっと詳しいことをこのメールに返信してね」ってことです。



これらの作業を繰り返していってようやくTwitter社からDeveloper Account取得の許可が下りるということです。

おわりに

とにもかくにも、この記事が投稿された2018年8月16日は良くも悪くもTwitterにとって大きな転機となる日でした。

ちなみにこんな記事を書いておいて、僕はまだDebeloper Accountを取得できていません。


世知辛いのじゃー

この記事を書いた人
nagatech

ながてちです Rubyが好きです 最近興味がWeb寄り

この記事をシェア

このエントリーをはてなブックマークに追加

関連する記事

2018年9月24日
夏休みブログリレー エンディング
Yosotsu
2018年9月23日
ゲームを作るものを作っています
Sigma1023
2018年9月22日
数理計算の講義を活かして震度計を作った話
RLook
2018年9月20日
私のinit.vimを紹介します(+おまけ)
xecua
2018年9月19日
ゲームの敵の動きを実装した話
mds_boy
2018年9月18日
楽して絵っぽいものを作る
Kejun

活動の紹介

カテゴリ

タグ