問題タブ [google-reporting-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
263 参照

python - Google アナリティクス Reporting API を使用して「毎時、日、週、月」機能を実装するにはどうすればよいですか?

Reporting API を使用して、Web アプリケーションで Google アナリティクスの機能の一部を複製する必要があります。私はそれを使用する方法を知っています。「毎時、日、週、月」機能を実装する方法を理解できるもの。

ここに画像の説明を入力

これらのボタンのいずれかをクリックすると、選択された日付フレームは同じままで、チャートのみが変更されますが、選択された日付フレームが同じままであるため、正確にどのように変化するかわかりません。それがどのように機能し、どのように実装するかの説明が必要です。正確なコードは必要ありません。擬似コードは問題ありません。

0 投票する
2 に答える
841 参照

ruby-on-rails - Google API サービス - PKey を解析できませんでした: 本番環境 (heroku) にのみ開始行がありません

回答: Heroku では 2 つの環境変数が混同されていました。CERT は秘密鍵を指し、PRIVATE_KEY は証明書を指していました。それを修正しました。承認が機能するようになりました。

できる限り、この質問に回答済みのマークを付けます。


Rails 4 アプリケーションのサービス アカウントを使用して、Google Analytics Reporting API に接続しています。認証プロセスをセットアップし、開発で機能させました。デプロイ時に、.p12 キー ファイルの使用が問題であることに気付きました。リポジトリにコミットするか、それを回避する方法を見つける必要がありました。そこで、キー ファイルを 2 つの .PEM ファイルに分割し、それらのファイルの内容を環境変数として保存することで、これを回避する方法を見つけました。

開発でうまく機能します(dotenv-railsを使用して環境変数をそこに保存しています)。しかし、本番環境で認証方法を使用しようとすると、エラーが発生するため、Heroku の変数に何かが起こっているに違いありませんArgumentError: Could not parse PKey: no start line

ここで何が起こっているのかについて手がかりを探しました - バージョンの問題が原因で関連するエラーが発生する可能性があることを確認しました (誰かが Ruby 2.2 から 1.9.8 にダウングレードし、同様の問題を修正しました。 t はどこでも動作し、私の場合は開発中です)。私のRubyバージョンをダウングレードすることは、実際にはオプションではありません. :/

関連するコードは次のとおりです。

次に、.env に格納されている ENV 変数:

そして、 と でそれらをまったく同じに設定しましheroku config:set PRIVATE_KEYheroku config:set CERT

編集

エラーにつながる Heroku コンソールのセッションは次のとおりです。

そして、私の開発コンソールでの同等のセッション:

そして、を使用するコントローラーメソッドがありますAnalyticsQuerier。うまくいくと思ったとき、私はそれを本番にプッシュしました。これがログでどのように再生されるかを次に示します。

編集 2 - 正しい方向に進む可能性はありますか?

そのため、Val Asensio が指摘したように、Heroku が提供する SSH セットアップには問題があります (これは私にとって多かれ少なかれなじみのない領域ですが、私の理解には肉付けが必要であるため、できるだけ明確に言葉で表現しようとします)ここ)。

heroku-buildback-sshという gem を見つけました。これは、秘密鍵を適切に使用するには、env 変数に秘密鍵をロードするだけでなく、それ以上のことを行う必要があることを明確に示しています。ただし、readme では、プライベートにアクセスするためにパスフレーズを使用できないと指定されています。またrsa、これが .pem ファイルに対して機能することを示すものはありませんが、 something というファイルを使用していると想定しているようです。

ここで、Heroku からの ssh トンネリングに関する別の議論を見つけました。これが進むべき道だと思います。私の理解では、環境変数 PRIVATE_KEY を使用して秘密鍵ファイルを舞台裏で「再構築」できるようにする必要があり、Heroku の起動時にこれを行うスクリプトを作成できるということです。

ただし、ここでの私の理解は非常に不安定であり、回答スクリプトで説明されているユースケースは十分に異なっているため、この種の方法を使用してソリューションを構築する方法を推測する方法がわかりません.

ここで知りたいのは、Heroku がバックグラウンドで実行する bash スクリプトを使用して .pem キー ファイルを作成できるかということです。そうであれば、スクリプトの実行時にそのファイルが読み取られていることを確認するにはどうすればよいOpenSSL::PKey.readでしょうか? 代わりに、元の .pk12 ファイル自体をビルドすることもできると思いますか?

ALSO - 大きな疑問: 私は混乱したコードのもつれた結び目に残され、アプリケーション全体を破棄しなければならないほどひどく台無しにするつもりですか?ここに答えがあります) 実稼働環境でファイルを作成し、それらのファイルのアクセス許可を管理するスクリプトを書き始めたら?

0 投票する
1 に答える
2360 参照

javascript - Google API リクエストで「filters」パラメータを使用すると、常にエラーが発生しますか?

Google Analytics Core Reporting API のクエリを試しています。しかし、私は理解できないバグにぶつかりました。私は初期の頃なので、JavaScript 実装の例をクイックスタート ガイドからコピーしました。これを実行しました、それはうまくいきます、素敵です。

パラメータをいじり始めたところ、フィルタを入力するまでは問題ないように見えたので、

これはうまくいきました

動作しません

次のエラーが発生します。

ドキュメントを読み直しましたが、フィルターに問題はありません。

それで、私はここで何が欠けていますか?私がやっているように、フィルターに入ると失敗するのはなぜですか?


完全なコード

ClientIDなどがなければこれを実行できないと思いますが、ここに行きます(完全を期すために)