メッセージ機能の復旧
ここ数日、当サイトのコメント機能に不具合が発生していることに気づきました。 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};
このように変更したところ、正常に動作するようになりました。
皆様、ぜひテストしてみてください!