プログラミング学習

エラー対策込!Twitter Api v2のoauth【X API/GAS】

プログラミング学習

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

GASとTwitter Api(X API)で予約投稿ツールを作った!【PR】

Twitter Api v2のfreeの移行とOAuth!予約投稿の件数!

【PR】twitter api v2 freeの機能を最大限、生かしたCraft Twixを開発しました。

画像複数投稿、動画投稿、ツリー投稿はもちろんWordPressの定期投稿、オリジナル機能搭載です。しかもライセンスはゆるく転売転載をしないことを条件改変を自由としました。

一部分で複数枚画像投稿や動画投稿などもあり、シートも複数あるため多機能です。色分けも工夫してカラフルでわかりやすい感じに。

興味ある方はこちらの記事をみてください!

経緯。

Craft Twixと他のツール比較記事。

CraftTwix(クラフトツイックス)の販売を開始しました。

スポンサーリンク

Twitter Api v2のfreeの移行方法【X API】

(追記)移行方法が少し変わったため、その変更点を反映させたものをQiitaに寄稿しました。この記事は細かいエラーなどの対応を残しておきます。

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

  1. 画面上の[ 開発者ポータル ]
  2. Twitterでログイン
  3. 画面下の[ Sign up for Free Account ]
  4. 次の画面の入力をこなして登録完了です。

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にアクセス。

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キーの取得

  1. + Add App
  2. Development Staging, Productionのいずれか選択してNext(テスト用だったのでDevelopment を選ぶ)
  3. アプリ名を入れてNext。同じ名前はダメのようです。サイト名+tweetにしておきましょうか。
  4. API Key と API Secret KeyBearer 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は審査はいる?

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

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

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

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

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

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

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

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

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

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

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

古い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で同じような人がいました。

Standalone App に変更されているよう。何ゆえ?

Add app > Add an existing App > アプリを選ぶ > next

でなおったけど、ちょっと怖いなあ。ただのTwitter社のミスかなあ。審査をはじめるとか、Twitter APIの仕様の改悪はなしで…お願いしますよ。。

スポンサーリンク

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

(追記)今は電話番号なしにいけるようです。前に作ったとき、トラブルがありました。だからわかりませんが、辞めたのでしょうか。一応、覚書程度に残しておきます。

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

Sign up for Free Account 

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

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

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

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

エラー

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

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

コメント

タイトルとURLをコピーしました