以下で説明する方法によってデータ損失等が発生する可能性があります。自己責任でお願いします。
また、以下の説明に用いている画像は「欅坂46/日向坂46 メッセージ」アプリのものですが、「櫻坂46メッセージ」「日向坂46メッセージ」「乃木坂46メッセージ」「齋藤飛鳥メッセージ」共に同様の方法でrefresh_tokenは取得可能なため、適宜それぞれのアプリ用に読み替えてください。
必ず外部サービス連携をしてください。外部サービス連携をしないとデータが失われる可能性があります。
失われなかった場合でもデータ復旧のためにアプリ開発会社への問い合わせを行う必要があり、これには時間がかかる可能性があります。
ちなみにおすすめはGoogleアカウントです。
一度アプリのデータを削除する必要があります。
過去のメッセージなどは外部サービス連携を行っていれば失われることは無いはずです。
iosを使っている人の場合は一度アプリをアンインストールしてからインストールし直してください。
インストール後、またアプリは起動しないでください。
Androidアプリを使っている人の場合はデバイスのAndroidのバージョンによって異なります。
Android 6 以前を使用している人の場合は Androidアプリ共通のデータ削除 へ進んでください。
Android 7 以降を使用している人の場合は後述するmitmproxyが動作しないため、Genymotionなどのエミュレータを使用し、Android 6 以前の環境を作ってください。
こちらの記事などを参考にしてGenymotionにGoogle Play ストアを入れてください。 その後「櫻坂46メッセージ」「日向坂46メッセージ」「乃木坂46メッセージ」「齋藤飛鳥メッセージ」アプリをインストールしてください。
※ Google Play ストアからインストール出来ない場合はインターネット上からapkファイルを探して直接インストールしてください(APKPureなど)。
Androidアプリ共通のデータ削除 へ進んでください。
Androidアプリの場合はアンインストールすることなくデータ削除を行うことが出来ます。
以下の手順に従ってデータ削除を行ってください。
mitmproxyを使用します。
mitmproxyの使用方法は検索すればたくさん出てきます。こちらやこちらの記事なども参考になるかも知れません。
Genymotionを使用している人の場合、プロキシのホスト名は 10.0.3.2
を指定すると上手くいきます(参考)。
次にmitmwebを起動し、アプリの通信内容を確認します。
アプリを起動し、アカウントの引き継ぎを行ってください。
Twitter連携を使用している場合など、アカウントの引き継ぎがうまくいかない場合はプロキシが問題である可能性があります。
一度プロキシを無効にしてアカウントログイン画面に移動し、その後すぐにプロキシを有効にすることでうまくいく場合があります。
Googleアカウントで引き継ぎを行っている場合はこの問題は起きないはずです。
アカウントの引き継ぎを行っている最中にmitmproxyがアプリの通信内容をブラウザに表示させているはずです。
ブラウザを確認し、 https://api.kh.glastonr.net/v2/signin
へリクエストしている項目を探してください。
その項目の Response
を確認し、 refresh_token
を取得してください。