スキルアップしたい

Twitter APIに登録してみた~申請に通過したやり取りを掲載~

2019年11月26日

  1. HOME >

Twitter APIに登録してみた~申請に通過したやり取りを掲載~

2019年11月26日

Twitter APIに登録してみた~申請に通過したやり取りを掲載~

 

TwitterのAPIを利用して、pythonで自動いいねをしてみようと思い、APIを申請してみました。

ネットを見るとAPIの申請はかなり審査が厳しいとあったのでドキドキしていましたが、結論として記事を執筆している時点では即時okが出ました。

 

本記事の信頼性

 

大手IT企業でデータサイエンスを活用した分析業務に携わっています。

元営業という経歴を活かしながら、金融・製造・流通業のお客様を中心にAI活用コンサルや定着支援・人材育成の支援をしたり、講演や執筆活動など幅広く活動しています。

ヤエリ(@yaesuri_man

普段のお客様との会話の中でよく話題に出るこのテーマ。

技術畑ではないものの、長らく現場の実務に携わってきた視点は喜ばれることが多いです。

 

Twitter APIでできること

 

  • ツイートデータの取得
  • 自動いいねや自動フォロー
  • ツイートの検索

 

などなど。

詳細は以下のページに詳しく記載されています。

 

 

Twitter APIの申請方法

 

Twitter Developerのページにアクセス

 

まずはhttps://developer.twitter.com/ にアクセスします。

 

 

 

twitterにログインしていない場合は、右上の「Sign in」からログインしましょう。

 

Apply をクリック

 

画面左上の「Developer」を選択して、

 

 

 

展開されたメニューの下の方の「Apply」を選択。

 

 

 

Apply for a developer accountを選択

 

 

APIを利用する用途を選択

 

「Get access to the Twitter API」のページが開くので、この中からtwitter APIを利用する用途を選択しましょう。

 

 

私はただの勉強目的なので、下の方の「Student」を選択しました。

用途を選択すれば、画面右下の「Next」を押せるようになります。

 

自分の情報を入力

 

 

自分の情報を入力します。

 

What country do you live in?(住んでいる国)

 

住んでいる国の選択です。

「Japan」を選択。

 

What would you like us to call you?(名前)

 

「何と呼べば良いか?」

twitterアカウントと同じく、「yaesuri_man」としました。

 

Send me product updates & occasional promotional emails about the Twitter API.(アップデート情報等のメール配信)

 

特にメールによるニュース配信は不要なので、チェック無し。

 

twitter APIの利用用途を入力

 

 

このあたりから若干難易度が上がってきます。

英語でtwitter APIの用途を説明しないといけません。

かつ、「最低200文字」などの制限もあります。

一つずつ見ていきましょう。

 

In your words(あなたの言葉で)

 

 

  • 英語で、twitter APIの用途を説明して下さい
  • 学生の場合は、学校名や教授の名前を記載して下さい(200文字以上で)

 

200文字以上の英語だと結構大変だと思いますが、Google翻訳などを利用して頑張って書いてみて下さい!

ちなみに私は以下のように申請しました。

 

I'm office worker in Japan .
And now I'm learning programming , python & API technology & machine learning .
So I want to use twitter API and making bot and more .
I want to make an auto reply bot , auto like bot and more .

 

The specifics(詳細)

 

 

  • 次の各質問に出来るだけ詳細に答えて下さい。
  • そうしないと、対応が遅れたり、最悪は否認される可能性がありますよ!

 

だそうなので、真面目に詳細に記載しましょう。

 

Are you planning to analyze Twitter data?

 

「twitterデータの分析を予定していますか?」

→分析を行う予定は無いため、「No」を選択しました。

 

Will your app use Tweet, Retweet, like, follow, or Direct Message functionality?

 

「アプリでツイート、いいね、フォロー、ダイレクトメッセージ機能を使用しますか?」

私はこの項目のみ「Yes」を選択しました。

回答した内容は以下の通りです。

 

As I said before , I'm learning programming , python & API technology & machine learning .
So I want to make a bot .

 

Do you plan to display Tweets or aggregate data about Twitter content outside of Twitter?

 

「tweetの表示や、集計を計画していますか?」

→「No」。

 

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

 

「あなたの製品や分析結果は、政府機関と関係ありますか?(翻訳に自信無し・・・)」

→良く分からないですが「No」。

 

確認画面

 

 

確認画面が出てきますので、正しければ右下の「Looks good!」を押します。

 

Developer Agreement(利用規約)

 

 

利用規約が表示されます。

確認したら、画面下のチェックボックスにチェックを入れ、右下の「Submit Application」。

 

申請完了

 

記事公開時点の2019年時点ではこのタイミングで即時に認証コードを発行されたのですが、2021年に再度申請してみたところ、メール認証が走った後に「審査が開始されました」との表示になりました。

(審査のプロセスを経るようです)

 

 

日本の祝日中ではありましたが、約24時間後、以下のような返信が。

どうやら私が申請した内容は規約違反とのことで、規約に準拠したユースケースを改めて返信して欲しいとの事でした。

 

 

以下のサイトを参考に、こんな感じで返信してみました。

 

Dear Sir/Madam,

Thank you for your reply.

1.I want to use Twitter API to automatically display articles posted from my website onto Twitter timeline.
2.I want to automatically display them on the Twitter timeline once a day.
3.Even if I use Twitter's API to get contents from Twitter, I will not display them outside of Twitter.

Best regards,

 

 

すると約1時間後の深夜0時、こんどは日本語でより詳細の内容を送るよう連絡が来ました。

 

ご利用ありがとうございます。

Twitterプラットフォームでの開発に関心をお寄せいただきありがとうございます。

お客さまの開発者アカウント申請の審査を完了する前に、お客さまの使用目的についての詳細情報のご提供をお願いします。

審査で重視されるのは以下のような情報です。

  • Twitter APIを使用する中核的な使用目的、意図、ビジネス上の目的。
  • ツイート、Twitterアカウント、またはそのコンテンツを分析する場合は、実施する分析の内容と手法または技術について詳しくお教えください。
  • ツイート、リツイート、いいねの使用が含まれる場合は、Twitterアカウントまたはそのコンテンツに対してどのような操作を行うのかをお教えください。
  • TwitterコンテンツをTwitter以外で表示する場合は、お客さまの製品またはサービスで、ツイートおよびTwitterコンテンツがどこにどのように表示されるかを、行レベルの表示か集計表示かを含めてご説明願います。

上記の詳細情報を記載のうえ、このメールにご返信ください。返信をいただきましたら、審査を続行いたします。ご理解、ご協力いただければ幸いです。

よろしくお願いいたします。

Twitter

 

先程英語で申請した内容と矛盾のないように、すかさず以下のように返信。

 

ご担当者様

お世話になっております。

先程英文でざっとご説明差し上げましたが、日本語で詳細をお送りします。
インラインにて失礼致します。

> Twitter APIを使用する中核的な使用目的、意図、ビジネス上の目的。

現在個人ブログを運営しております。
twitterからの検索流入を期待し、twitter APIを利用しブログに投稿した記事のリンクをtwitterにも自動で投稿できるようにしようと考えております。

> ツイート、Twitterアカウント、またはそのコンテンツを分析する場合は、実施する分析の内容と手法または技術について詳しくお教えください。

分析の予定はございません。

> ツイート、リツイート、いいねの使用が含まれる場合は、Twitterアカウントまたはそのコンテンツに対してどのような操作を行うのかをお教えください。

twitterアカウントは、######## です。
前述の通り、ブログへ投稿したタイミングで記事リンクを自動でツイートすることを考えております。
リツイートやいいねの使用の予定はございません。

> TwitterコンテンツをTwitter以外で表示する場合は、お客さまの製品またはサービスで、ツイートおよびTwitterコンテンツがどこにどのように表示されるかを、行レベルの表示か集計表示かを含めてご説明願います。

コンテンツをtwitter以外で使用する予定はございません。

ご確認の程どうぞ宜しくお願い致します。

 

15分後、深夜にもかかわらず即返事が。

太字部分は実際に太字となっていたものです。

ご利用ありがとうございます。

このたびはご返信いただきありがとうございました。お手数をおかけしますが、お客様のTwitter開発者アカウント申請の審査にあたり、より詳しい情報をご提供いただけますようにお願いします。

必要な情報は以下のとおりです。

  • Twitter APIを使用する中核的な使用目的、意図、ビジネス上の目的。
    ここでいう「ビジネス上の目的」には営利事業に必ずしも関係しない用途も含まれますのでご注意ください。Twitterコンテンツを使用して対応しようとしている問題、ユーザーストーリー、または全体的な目標についての情報が必要です。
    学生、コーディング学習者、またはTwitter APIの初心者であるお客様は、実施予定のプロジェクトまたは重点分野の詳細をご提供ください。
  • ツイート、Twitterアカウント、またはそのコンテンツを分析する場合は、実施する分析の内容と手法または技術について詳しくお知らせください。
    ここでいう「分析」にはTwitterコンテンツに対して行われるあらゆる形式の処理が含まれますのでご注意ください。使用目的については可能な限り詳細かつ完全な説明をお願いいたします。
  • ツイート、リツイート、いいねの使用が含まれる場合は、Twitterアカウントまたはそのコンテンツに対してどのような操作を行うのかをお知らせください。
  • TwitterコンテンツをTwitter以外で表示する場合は、お客様の製品またはサービスのユーザーに対して、ツイートおよびTwitterコンテンツがどこにどのように表示されるかを、行レベルの表示か集計表示かを含めてご説明ください。

このメールの返信に上記の情報を記載してお送りください。図、またはサンプルの成果物があれば、リンク情報をお知らせください。

添付ファイルの確認はできませんので、あらかじめご了承ください。

必要な情報をお送りいただけない場合、申請は受理されません。

ご理解、ご協力いただければ幸いです。

よろしくお願いいたします。

Twitter

 

若干イラッとしつつも、冷静になり以下のように返信。

 

ご担当者様

早速のご連絡大変ありがとうございます。
インラインでお答えしますが、ご質問に対する答えになっているか不安です。
ご質問のポイントや意図を含めてご教示頂けますと大変助かります。

> Twitter APIを使用する中核的な使用目的、意図、ビジネス上の目的。
> ここでいう「ビジネス上の目的」には営利事業に必ずしも関係しない用途も含まれますのでご注意ください。Twitterコンテンツを使用して対応しようとしている問題、ユーザーストーリー、または全体的な目標についての情報が必要です。
> 学生、コーディング学習者、またはTwitter APIの初心者であるお客様は、実施予定のプロジェクトまたは重点分野の詳細をご提供ください。

個人で運営しているブログの宣伝(PV増)を目的としています。
それ以外の目的は現在のところございません。

> ツイート、Twitterアカウント、またはそのコンテンツを分析する場合は、実施する分析の内容と手法または技術について詳しくお知らせください。
> ここでいう「分析」にはTwitterコンテンツに対して行われるあらゆる形式の処理が含まれますのでご注意ください。使用目的については可能な限り詳細かつ完全な説明をお願いいたします。

分析は行いません。
ツイート、Twitterアカウント、またはそのコンテンツなど含めて、分析は一切行いません。

> ツイート、リツイート、いいねの使用が含まれる場合は、Twitterアカウントまたはそのコンテンツに対してどのような操作を行うのかをお知らせください。

ツイートの使用のみ含みます。リツイート、いいねは含みません。
Twitter APIを利用し、ブログに投稿した記事のリンクを、投稿したタイミングでTwitterアカウント ######## にツイートさせようと考えております。
投稿は概ね1日1回以下です(ブログの投稿頻度が1日~2日に1回のため)

> TwitterコンテンツをTwitter以外で表示する場合は、お客様の製品またはサービスのユーザーに対して、ツイートおよびTwitterコンテンツがどこにどのように表示されるかを、行レベルの表示か集計表示かを含めてご説明ください。

TwitterコンテンツをTwitter以外で表示することはありません。

恐れ入りますがよろしくお願い致します。

 

ここまで書いてようやく1時間後の深夜26時、okの返事が来ました。

 

 

twitter APIの認証コードを取得

 

実際にtwitter APIの利用に必要となる認証コードを取得します。

(pythonなどにこちらのコードを入力していく形です)

 

「Get started」

 

画面右上の自分のアカウント名をクリックすると、プルダウンメニューが表示されます。

一番上の「Get started」を選択。

 

 

「Create an app」を選択

 

「Get started」の一番上の「Create an app」を選択。

 

 

「Create an app」を選択

 

初めてAPIコードを取得する際は、以下画面のように「No apps here」と表示されます。

改めて、画面右側の「Create an app」を選択。

 

 

App details(アプリ詳細)を入力

 

 

  • ①【必須】アプリ名。他の人のアプリ名との重複はNGです。
  • ②【必須】アプリの説明。10文字~200文字で入れる必要あり。
  • ③【必須】twitterAPIを利用するURL。twitterのプロフィール画面でもokです。
  • ④APIを利用してtwitterにログインできるようにするかどうか
  • ⑤【必須】不明。判明次第反映します。

 

②については、以下のような感じで良いと思います。

 

auto favorite api

※自動的にいいねをするAPI

 

上記⑤「Call back URL」については、エラーが出た時に結果を返す先を表しています。

特に気にしなければ、適当なURLで大丈夫です。

 

 

  • ⑥※空白で構いません
  • ⑦※空白で構いません
  • ⑧※空白で構いません
  • ⑨※空白で構いません
  • ⑩アプリの使い方。英語で100文字以上

 

⑩については、以下のような感じで良いでしょう。

 

This application automatically likes on twitter.
In addition, it automatically retweets and likes We will also implement a function to automatically follow the person who did likes.

※このアプリケーションは、twitter上で自動的に「いいね」をするものです。

また、自動的にリツイートしたり、いいねしてくれた人をフォローするような機能も実装する予定です。

 

Review our Developer Terms

 

利用規約を確認して「Create」。

 

 

登録完了

 

以上で登録完了です。

以下画面の上部タブから、「Keys and tokens」を選択します。

 

 

  • Consumer API keys:ユーザごとにユニークなキー
  • Access token & access token secret:都度発行されるキー

 

「Access token ~ 」については都度発行されるので、画面右側の「Regenerate」を押してリフレッシュしてください。

 

 

大抵の場合、ここに書いてある

  • API key:
  • API secret key:
  • Access token:
  • Access token secret:

の4つを使用して、APIを動かします。

 

「python-twitter」と「tweepy」のインストール

 

最後に、Anacondaからpythonのtwitterライブラリ「python-twitter」と「tweepy」をインストールしておきましょう。

ネット上の多くのサイトがいずれかのライブラリを使用しているので、両方インストールしておけば間違いありません。

スタートメニューから「Anaconda Navigator(Anaconda3)」を開きます。

 

 

この部分から「not installed」を選んで、

 

 

この部分に「python-twitter」を入力して、検索。

 

 

「python-twitter」が表示されるので、左側のチェックボックスにチェックを入れ、画面したの「Apply」。

更に確認画面で「Apply」でインストールできます。

 

 

上記と同様に「tweepy」もインストールします。

以上でtwitter APIを利用する準備は完了です。

 

その他、pythonやkaggle、AI・機械学習といった記事のまとめはこちらです。

【2021年版】プログラミング関連の記事まとめ

続きを見る

ここからは、実際に私が購入し、おすすめできると思った本やオンラインスクールを紹介します。

 

機械学習のための「前処理」入門


 

まずはこちら。「機械学習のための『前処理』入門」です。

  • これから機械学習を始めてみたい
  • kaggleやSIGNATEにチャレンジしてみたい

という方には最適な本で、個人的には一番のおすすめです。

 

データモデルの精度向上には特徴量エンジニアリングが不可欠、というよりこれが全てと言っても過言ではありません。

各種環境準備の方法やコーディングの詳細に至るまで、誰にでも分かりやすく書かれています。

この一冊さえあれば、とりあえずkaggleにトライすることができます。

 

 

Udemy「みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習」


 

ベネッセが主催する、プログラミング未経験者を対象にしたコース。

数学や統計的な知識はそこそこに、文字通り人工知能と機械学習をゼロから学習できます。

受講生2万人以上、4千人以上の評価者から、5段階中4.0の評価を得ている、万人におすすめできる優良講座。

定価15,000円と高価ですが、90%OFFといったキャンペーンを頻繁に行っていますので、それを狙うのがおすすめ。

 

人工知能は人間を超えるか


 

pythonのコーディングからは離れますが、もしこの本を読んでいない人がいたら必ず一度は目を通しておいた方が良いです。

 

この界隈では有名な、東大の松尾豊先生の著書「人工知能は人間を超えるか」。

 

いわゆるAI・人工知能、機械学習といった昨今のキーワードを中心に、過去の歴史からここ最近の動き、今後の動向に至るまでを、平易な表現で丁寧に解説されています。

 

また日本ディープラーニング協会が開催する「ディープラーニング ジェネラリスト検定(通称:G検定)」の推薦図書の一つでもあります。

 

全てのビジネスマンにおすすめできる一冊。中古でもkindleでも構いませんので、これだけは目を通しておいた方が良いです。

 

-スキルアップしたい

Copyright© 営業アップデート , 2021 All Rights Reserved.