Twitter Api v2のfreeの移行方法!OAuth 1.0aとOAuth 2.0の違い

プログラミング学習

とあるアカウントをtwitter api v2 freeに移行することにしました。

Twitter Api v2のfreeの移行方法

Twitterのアカウントを紐づけるものに切り替えておきます。

新規作成!電話番号が追加できない

新規で作る場合は登録作業がいるようです。

Sign up for Free Account 

Sign up for Free Account がクリックできない場合は電話番号の登録が事前に必要です。

しかし、電話番号を追加しようとするとエラーになりますね。普通にTwitterのアカウントからいっても一緒です。

設定サポート > 設定プライバシー > アカウント > アカウント情報 >電話番号

一時のものなのでしょうか。

エラー

問題が発生しました。しばらくしてからやりなおしてください。

しょうがないので、すでにアプリ追加済の既存のアカウントから調整することにしました。プログラミングのテストをしたかっただけなので、どのアカウントでもよかったのです。

既にTwitter Apiを利用している人

個人的にv1からの利用者です。まずはTwitter Developersにアクセス。

Twitter Developers

Add Projectから作るとv2が作れましたね。昔作ったアプリは放置のまま、新規で作成する方法を探しましたが、昔作ったアプリがある場合は新規のアプリは作れません。途中までできます。

Progects & Apps > Overview > + Add Project > Progect nameを設定してNext > Uses caseを設定してNext(botの場合はmake a bot) > Project description、プロジェクトの詳細を書いてNext > Create new

プロジェクトの詳細はWordPress to Tweetなど簡単に書けばいいです。文字数が少ないとダメとか昔あったみたいなのはないようです。

引用先の記事を参考にしました。ありがとうございます。画像つきで解説されています。

Under the Elevated Section, click the “+ Add Project” button to add a new project.

https://docs.ultimatemember.com/article/1699-social-login-twitter-api-v2-setup

アプリが作れない

Standalone Appsは今まで作ったアプリです。

v2のアプリは1つです。どうやらv1のアプリもカウントされているらしく、Standalone Appsがあると新しいアプリが作れません。[Create new]がグレーになっています。

アプリを消して作るしかなさそうです。

古いアプリの削除

次の操作をすると新しいアプリが作れます。free版は1つしかアプリを作れません。

画面左から古いアプリを選択 > Edit > Delete APP > アプリ名を入力してDelete APP

アプリの作成、apiキーの取得

  1. + Add App
  2. Development Staging, Productionのいずれか選択してNext(テスト用だったのでDevelopment を選ぶ)
  3. アプリ名を入れてNext。同じ名前はダメのようです。サイト名+tweetにしておきましょうか。
  4. API Key と API Secret KeyBearer Tokenが表示されます。

keyはそのときしか見れないようなので、忘れずめもします。忘れた場合、キーを再生成しないといけません。

keyの再生成

なお、keyは次から再生成できるようです。

画面左の[アプリ名] > Regenerate

アクセストクーンの生成

gasなどを使う場合はアクセストクーンも生成します。

画面左からアプリを選択 > Access Token and Secretの[ Generate ] > コピーしてめもる > Yes, I saved them.

読み込みと書き込み設定

画面左の[アプリ名] > Set Up

アプリにより違いますが、botの場合、想定で設定をします。

ツイートは書き込みが必要なのでRead and Writeにします。

  • Read and Wirte
  • Web App, Automated App or Bot
  • Callback URI / Redirect URL 自サイトのurl(Twitterのurlでもよい、開発でcallbackを使用する場合は後ほど書き換えます)
  • Website URL 自サイトのurl(Twitterのurlでもよい)

最後に[save]をおします。OAuth 2.0 クライアント ID とクライアント シークレットが表示されます。

Done > Yes, I saved it.

Keys and tokensを確認すると、OAuth 2.0 クライアント ID とクライアント シークレットが増えています。

Twitter API v2のfreeは審査はいる?

Suspendされたら、ダウングレードで回避!?

free版はbotしか作れない!?他人のツイートは取得不可?

他人のアカウントができないっていうのはサービスによっては厳しいですね。

free版でダイレクトメッセージはできる!?

できないようですね。まあ、これは迷惑メールが減るのでいいことかもですけど。

ツイートのリンク先は登録している人しか確認できません。

v2にメディアのアップロード、画像添付はない?

まだ昔のものしかないようです。。

実装は後回しですかね…。

また、Twitterのぐだぐだなのでしょうか。。

