フライトシミュレーター愛好家のノート

中文 English 日本語 Français Deutsch Español 한국어 Русский 繁體中文

メッセージ機能の復旧

ここ数日、当サイトのコメント機能に不具合が発生していることに気づきました。 Facebookユーザーがログインもコメントもできない状態で、全くもって奇妙な事態です。

そこで最も原始的なデバッグ手法を採用し、ログを少しずつ追跡したところ、アクセストークンのレスポンス構造が変化していることが判明しました。

これまでの処理は以下の通りでした。

    my $content = $response->decoded_content();
    return $app->errtrans("Invalid request.")
        unless $content =~ m/^access_token=(.*)/m;
        
    my $access_token = $1;
    $access_token =~ s/\s//g;
    $access_token =~ s/&.*//;

しかし最近ではJSON形式に変更されたため、上記のコードをすべてコメントアウトし、以下のように修正しました。

require JSON;
my $access_token = JSON::from_json($content)->{access_token};

このように変更したところ、正常に動作するようになりました。

皆様、ぜひテストしてみてください!