【意外と難しい】Twitter API取得のサービス説明攻略方法

先日Railsを勉強し始め、『さぁWebアプリ作るぞ!』と意気込んでいたところ

ろっこ

そういえばTwitter API承認されるのって今2週間近くかかるらしい……

と風の噂が流れてきたので、先にAPIへの登録だけ済ませておこうと思ったのですが……

Twitter APIの取得が思ったより難しい!
参考 APIを作成するのに開発者承認が必要に!その手順を解説!https://af-method.com/

上記の記事を見ながらTwitter API取得しようとしていたら……

いやなんか変わってるんですけどぉ!

一番面倒な項目である『Describe in your own words what you are building』が箇条書きから番号の箇条書きに!!

従来であれば4つある質問にふんわりとした1文の回答で良かったのが、きちんと明白に4つの回答文を書かなければならなくなったのです。

そりゃ承認していく側はその方が楽だろうけど非英語圏の人間としては苦痛以外の何物でもない……

ググってみても最近の仕様変更なのか情報が見当たらないので記事にしてみました

お役に立てば光栄です:)

Twitter APIをなぜ取得したいのか

Describe in your own words what you are building

Please describe what you would like to build with Twitter’s APIs. Be sure to give detailed answers to the following questions. If the question does not apply to your solution, please explicitly state that. The more detailed the response, the easier it is to review and approve.

問題のこの文ですが何を言っているかと言うと

Twitter

自分の言葉で何がしたいのか言いやがれ

って訳です。

Twitter APIを利用する目的を書かなければいけないのですが、これを書くにはAPIで何が出来るかを抑えておかなければ当然書けません。

Twitter APIで出来る事

と言うわけで、まずはAPIで出来ることで汎用性の高そうな機能をかなりざっくりまとめてみました。

・OAuth(良くある『ツイッターでログイン』みたいなやつ)
・ユーザーのタイムラインの取得
・自分のフォロワー情報の取得
・指定したユーザーが相互フォローか調べる
・自分または指定したユーザーのフォロワー一覧の表示
・プロフィール画像の取得
・自分または指定した誰かのお気に入り登録を最新20件表示

詳しくはこちらを参照ください。
http://amsoftdev.blog.fc2.com/blog-entry-55.html
こちらのURLは古い情報なのでご自分でAPIのドキュメント等を訳すのがベストではあります、訳すのが面倒な方は上の記事をご覧ください

項目の翻訳

API利用の目的がハッキリしたら書いていきましょう。

1、What is the core use case, intent, or purpose for your use of Twitter’s APIs?

(TwitterのAPIを使用する目的は何ですか?)

【解説】
これに関しては解説の必要はあまりないので割愛。
上のTwitter APIで出来ることを見て、どれが当てはまるかを書けばいいかと思います。

【私の回答】
1. I want to use API to make it easier for users to register or log in to my service.(I want to use OAuth)
(OAuthで簡単にサービスにログイン出来るようにしたい)


2、Do you intend to analyze Tweets, Twitter users, or their content? If so, share details about the analyses you plan to conduct and the methods or techniques you plan to use.

(ツイート、Twitterユーザー等のコンテンツを分析する予定ですか?そうであれば、実施しようとしている分析や、使用する方法や手法についての詳細を教えてください。)

【解説】
これは『ファボられたツイートのランキング』や『最近のフォロワーの推移』などのWebAppのようなケースの場合、Yesで答えていけばいいかと思います。

【私の回答】
2. No. The reason for using the API is to lower the difficulty level for registration and login.
(いえ、使いません)


3、Does your use case involve Tweeting, Retweeting, or liking content? If so, share how you will interact with Twitter users or their content.

(あなたのAPI使用サービスには、ツイート、リツイート、またはライクなどのコンテンツを使いますか?もしそうなら、Twitterユーザーやそのコンテンツをどのように利用するか教えてください。)

【解説】
『質問箱』では質問箱に届いた質問をツイートにて答えると言った方式であるため、そのようなモデルの場合はこちらにYesで答えればいいのではないでしょうか。

【私の回答】
3. Yes, but my service only uses those contents when users share my service in Twitter.
(はい、サービスをツイッターにシェアする時だけ使います)


4、How will Twitter data be displayed to users of your solution? If you plan to display Twitter content off of Twitter, explain how and where Tweets and Twitter content will be displayed to users of your product or service. Will individual Tweets and Twitter content be displayed, or will information about Tweets or Twitter content be displayed in aggregate?

(API使用サービス内でTwitterのデータはユーザーにどのように表示されますか? TwitterのコンテンツをTwitter外のサービスで表示する予定の場合、製品やサービスのユーザーにツイートやTwitterのコンテンツを表示する方法と場所を説明してください。個々のツイートやTwitterのコンテンツが表示されるのでしょうか、またはツイートやTwitterのコンテンツに関する情報が集計されて表示されますか?)

【解説】
最近ツイッターのプロフィール文を拡張するサービスがちらほら見受けられますがそう言うサービスではTwitterのプロフィール画像やIDなど仕様しているケースが多いので、その旨を説明しましょう。2番と3番はYes/No方式の質問ですが今回はHowなので、説明文を書いてあげてください。

【私の回答】
4. Twitter ID(@example123) profile image, name of Twitter are displayed on the details screen or profile screen of the users.
(IDやプロフィール画像などをユーザー詳細画面で使います)

まとめ

というわけで以上をまとめると

1. I want to use API to make it easier for users to register or log in to my service.(I want to use OAuth)
2. No. The reason for using the API is to lower the difficulty level for registration and login.
3. Yes, but my service only uses those contents when users share my service in Twitter.
4. Twitter ID(@example123) profile image, name of Twitter are displayed on the details screen or profile screen of the users.

これで300字越えました。些細な情報も混ぜてカサ増しすればなんとかなりますね。

今日申請したので正しいかどうかは分かりませんが、Twitter公式からメールが届いて申請が通ればまたこの記事に追記しようかと思います。

注意
いかんせん先日Railsを学び始めて今日から開発し始めた新米なので、解説の部分にて私が見当違いな解釈をしていた場合、ご指摘いただければ幸いです:)

追記

報告が遅くなってしまいましたが、2日後に無事承認されました。仕事はや!