とあるアカウントをtwitter api v2 freeに移行することにしました。
GASとTwitter Api(X API)で予約投稿ツールを作った!【PR】
【PR】twitter api v2 freeの機能を最大限、生かしたCraft Twixを開発しました。
画像複数投稿、動画投稿、ツリー投稿はもちろんWordPressの定期投稿、オリジナル機能搭載です。しかもライセンスはゆるく、転売・転載をしないことを条件に改変を自由としました。
興味ある方はこちらの記事をみてください!
経緯。
Craft Twixと他のツール比較記事。
CraftTwix(クラフトツイックス)の販売を開始しました。
Twitter Api v2のfreeの移行方法【X API】
(追記)移行方法が少し変わったため、その変更点を反映させたものをQiitaに寄稿しました。この記事は細かいエラーなどの対応を残しておきます。
Twitterのアカウントを紐づけるものに切り替えておきます。
- 画面上の[ 開発者ポータル ]
- Twitterでログイン
- 画面下の[ Sign up for Free Account ]
- 次の画面の入力をこなして登録完了です。
Describe all of your use cases of Twitter’s data and API:
Twitter APIとデータの使い方をすべて説明してと言っていますね。250字以上らしいです。例文はこちらの記事に記載しています。
次の3つはチェックボックスをチェックするだけです。
You understand that you may not resell anything you receive via the Twitter APIs
Twitter APIで受け取ったものを再販してはダメのようですね。
You understand your Developer account may be terminated if you violate the Developer Agreement or any of the Incorporated Developer Terms
violate(違反)したらterminated(オワコン)だよと言っていますね。
You accept the Terms & Conditions
利用規約に同意する
[Submit] をおします。
既にTwitter Apiを利用している人
既にAPIを使っていた人はここからスタートできます。個人的にv1からの利用者です。まずはTwitter Developersにアクセス。
Add Projectから作るとv2が作れましたね。昔作ったアプリは放置のまま、新規で作成する方法を探しましたが、昔作ったアプリがある場合は新規のアプリは作れません。途中までできます。
アプリが作れない
Standalone Appsは今まで作ったアプリです。
v2のアプリは1つです。どうやらv1のアプリもカウントされているらしく、Standalone Appsがあると新しいアプリが作れません。[Create new]がグレーになっています。
アプリを消して作るしかなさそうです。
古いアプリの削除(必要なら)
次の操作をすると新しいアプリが作れるようになります。free版は1つしかアプリを作れません。
画面左から古いアプリを選択 > Delete APP > アプリ名を入力、[Delete APP]のボタンおす
新しいプロジェクトやアプリの削除(必要なら)
登録時に自動的にプロジェクトやアプリが生成されてしまう場合があるようです。名前なども適当なため、一度削除してやりなおしてもいいかもしれません。
画面左からアプリを選択 > Edit > Delete APP > アプリ名を入力、[Delete APP]のボタンおす
画面左からプロジェクトを選択 > Setting > Edit > [Delete Project]のボタンおす
プロジェクトの作成
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
アプリの作成、apiキーの取得
- + Add App
- Development Staging, Productionのいずれか選択してNext(テスト用だったのでDevelopment を選ぶ)
- アプリ名を入れてNext。同じ名前はダメのようです。サイト名+tweetにしておきましょうか。
- API Key と API Secret Key、Bearer Tokenが表示されます。
keyはそのときしか見れないようなので、忘れずめもします。忘れた場合、キーを再生成しないといけません。
アプリの作成は回数制限があるようです。何度も作成すると24時間待たされることになります。
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は審査はいる?
TwitterAPI、free planなら審査無し即時で取れるのか(電話番号必須)
— カンバラ | Webエンジニア (@kambara_eg) April 5, 2023
そしてfreeだと月に1500投稿までか〜
🚨 開発者アカウントの申請が過去数か月間審査中だった場合、新しい Twitter API Free または Basic プランへの登録に関心がある場合は、再度申請してください。
— tech特定語句翻訳Bot (@translation_ja) April 4, 2023
新しいセルフサービス プロセスにより、いつでもアクセスできるようになります。 🙏
#api https://t.co/X8WIKIbNqh
Suspendされたら、ダウングレードで回避!?
ログインの件、この通りだったようです。
— teckl (@teckl) April 27, 2023
複数Twitterアプリを持ってると内部的に強制的にBasicプランにさせられる。(が、支払い情報が無いためずにSuspendされる)
このため、Twitter API v2ページから、必要なアプリを一つだけにしてDowngradeしてFreeプランへ変更が必要https://t.co/AF6VZ7lgBf
free版はbotしか作れない!?他人のツイートは取得不可?
TwitterAPIのFreeってエンドポイントが自分のツイートの取得、投稿、削除しかできねぇのか
— 𓆲辺境領主𓆲🌩️ (@glorificatio) March 31, 2023
自動投稿BOTしか作れないじゃん
人口無能的な簡単なアカウントですら月額100ドル払わないといけないの?
うわぁ、個人開発のアプリケーションはもう畳まないとダメだな
TwitterAPI昔ちょっと触ってたけどあの頃作ったアプリもう動かんなこれ
— ろうくろ (@Okaka696) April 3, 2023
freeだと他人のツイートすら取得できないって正気か?そのプラン存在意義ある?最低額プランでもいちまんえんするしよ
他人のアカウントができないっていうのはサービスによっては厳しいですね。
free版でダイレクトメッセージはできる!?
できないようですね。まあ、これは迷惑メールが減るのでいいことかもですけど。
ツイートのリンク先は登録している人しか確認できません。
Twitter API v2のBasic API(有料)の中にDMの処理があって、Freeの方にはないので 3rdパーティー経由の利用だとDM有料化って流れなのかなって思ったんだけどhttps://t.co/Dxoiq0sdd6
— popo🦌 (@po3515) March 30, 2023
v2にメディアのアップロード、画像添付はない?
まだ昔のものしかないようです。。
真面目なのでTwitterAPI v2の公式ドキュメント読んでるけど、いま時点で media/upload がcoming soonなことに気づいてしまった。。。現状同endpointを提供している v1.1 は4/30で停止ってアナウンス出てるのだが?
— 𖡶tana_bataᔦꙬᔨ (@tana_bata) April 13, 2023
実装は後回しですかね…。
また、Twitterのぐだぐだなのでしょうか。。
さてTwitter APIいよいよ止まるか?v2 MediaはいまだにCOMING SOONだし、statuses/oembedも検討中だし、引き続き今後の動きに注視必要。https://t.co/LowANLg0lT
— SiRO@個人開発 (@codemesi) April 29, 2023
この日付でもできていないよう。できていないのに止めるのは破綻なので、延長なのでしょうか。
古いapiはまだ動いていますね。
(後日談)画像アップロードも実装しました。
Twitter Api v2のOAuth 1.0aとOAuth 2.0の違い【X API】
ツイート、書き込みはOAuth 1.0aしかできないのか…。
(追記)ただ、OAuth 2.0でも何かツイートできるみたい。リファレンスが古い!?。
実際に試したところ成功しました。詳細はこちらの記事で。
OAuth 2.0 Client ID と Client Secretの取得!OAuth 1.0の取得
OAuth 2.0はまた別になるようです。
画面左の[アプリ名] > Keys and tokens > OAuth 2.0 Client ID and Client Secret
OAuth 1.0がまだ必要なときもあります。同じ場所にあるようです。
画面左の[アプリ名] > Keys and tokens
- CONSUMER_API_KEY
- CONSUMER_API_SECRET
- ACCESS_TOKEN
- ACCESS_TOKEN_SECRET
画像投稿などはまだできないため、OAuth1で関数を呼び分けて実装が必要そうです。
以下は昔の申請方法です。参考程度に残しておきます。
Twitter Api v2の予約投稿の件数!【X API】
- 1日50件
- 1ヵ月で1500件
Twitter APIのエラー【X API】
When authenticating requests to the Twitter API v2 endpoints, you must use keys and tokens from a Twitter developer App that is attached to a Project
先日まで動いていたのに突然動かなくなりました。。
When authenticating requests to the Twitter API v2 endpoints, you must use keys and tokens from a Twitter developer App that is attached to a Project
Twitterで同じような人がいました。
Twitter API 開発者向け情報。
— あもん (@amotarao) June 16, 2023
When authenticating requests to the Twitter API v2 endpoints, you must use keys and tokens from a Twitter developer App that is attached to a Project. You can create a project via the developer portal.
自サービス @yukukuruapp で 6/16 0:00 JST…
Standalone App に変更されているよう。何ゆえ?
Add app > Add an existing App > アプリを選ぶ > next
でなおったけど、ちょっと怖いなあ。ただのTwitter社のミスかなあ。審査をはじめるとか、Twitter APIの仕様の改悪はなしで…お願いしますよ。。
新規作成!電話番号が追加できない
(追記)今は電話番号なしにいけるようです。前に作ったとき、トラブルがありました。だからわかりませんが、辞めたのでしょうか。一応、覚書程度に残しておきます。
新規で作る場合は登録作業がいるようです。
Sign up for Free Account
Sign up for Free Account がクリックできない場合は電話番号の登録が事前に必要です。
しかし、電話番号を追加しようとするとエラーになりますね。普通にTwitterのアカウントからいっても一緒です。
設定サポート > 設定プライバシー > アカウント > アカウント情報 >電話番号
一時のものなのでしょうか。
エラー
問題が発生しました。しばらくしてからやりなおしてください。
しょうがないので、すでにアプリ追加済の既存のアカウントから調整することにしました。プログラミングのテストをしたかっただけなので、どのアカウントでもよかったのです。
コメント