Twitterの新しいアプリを作ろうとAPI利用申請したら規約が変わっていて手間がかかったので手順を紹介

2018年12月27日プログラミングツイッター

Twitter Apps (https://developer.twitter.com/apps/)にログインしたら、こんなメッセージがありました。

As of July 2018, you must apply for a Twitter developer account and be approved before you may create new apps. Once approved, you will be able to create new apps from developer.twitter.com.

For the near future, you can continue to manage existing apps here on apps.twitter.com. However, we will soon retire this site and consolidate all developer tools, API access, and app management within the developer portal at developer.twitter.com. You will be able to access and manage existing apps through that portal when we retire this site.

【引用元】https://developer.twitter.com/apps/

Google翻訳にかけると、以下のような感じです。

2018年7月現在、新しいアプリを作成する前に、Twitterデベロッパーアカウントを申請して承認を受ける必要があります。 承認されると、developer.twitter.comから新しいアプリを作成することができます。

近い将来、apps.twitter.comで既存のアプリを引き続き管理できます。 しかし、すぐにこのサイトを廃止し、developer.twitter.comの開発者ポータルにすべての開発ツール、APIアクセス、およびアプリケーション管理を統合します。 このサイトをリタイアすると、そのポータルを介して既存のアプリケーションにアクセスして管理することができます。

頑張って申請してみましょう。

注意

登録するアカウントは事前に電話番号を登録しておく必要があります。

Interested in a developer account?

ここは登録するアカウントを確認して、そのまま「continue」で大丈夫です。

Who are you requesting access for?

1. I am requesting access for my organization (私は自分の組織へのアクセスを要求しています)
2. I am requesting access for my own personal use (私は自分の個人的使用のためのアクセスを要求しています)

【引用元】https://developer.twitter.com/apps/

私は「I am requesting access for my own personal use」を選択しました。

Account nameを記入し国を選択してcontinue。

Tell us about your project

What use case(s) are you interested in?

私は「Student project / Learning to code」を選択しました。

Describe in your own words what you are building

何を作りたいのかを、1、2、3、4、に従って自分の言葉で書いてください。詳細の文章をコピペしたかったのですが、できませんでしたので文章の掲載は割愛します。300文字以上書く必要があります。多い……。

ざっくりと、こんな感じです。

  1. Twitter APIを使う目的。
  2. ツイートやユーザやコンテンツの詳細を分析する場合は、その詳細な分析方法や技術について。
  3. ツイート、リツイート、いいねを使う場合は、ユーザはどのように操作するか。
  4. ツイッターのコンテンツを表示する場合はユーザにどのように表示するか。

Will your product, service, or analysis make Twitter content or derived information available to a government entity?

あなたの製品、サービス、または分析は、Twitterコンテンツまたは派生情報を政府機関に提供しますか?

これはNoを選びます。

Continue。

Read and agree to the Terms of Service

スクロールして全文を読んで、

By clicking on the box, You indicate that you have read and agree to this Developer Agreement and the Twitter Developer Policy, additionally as its relates to your display of any of the Content, the Display Requirements; as it relates to your use and display of the Twitter Marks, the Twitter Brand Assets and Guidelines; and as it relates to taking automated actions on your account, theAutomation Rules. These documents are available in hardcopy upon request to Twitter.

【引用元】https://developer.twitter.com/apps/

のチェックボックスにチェックを入れます。

もう一つはメルマガですのでご自由にどうぞ。

Submit Application。

メールが届くので、メール内のボタンをクリックしてメール認証します。その後、アプリの審査がありますので、審査が終わるのを待ちます

メールの返信がきました

Thanks for applying for access!
In order to complete our review of your application, we need additional information about your use case. The most common types of information that can help expedite our review include:
The core use case, intent, or business purpose for your use of the Twitter APIs
 
If you intend to analyze Tweets, Twitter users, or their content, share details about the analyses you plan to conduct and the methods or techniques
 
If your use involves Tweeting, Retweeting, or liking content, share how you will interact with Twitter users or their content
 
If you’ll display Twitter content off of Twitter, explain how and where Tweets and Twitter content will be displayed to users of your product or service, including whether Tweets and Twitter content will be displayed at row level or aggregated
 
To provide this information to Twitter, reply to this email.
Thank you for your interest in building on Twitter.

【引用元】Twtter開発からのメール

Google翻訳だと以下のような感じです。

アクセスのために適用するためのありがとう!
アプリケーションの我々のレビューを完了するために、我々はあなたのユースケースに関する追加情報を必要とします。我々のレビューを迅速に役立つ情報の最も一般的なタイプは、次のとおりです。
コアユースケース、意図、またはツイッターのAPIの使用のための事業目的
 
あなたが実施する予定の分析や方法や技術についてのツイート、Twitterユーザー、またはそのコンテンツ、共有の詳細を分析する場合
 
あなたの使用はつぶやき、Retweeting、または好きコンテンツが含まれている場合、あなたはTwitterユーザーまたはそのコンテンツを操作する方法を共有します
 
あなたは、TwitterのオフTwitterのコンテンツを表示します場合は、ツイートやTwitterのコンテンツは、行レベルまたは集約表示されるかどうかを含めて、どのように、どこのツイートやTwitterのコンテンツは、あなたの製品やサービスのユーザーに表示されます説明
 
ツイッターにこの情報を提供するために、このメールに返信。
Twitterでの構築にご関心をいただき、ありがとうございます。

300文字ギリギリしかかかなかったら、もっと詳しく書いて返信してね!ってことのようです。しかたがないので、頑張って書き直してメールを返信しました。

返信がきました。

Thank you for your response.
At this time, we still do not have enough specific information about your intended use case to complete review of your application. As a reminder, we previously requested additional information about:
The core use case, intent, or business purpose for your use of the Twitter APIs
 
Note that “business purpose” in this context includes uses not necessarily connected to a commercial business. We require information about the problem, user story, or overall goal your use of Twitter content is intended to address.
 
If you are a student, learning to code, or just getting started with the Twitter APIs, please provide details about potential projects or areas of focus.
 
If you intend to analyze Tweets, Twitter users, or their content, share details about the analyses you plan to conduct and the methods or techniques
 
Note that “analyze” in this context includes any form of processing performed on Twitter content. Please provide as detailed and exhaustive an explanation as possible of your intended use case.
 
If your use involves Tweeting, Retweeting, or liking content, share how you will interact with Twitter users or their content.
 
If you’ll display Twitter content off of Twitter, explain how and where Tweets and Twitter content will be displayed to users of your product or service, including whether Tweets and Twitter content will be displayed at row level or aggregated
 
Where possible, please share links to illustrations and/or sample work products. Note that we can’t view attachments.
 
To provide this information to Twitter, reply to this email. Failure to provide the necessary information will result in the rejection of your application.
Thank you for your interest in building on Twitter.

【引用元】Twtter開発からのメール

Google翻訳

ご回答いただきありがとうございました。
この時点で、我々はまだあなたのアプリケーションのレビューを完了するために、あなたの意図したユースケースについての十分な具体的な情報を持っていません。リマインダとして、我々は以前に関する追加情報を要求しました。
コアユースケース、意図、またはツイッターのAPIの使用のための事業目的
 
この文脈における「事業目的」とは、必ずしも、商業ビジネスに接続されていない用途が含まれていることに注意してください。私たちは、Twitterのコンテンツのご利用が対処することを意図している問題、ユーザーストーリー、または全体的な目標についての情報を必要としています。
 
あなたがコードに学習、または単にTwitterのAPIを使い始める、学生であれば、潜在的なプロジェクトや重点分野に関する詳細をお知らせください。
 
あなたが実施する予定の分析や方法や技術についてのツイート、Twitterユーザー、またはそのコンテンツ、共有の詳細を分析する場合
 
この文脈において、「分析」がTwitterのコンテンツに対する処理の任意の形態を含むことに留意されたいです。使用目的の例できるだけ詳細かつ網羅的な説明を記入してください。
 
あなたの使用はつぶやき、Retweeting、または好きコンテンツが含まれている場合、あなたはTwitterユーザーまたはそのコンテンツを操作する方法を共有しています。
 
あなたは、TwitterのオフTwitterのコンテンツを表示します場合は、ツイートやTwitterのコンテンツは、行レベルまたは集約表示されるかどうかを含めて、どのように、どこのツイートやTwitterのコンテンツは、あなたの製品やサービスのユーザーに表示されます説明
 
可能であれば、イラストおよび/またはサンプルの作業成果物へのリンクを共有してください。我々は添付ファイルを表示することができないことに注意してください。
 
ツイッターにこの情報を提供するために、このメールに返信。必要な情報を提供するために、失敗は、アプリケーションの拒絶になります。
Twitterでの構築にご関心をいただき、ありがとうございます。

このメールの返信で審査通らなかったら、リジェクト(突っ返す)とのことです……。

「【Twitter-API】申請~審査~承認まで 私でも承認されました。(2018年10月)」

を参考にすると、

1.コアユースケース、意図、またはツイッターのAPIの使用のための事業目的
2.ツイート、Twitterユーザー、またはそのコンテンツを分析する場合は、実施しようとしている分析や方法やテクニックの詳細を共有してください
3.あなたの使用がTweeting、Retweeting、または好きなコンテンツを含む場合、あなたがTwitterユーザーやそのコンテンツとやりとりする方法を共有する
4.TwitterからTwitterのコンテンツを表示する場合は、TweetsやTwitterのコンテンツが行レベルで表示されるのか、集計されるのかなど、製品やサービスのユーザーに表示される方法と場所を説明します

【引用元】 【Twitter-API】申請~審査~承認まで 私でも承認されました。(2018年10月)

ということらしいです。このサイトを参考に書き直しました。

自動でツイートするだけのbotの方は、

  1. あらかじめ作成しておいた特定のツイートを特定の時間にツイートするためにAPIを利用します。
  2. ユーザ自身のツイートを分析し、これから自動でツイートしようとしている内容が24時間以内に既にツイートされていないかを分析します。将来的には、ユーザがフォローされた時に自動でフォローを返す機能、@ツイートの中に特定の単語を含む場合は自動で特定の@ツイートをする、ユーザのタイムラインに特定の単語が含まれている場合は自動で特定の@ツイートをするという機能も追加します。
  3. ユーザ自身のTwitterアカウントで、ユーザ自身が自動化の間隔の時間設定を行い、自動でツイートされた内容(@ツイートを含む)と自身でフォローを返すことをTwitterでのみやりとりします。
  4. これらの機能の動作の結果は全てTwitter上でのみ公表します。

新しく作りたい、「いいね」削除ツールの方は、

  1. ユーザのLikesを削除の指示があったときに、そのユーザのLikesを自動で一括削除するためにAPIを使用します。
  2. ユーザのLikesを分析対象とします。ユーザの全Likesを取得し、Likesされた古いツイートから順番にLikesを200件削除します。ユーザが望んだ場合は@ツイートのLikesは削除しない機能を持ちます。
  3. ユーザはwebページ上でのみ、このシステムとのやり取りをします。ユーザはアプリケーション認証をし、Likesの削除をweb上から指示します。
  4. ユーザのLikesの削除完了の旨をwebページ上でのみ、ユーザに対してのみ公表します。

という感じで。

メールをほぼ同時に送信したら、「いいね」削除ツールのほうは5分以内に申請が通りました。本当に審査した???

自動でツイートするだけのbotの方はメール送信後2時間後くらいに以下の内容の返信が来ました。

Thanks for applying for access!


It looks like your proposed use case may be in violation of one or more sections of the Developer Agreement and Policy, Automation Rules, and/or the Twitter Rules.

As a next step please review these policies as they relate to your use case. Then, respond to this email with an updated use case that is in full compliance with Twitter policy.

Thank you for your interest in building on Twitter.

【引用元】Twtter開発からのメール

Google翻訳

アクセスのために適用するためのありがとう! 

あなたの提案のユースケースは、の1つ以上のセクションに違反していてもよいように見えデベロッパー契約とポリシー 、自動化ルール 、および/またはTwitterのルール 。 

彼らはあなたのユースケースに関連して次のステップとして、これらのポリシーをご確認ください。その後、Twitterのポリシーに完全に準拠している更新ユースケースで、このメールに返信。 

Twitterでの構築にご関心をいただき、ありがとうございます。

審査は通りませんでした。これって、これから自分でサーバ借りてキャラクターbotを作る人は正直に書くと審査通らないってことですね。

期間をあけて、別の内容でまた申請しようと思います。審査が通りませんでした、というメールが来た後も、developerのほうはまだ審査中のままになっていました。

3日くらい経っても保留中のままなので、

As a next step please review these policies as they relate to your use case. Then, respond to this email with an updated use case that is in full compliance with Twitter policy.

【引用元】Twtter開発からのメール

次のステップとして、ユースケースに関連するこれらのポリシーを確認してください。 その後、Twitterのポリシーに完全に準拠している最新のユースケースを使って、このメールに返信してください。

ということなので、

  1. あらかじめ作成しておいた特定のツイートを特定の時間に定期的にツイートするためにAPIを利用します。
  2. ーザ自身のツイートを分析し、これから自動でツイートしようとしている内容が24時間以内に既にツイートされていないかを分析します。Twitterの自動化ルールに違反する恐れのある処理は削除しました。
  3. ユーザ自身のTwitterアカウントで、web上からユーザ自身がツイート内容の設定と自動化の間隔の時間設定を行い、自動でツイートされた内容をTwitterでのみやりとりします。
  4. これらの機能の動作の結果は全てTwitter上でのみ公表します。

ということを英語で書いて返信しました。

約2時間後、承認しましたとのメールがきました。

今回の反省点は、事前にネットで情報を集めなかったことですね。事前に調べてあれば、もう少しスムーズに申請できたかも。

参考記事

【Twitter-API】申請~審査~承認まで 私でも承認されました。(2018年10月)

2018年12月27日プログラミングツイッター

Posted by ナオ Nan N.