背景
GoogleAnalyticsAPIを使いたい!よっしゃ、ローカルで動くようにできた!
→あれ、ステージング環境(Azure Virtual Machine)上だと動かない…なんでや…
前提/環境
・上述の通りローカルでは正常に実行できる。
・後述ですが認証ファイルが正しい状態である。(中身、配置場所等々)
・Azure Virtual Machine
トラブルシューティングしてみると
仕様の関係上try~catchでcatchした際もstatus:200を返していたためにエラーログがないというお粗末な状態
とりあえずcatch時に手動でエラーログを出したりこまめにログ出力をするようにしたらGoogleAnalyticsの認証時に落ちている模様
あれ、認証ファイルちゃんとあるよな?
流石にありました。ですがなんで読み込まれないのかが全く分からない。
・認証ファイルが置かれているディレクトリが悪い?→合ってる。
・認証ファイルが置かれているディレクトリへの参照権限がない?→ある。
しばらく頭を抱えてましたが調べてみるとIIS起動時に自動では読み込まれない模様
対処方法
こちらIISの画面です。(見せられない箇所とか固有名は塗りつぶしてます。)
赤枠のアプリケーションプールの固有値の設定
をクリック。
赤枠のユーザープロファイルの読み込み
をfalse→trueに変更
※変更後、IISの再起動をお忘れなく!
修正後
アプリの実行時に無事にGoogleAnalyticsの認証ファイルが読み込まれるようになりました。
認証ファイルを扱うのが初めてだったのもあり、特に日本語記事が見つからなかったりしたので頑張って英語記事読み漁った苦い思い出