A note of a person who is learning programming, SakaTaQ

ロック好きのプログラミング学習

Twitter botの作成に向けてその1(開発者アカウントの申請)

Twitter botを触ってみたいと思った背景について

ブログを書いた際にTwitterに自動でブログのリンクをツイートするアプリを実装したいと考えていました。はてなブログではTwitterアカウントと連携することで投稿後のページにてそのままツイートすることができます。
これは他のこと(例えば、自分でブログサイトを解説した際など)にも応用が効くので、今回は目先でTwitterを利用していることを理由としています。

そんなわけで、いつも通り目的が曖昧ですが手順を書いていきます。(6/24/'20 時点の方法です)

自分が使っているアカウントを「Developer申請」する

新しいアカウントを作成するのではなく、現在使用しているアカウントに開発者として権限を持たせる為の申請を行う。
Twitter Developerにアクセスし、サインイン(自分の場合はブラウザでログイン状態になっていたのでここは飛ばしてます)
サインインしたらアカウントアイコン左にある「Apply」をクリックする。
変遷先のページで「Appry for a developer account(開発者用アカウントを申請する)」をクリック。

使用中のアカウントに電話番号が登録されてない場合はAdd a valid phone numberで電話番号を登録する必要があります。自分は既に登録済みだったので、この登録用の画面は出ていません。

開発者アカウントの使用する理由を入力

f:id:saka20taku43:20200624144651p:plain
今回はbot作成が目的のため、「BOTを作る」を選択して次へをクリック。一つしか選べないようです。

選択すると「This is you, right?(これはあなたですか?)」という確認画面が出てきます。
自分のアカウントの情報が出てきていれば大丈夫です。
ここでも入力する項目があり

  • どこの国に住んでいるか(セレクトボックス)
  • なんと呼ぶか(ニックネームを手入力)
  • Twitter APIの更新についてメールを送る必要があるか(チェックボックス)

など出てきて聞いてきますので入力して次へ。

その次の画面で利用目的、理由を入力

In your words(自分の言葉で)」「In English, please describe how you plan to use Twitter data and/or APIs. The more detailed the response, the easier it is to review and approve.(英語で、TwitterデータやAPIをどのように使用するかを説明してください。応答が詳細であるほど、レビューと承認が容易になります。)」とあります。
...正直単語が軽く分かる、読める程度の英語力しかない自分ではこれが一番しんどい。
自分が申請を行う動機を記述し、Google翻訳を使用して書いていきます。

  1. When I wrote what I learned on a blog(https://seramay419plog.hatenablog.com/), I manually entered the link destination in Twitter and tweeted it, but I want to automate it using the Twitter API.
    (学習した内容をブログ(https://seramay419plog.hatenablog.com/)に執筆した際に、Twitterに手動でリンク先を入力してツイートしていますが、Twitter APIを使用して自動化したい。)
  2. Considering the frequency of current tweets, the maximum frequency of automatic tweets is about twice a day.
    (現在のツイートの頻度から考えると、自動ツイートの頻度は、最大で1日2回程度です。)
  3. The reason why I am disseminating technology on the blog is that I think that the information on this blog will be useful if someone who is learning as an engineer tries to learn the same content.
    (ブログで技術発信をしている理由としては、これからエンジニアとして学習を始める方が同じ内容を学習しようとしたときに、このブログでの情報が役に立つと思っているからです。)

※ 3番に関しては無くても特に良いみたいなのですが、ブログ発信の目的などを書いておくとストーリーが分かりやすく、承認されやすいとのことです。
自分の場合は目先の目的は備忘録ですが、最終的に見返す人が自分だけではないかもしれないので、このように書いてます。綺麗事とか言わないでね、お願い!

さらに詳細な質問に答えていきます

Are you planning to analyze Twitter data?(Twitterデータを分析する予定ですか?)」
Twitterデータを取得し、分析するか聞いてるようです。トレンドのある内容を取得して学習のモチベーションの一つにしたいと考えているのでYES。100文字以上で理由を説明。
=> Since I am studying programming, I would like to analyze tweets of the most popular programming languages ​​and other technologies used by users and use them in my next learning.
(プログラミングの学習をしているので、ユーザーが利用している技術で最も人気のあるプログラミング言語などのツイートを分析し、次の学習に活かせるようにしたい。)

Will your app use Tweet, Retweet, like, follow, or Direct Message functionality?(アプリはツイート、リツイート、いいね、フォロー、ダイレクトメッセージ機能を使用しますか?)」
ツイートを自動化したいので当然YES。これも100文字以上。
=> Every time you post what you learned on the blog, you will tweet the link of that article, so the application uses the tweet function
(学習した内容をブログに投稿するたびに、その記事のリンクをツイートするので、アプリではツイート機能を利用します)

Do you plan to display Tweets or aggregate data about Twitter content outside of Twitter?(ツイッターを表示したり、ツイッター以外のツイッターコンテンツに関するデータを集計したりする予定はありますか?)」
次に学習する内容についてトレンドのある言語や技術などを分析するのでこれもYES。同様に書いていきます。
=> From the data collected on Twitter, we will display the analysis result on the blog in order to incorporate the trending technology as a keyword into the road map as the content to be learned next.
(Twitterで収集したデータを基に、分析結果をブログに表示し、トレンドテクノロジーをキーワードとし、次に学ぶ内容としてロードマップに組み込んでいきます。)

Will your product, service or analysis make Twitter content or derived information available to a government entity?(あなたの製品、サービスまたは分析は、政府機関がツイッターのコンテンツまたは派生情報を利用できるようにしますか?)」
流石にこれはないのでNO。

一通り入力したら

Is everything correct?(全て正しいですか?)というページに出ます。
問題ないようであれば「Look good!」をクリック。

次に進むと確認して同意してくださいというページに進みます。
開発者契約とポリシー、よくある利用規約みたいなものですね。
チェックボックスを押して同意したら「submit application」が押せるようになるのでクリックする。
f:id:saka20taku43:20200624173204p:plain
登録しているメールアドレスにメールが届き、確認してくださいとあるので「Confirm your Email」をクリック。
これで申請完了です。

後は審査が通ればAPIを利用した開発ができるようになります。
審査結果が届くには1日ほどかかるそうですが、説明文などを適当に書いたりすると書き直しを要求されたり、最悪2度と申請するな!という忠告、警告文が返ってくることもあるのだそう...。

とのことで戦々恐々としていたですが...

自分は「confirm your Email」を押した瞬間にブラウザが立ち上がり、申請が通...ったのかな、これは。
f:id:saka20taku43:20200624174719p:plain

何はともあれ開発が進められるようで安心しました😅


参考にさせていただいた記事
【2020年版】Twitter APIの申請が1時間で完了した英文を申請方法と共に徹底解説!

今回は技術的な操作や記入は特になかったので公式ヘルプは見なかったですね...。


次回はGASを利用したBOTの作成について書いていこうと思います。

したらな❗️ 👋