Twitter(X)予約投稿ツール(GASとスプレッドシート)

Twitterのエラー:アプリにアクセスを許可できません。 前に戻ってもう一度ログインしてください

Twitter(X)予約投稿ツール(GASとスプレッドシート)

GASとTwitter APIでスプレッドシートの予約投稿ツールを作成しました。その際に見かけたエラーまとめです。

完成したツールはこちらです。

ツールの紹介はこちらです。

アプリにアクセスを許可できません。 前に戻ってもう一度ログインしてください

Twitterで認証する際にでるエラーです。初心者さんが躓きやすいエラーでわりとよくでるエラーです。

アプリにアクセスを許可できません。 前に戻ってもう一度ログインしてください

CLINET_IDとCLIENT_SECRETのいずれか、あるいは両方が間違っているため修正するととおります。

callbackurlの指定も忘れずに。callbackurlのミスでもこのエラーがでます。callbackurlを変えるとアクセストクーンの更新も必要です。

イーロンさんがアプリを1つにしてしまったため、開発環境と本番環境で異なるurlに差し替えないといけないのも面倒なところ。回避策はアカウントを2つ用意する方が正解!

あとはTwitterのサーバーの一時的な不具合のこともあるようです。何日か待つと認証できた事例はありましたね。

スポンサーリンク

TwitterAPI*GAS(Google Action Script)のエラー

スクリプトが完了しましたが、何も返されませんでした。

callback後にでるエラー。

スクリプトが完了しましたが、何も返されませんでした。

return;で何かを返してあげるだけ。

return HtmlService.createHtmlOutput('認証成功');

Your changes couldn’t be saved. Cannot create a new access token without first invalidating the existing token

Twitterポータルでアクセストクーンを作りたいのに生成できないエラー。

Your changes couldn't be saved.
Cannot create a new access token without first invalidating the existing token

GASのスクリプトプロパティのアクセストクーンを一度削除して、Twitterポータルで再読み込みしたら解決しました。紐づけが行われてしまったため、削除できなかったということなのでしょう。

unauthorized_client, Missing valid authorization header

この問題もCLIENT_SECRETを再生成で通りました。

unauthorized_client, Missing valid authorization header

I was able to resolve by resetting my environment variables for the Twitter Client ID and Secret and then restarting the dev server.

https://stackoverflow.com/questions/74498352/getting-unauthorized-client-missing-valid-authorization-header-in-return-on-tw

Exceeded maximum execution time

Exceeded maximum execution time

最大実行時間は6分のようです。Gasにデータを読み込んで実行する場合、作りが悪いとひっかりそうです。このルールも基本のようなので覚えておきます。

SyntaxError: Identifier ‘spreadsheet’ has already been declared

SyntaxError: Identifier 'spreadsheet' has already been declared

重複しているようです。コピペで移植すると起こりやすい!別の.gsファイルをコメントアウトしたら改善されました。

Exception: Already setting up a recurring clock trigger.

Exception: Already setting up a recurring clock trigger.

トリガーがまだ設定されているようです。

既存のトリガーを削除してから新しいトリガーを設定する必要がありそうです。下記のようなコードを書いたら解決しました。

  // 既存のトリガーを削除
  const triggers = ScriptApp.getProjectTriggers();
  for (let i = 0; i < triggers.length; i++) {
    if (triggers[i].getHandlerFunction() === "post") {
      ScriptApp.deleteTrigger(triggers[i]);
    }
  }

削除したのちに新しいトリガーを設定します。

You are not allowed to create a tweet with duplicate content

Twitterは重複投稿はダメですね。

You are not allowed to create a tweet with duplicate content
  • 日付を追加する
  • 前の投稿を削除する
  • かなり間隔をあける
  • 自分のツイートをリツイートにする(月額100ドルの有料プランになります)

ほか、何らかの工夫が必要です。

Your changes couldn’t be saved. It’s a pain, but if you can, try updating again

Twitterポータルの管理画面でアプリを作ろうとするとでるエラー。

Your changes couldn't be saved. It’s a pain, but if you can, try updating again

ユニークな名前でないといけないようです。自分だけではなく他の人も含めて…のようです。

簡単な解決方法としては末尾に適当に5桁ぐらいの数字をつけることです。よほど運が悪くないとかぶりません。

エラー: トークン取得エラー: 無許可クライアント、有効な認証ヘッダーがありません(行 605、ファイル「サービス」)

おそらくAPIキーの間違いです。基本を見直してもらえると改善するはずです。

スポンサーリンク
neruをフォローする
スポンサーリンク

コメント

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