1

与えられた

同じ AdWords API アクセス資格情報を使用する 2 つの異なるアプリケーションを開発しています。ボット アプリケーションは、API からのデータの収集/分析のみを目的としています。

アプリケーション #1 と #2 は、API からデータを取得/分析するプロセスを完了するのに約 1 時間かかります。

私は使用しています:

  1. 自分の AdWords アカウント、
  2. ClientLogin認証方法、
  3. ルビー言語。

問題

両方のタイムフレーム (アプリ #1 と #2) が重複する場合があり、これらのエラーが大量に発生し始めます。

AdwordsApi::Errors::ReportXmlError: HTTP code: 400, error type: 'AuthorizationError.USER_PERMISSION_DENIED'

次の一連のイベントで問題が発生します。

  1. アプリ #1 は Google に認証トークンを要求し、受け取ったらそれをキャッシュします。
  2. アプリ #1 はトークンを使用してデータ取り込みプロセスを開始し、
  3. アプリ #2 は Google に認証トークンを要求し、受け取ったらそれをキャッシュします。
  4. アプリ #2 はトークンを使用してデータ取り込みプロセスを開始し、
  5. アプリ #1 は AdWords API からデータの別の部分を要求しますが、項目 3 のためにアプリ 1 の認証トークンが無効になり、アプリは上記のエラーのためにチョークを開始します。

問題は、トークンの干渉や無効化なしに、両方のアプリケーションが同時に AdWords API にアクセスできるように設定する方法があるかどうかです。

4

1 に答える 1

1

あなたが説明したのと同じパターンに従う多くのアプリがありますが、トークンの無効化は発生しません。

AdwordsApi::Api.new(credentials).authorize

そこに返されたトークンをキャッシュして、後続のリクエストで再利用しますが、使用する資格情報は多くのアプリで共有されており、トークンは1つのアプリでのみ使用されます。12時間キャッシュしてから期限切れにし、新しいものを発行します。

于 2013-01-04T14:48:29.960 に答える