【WordPress】 Revive Old Posts のエラー対応

IT,WordPress

WordPress プラグイン Revive Old Postsのエラー対応

WordPressのプラグインRevive Old Postsを利用して、定期的に過去記事を自動投稿するようにしていたのですが、Twitter APIの有料化に伴い7月末頃からエラーが表示されて投稿できなくなっていました。

Twitterと再連携し直したりしたりもしたのですが、下記のようなエラーが表示され投稿できませんでした。
(今はXですが馴染みのあるTwitterでお許しを)
ちなみにRevive Old Postsのバージョンは9.0.17だったと思います。

Error posting on twitter. Error: {“title”:”Too Many Requests”,”detail”:”Too Many Requests”,”type”:”about:blank”,”status”:429}

しかし必ず失敗するわけではなく、稀に投稿が成功したりもしていました。

そのため、連携方法というよりはTwitter側が悪いのかなと考えていましたが、このまま放っておくわけにもいかないので重い腰を上げて調べました。

結果的にはRevive Old PostsとTwitterの連携方法を変更することで正常に投稿できるようになりました。
その方法を共有しておきます。TwitterのDeveloper登録は必要になりますが、無料のままなのでご安心を。

Revive Old PostsのTwitter連携方法の修正

方法としては、下記の記事を参考にTwitterを連携しなおします。

https://docs.revive.social/article/1908-how-to-solve-453-twitter-error-in-rop

この記事を参考にすれば大丈夫と思うので、つまづいたポイントと注意点だけ紹介します。

まず、Twitterと普通に連携しようとすると、よく見るTwitterにログインして連携を許可する画面が表示されます。
この方法ではうまくいかないので、下記の画面を表示させてAPI Keyを利用して連携させます。

そのために、一度Twitterとの連携を解除し、function.php に下記コードを追加します。

add_filter( 'option_rop_first_install_version', '__return_false' );

Twitter Developterの登録・アプリ作成方法やAPI Keyなどは、先ほど紹介した記事がわかりやすいと思います。

見落としやすいのが、Callback/Redirect URL の設定です。
Callback URLはウェブサイトのURLを入力するのが多いと思いますが、Revive Old Postsの編集ページを指定する必要があります。これを見落としていると下記エラーが表示されて投稿できないのでお気をつけを。

Error connecting twitter {"errors":[{"code":415,"message":"Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings"}]}

これで大丈夫かと思いましたが、設定を終えて連携をさせても同じエラーが表示されたままで投稿できませんでした。
そこで、試したのがCallback URLにウェブサイトのURLを追加。

しかしながら、追加してもエラーは解消されなかったので一旦諦めて放置。
そして数分後に再度確認してみたら、、、

なぜか投稿が成功していました。

おそらくCallback URLにウェブサイトを追加したからではなく、少し待つ必要があった気がします。連携させてから10分ほど放置していたと思うので、まずは待ってみるのがいいかもしれません。

今はこんな感じで無事に自動投稿できています。

まとめ

Twitter Developer登録が面倒ですが、登録すると色々とできることも増えるのでいい機会でもあります。
少し余談になりますが、Twitter仕様変更でJetpackの記事投稿時の自動投稿もできなくなり、代わりにWP to Twitterというプラグインを使用しています。こちらを使用するにはDevelopter登録が必要になってくるので、今回登録しておけば簡単に使用できるかと思います。

今はX(Twitter)の仕様がコロコロ変わって対応が大変なので、早く落ち着いてほしいですね。

WordPress

Posted by noramyao3