この日付でもできていないよう。できていないのに止めるのは破綻なので、延長なのでしょうか。

古いapiはまだ動いていますね。

スポンサーリンク

OAuth 1.0aとOAuth 2.0の違い

ツイート、書き込みはOAuth 1.0aしかできないのか…。

(追記)ただ、OAuth 2.0でも何かツイートできるみたい。リファレンスが古い!?。

実際に試したところ成功しました。詳細はこちらの記事で。

OAuth 2.0 Client ID と Client Secretの取得

OAuth 2.0はまた別になるようです。

画面左の[アプリ名] > Keys and tokens > OAuth 2.0 Client ID and Client Secret

以下は昔の申請方法です。参考程度に残しておきます。

スポンサーリンク

Twitter Developersの申請、apiの取得【過去記事】

wordpressのプラグイン利用時、またwebアプリの開発時知ったtwitter apiのあれこれをまとめていきます。firebaseのauthenticationも書いておきます。

開発者登録が必須になって、Twittter社もアプリ管理が昔と違って厳しめになりましたね。revive old postsだけではなく類似アプリの不動産 Toot Old Post proも同じようにapiの取得は必要っぽいですね。

APIの取得までの流れを書いていきます。

まずはTwitter Developersにアクセス。

Twitter Developers

ログインします。なお、Twitter DevelopersのアカウントはTwitterのアカウントごとに管理した方がよさそうです。

なおこの手の仕様はちょくちょく変更されるので、該当項目がなかったら仕様変更があったと思って対応ください。2度書き直しています。

Create an app > Apply

Hobbyist
Making a bot ←これ選択
Building tools for Twitter users
Exploring the API

webサイトをツイートしたいだけなので、Making a botが1番近いでしょうか。

Making a bot > Next

Add a valid phone numberを押すとポップアップが開きます。電話番号認証が必須になったようです。個人情報なしで登録する方法も探したのですが、ダメのようですね。。

Country/region
Japan
Phone number
電話番号を入力します。

nextでスマホに認証コードが届きます。

Verification code
認証コードをいれてVerify

What country do you live in?

Japan

Jのショートカットは効きます。

What would you like us to call you

あんたを何て呼んでほしいの? なので、アカウント名にしておきます。

twitterのアカウント名を入力。@はいらない。

Want updates about the Twitter API?

Send me product updates & occasional promotional emails about the Twitter API.

お好みで。個人的にメールは送ってほしくないので、チェックはしませんでした。 Twitter社はスパムメールはおくらんよ。とは言ってくれています。

Nextを押します。

twitter api 申請の例文

次に説明文をいれます。簡単に説明したら200文字以下はエラーがでます。もっと長く英文を書けと。。
Must be 200 characters or longer

以前申請していた英文だと文字数が足りませんので、適当に文章を水増ししました。ちなみに、この英文で審査通りました。

In your words

This app is for internal use not public use. A wordpress plugin which shares content from my website to my Twitter account. Only sharing contents like title, url, image. A plugin cannot use Retweet, like, follow, Direct Message.

以下はすべてnoで。noじゃない場合は個別で説明が必要です。

  • Are you planning to analyze Twitter data?(データ解析のこと)
  • Will your app use Tweet, Retweet, like, follow, or Direct Message functionality?(リツイートやダイレクトメッセージのこと)
  • Do you plan to display Tweets or aggregate data about Twitter content outside of Twitter?(Twitter外で集計するか)
  • Will your product, service or analysis make Twitter content or derived information available to a government entity?(政府機関のこと)

Will your app use Tweet, Retweet, like, follow, or Direct Message functionality?だけはYesにした方がよさそうですね。

Only Tweet contents like title, url, image. A plugin cannot use Retweet, like, follow, Direct Message.

ほぼ前の文章の使い回しで。それしか説明することなかったので。。

Nextを押すと確認画面が表示。Looks good!で次へ。

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, the Automation Rules. These documents are available in hardcopy upon request to Twitter.

をチェック、Submit Applicationで完了。

メールが届くので、Confirm your email

apiの登録画面が古いですが、Revive Old Postのサイトに案内がのっていましたので、参考にさせてもらいました。

3- In the text area where you’re asked to explain more about your app enter the following text:などの項目です。

参考 How to create a Twitter Application for Revive Old Post – ReviveSocial Docs

ありがとうございました。

twitter api 審査の期間

その後、審査メールが届きます。なおこの審査メールすぐ届く場合と届かない場合があります。届かない場合は、半日ほどかかりました。。

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

お客様のTwitter開発者アカウントの申請を受理しましたので、審査を開始いたします。

追加のお知らせをお送りする場合がありますので、このメールアドレスおよび迷惑メールフォルダをご確認いただきますようにお願いいたします。この申請手続きのためTwitterのAPI利用開始までにお時間を頂戴しますが、いただいた情報を使用して開発者の皆様に最適なサポートを提供するとともに弊社のプラットフォームを保護し公開の場での会話の健全性を向上してまいりますので、ご理解いただきますようにお願い申し上げます。

利用規約および開発者規約の詳細、ドキュメント、またはコミュニティフォーラムもご参照ください。

必要な情報をすべてご提供いただいている場合は、審査終了後にメールをお送りいたします。Twitterでの開発に関心をお寄せいただきありがとうございます。

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

Twitter

審査があるようです。。審査のメールだけなぜか日本語メールです。

審査時間は前後しそうですが、個人的に半日ほど(2回目は全部含めて18時間ほど)で通過しました。

その後、今度は英文で審査通過のお知らせがきました。ごちゃまぜですね^^;

スポンサーリンク

【アプリ作成】API keyとAPI secret keyの取得

ここまでくると、ようやくアプリの作成ができます。

なお審査が通過していないとCreate an appのボタンが押せません。

twitterのアカウント名 > Apps > Create an app

App name (required)
(例)shares (my website) posts アプリ名は個人的には下記のとおりです。 shares ebookbrain posts

Application description (required)
(例)shares my website old posts to Twitter

Website URL (required)
(例)https://ebookbrain.net

Allow this application to be used to sign in with Twitterはチェックをいれません。

Callback URL

https://mywebsite.com/wp-admin/admin.php

mywebsiteは自分のWebサイトのドメインに置き換えてください。Wordpressを例外的なパスでインストールしているとパスが違うかもしれません。

なお、不動産 Toot Old Postでそのままコールバックurlを指定すると、Query parameters are not allowedのエラーがでます。アドレスの「?」以降を削除すると通ります。

Terms of Service URL
必須ではありません。アプリの利用規約のページがあるならURLを入力します。

Privacy policy
必須ではありません。アプリのプライバシーポリシーがあるならURLを入力します。

Organization name
必須ではありません。事業者名ですかね。

Organization website URL
必須ではありません。事業者名のurlですかね。

App usage

This app is for internal use not public use. It allows my website to share posts to my Twitter account so my followers can engage with.

revive old postsのページから拝借。

参考 How to create a Twitter Application for Revive Old Post – ReviveSocial Docs

Create > Create(確認)

確認画面では自動化に関する注意事項も表示されますので、よく覚えておきましょう。

Twitter's automation development rules | Twitter Help
Rules and information for developers about applying automations on Twitter.

createを2回押します。

Keys and tokensのタブをクリックします。必要な場合、Access token & access token secretはまだ生成されてないので「Create」ボタンを押します。

ここまでくると、ようやくapi keyが取得できます。

次にRevive Old Postsの管理画面をみます。

Accounts > Add Account > API keyとAPI secret keyの入力

不動産 Toot Old Postの場合はF-TweetOldPostをクリックすると、api入力画面がでます。

現在は追記したように不動産 Toot Old Postを使っています。

twitter apiのエラー

エンジニア向けになりますが、こちらの記事にまとめました。

{ code: 89, message: 'Invalid or expired token.' } twitter apiエラー/firebaseのtwitterid取得
Twitter Apiを使っています。覚書がてらエラーなどをまとめておきます。twitter apiのエラーわりとエンジニア向けです。このエラーはわりとよくでます。twitter developerにログインし、apiの再生成で基本的に修正...
スポンサーリンク

ノンプログラマーでもTwitteriの予約投稿を簡単に実現する方法

ノンプログラマーでもTwitteriの予約投稿を簡単に実現する方法のnoteを書きました。

【Twitter bot】予約投稿ツールの作り方!無料でGoogleスプレッドシート(Excel)からツイートする方法!|neru
【重要】ロングセラーとなった当noteですが、Twitterを買収し、テスラ のCEOでも有名なイーロン・マスクさんがTwitterのAPIを有料化すると発表しました。 影響は地震速報、診断アプリ、質問箱、ゲーム、WordPressのプラグインそして、予約投稿アプリなどのAPIを使っているすべてのアプリに及びます。こ...

コメント