問題タブ [google-api-ruby-client]
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.
google-api - Webmaster API v3: バッチ リクエストを使用してservingLimitExceededを取得する
servingLimitExceeded
バッチ全体ではなく、バッチ内の結果に対してエラー メッセージが表示されます。たとえば、このエラーで 100 件のレコードが返された後、さらに多くの結果が返されることがあります。すべてが 1 つのバッチ内にあります。
バッチが Google API によって内部的に処理される場合、レート制限に達しないように調整するにはどうすればよいですか? バッチ間に 1 秒の遅延を追加しようとしましたが、これは変わりません。Ruby クライアントも設定retries = 3
しましたが、それが失敗したバッチを再試行することを意味するかどうかはわかりません。バックオフがこれを解決するはずなので、バッチ内の個々の API 呼び出しを再試行しているとは思いません。
失敗した結果を記録し、それらを個別に回復するために新しいバッチを作成する必要がありますか?
ちなみに、文書化されたクォータ制限エラーは紛らわしいものです。dailyLimitExceeded
とメッセージがありrateLimitExceeded
ますが、これはそれらのいずれかを返しません。servingLimitExceeded
「API に指定された全体的なレート制限にすでに達しています」という説明はあまり役に立ちませんが、これが到達したレート制限であると想定しています。
アップデート
コードを見ると、Ruby での再試行は送信エラーと認証(401) エラーgoogle-api-client
にのみ適用されることがわかります。403 (レート制限が返すもの)が発生し、とにかく再試行されません。ClientError
したがってretries
、クライアント オブジェクトの設定はこれとは関係ありません。
バッチでこれに対処するためにできることはありますか?
google-api-ruby-client - Google Prediction API は常に 1.0 または 0.0 のスコアを返します
google-api-ruby-client の挿入機能を使用して、trainingInstances の配列を渡しています。
predict を呼び出すと、以前は 0.653264 や 0.346736 などのスコアを取得していました (2 つの出力カテゴリを使用)。
リファクタリングを行った後、スコアは常に 1.0 と 0.0 になり、その間に確率はありません。
予測精度 (私が測定) は、ステータス関数によって与えられる精度にまだ近いため、トレーニング済みのモデルが機能しているように見えます。アプリケーションでスコアを使用したいので、1 から 0 の間のスコアが得られない理由を知りたいだけです。
どんな洞察も大歓迎です。
以下は、私が使用しているトレーニング データのサンプルです。
Google API Explorer でテストを実行し、トレーニング データを CSV ファイルにアップロードしました。
最初に (数週間前に) アップロードしたデータは、さまざまなスコアをもたらします。しかし、今日アップロードされたまったく同じデータのスコアは 1 または 0 しかありません。
これは文字エンコードの問題でしょうか?
ruby-on-rails - Rails 4: Google カレンダー イベントの作成
ここに示すように、Google カレンダーのイベントを挿入しようとしています。例のようにハードコーディングされた値でリクエストを送信すると、正常に動作します。
しかし、変数を送信しようとすると、黙って失敗します。
このようにフォーマットすると失敗します:
start_time
と を次のようにend_time
フォーマットして正常に投稿することができます: 、しかし、とパラメータは既にオブジェクトであるとDate.today.strftime("%Y-%m-%dT%l:%M:%S.000-07:00")
信じているため、これは理想的とは言えません。start_time
end_time
Time
Railsコンソールでこれを取得するため、フォームはパラメーターを渡しています(authenticity_token
簡潔にするために省略されています):
関連するコードは次のとおりです。
そして、ここに私がGoogleから得たものがあります(Authorization
簡潔にするために省略されています):
event
成功するには、これらのハッシュ値をどのようにフォーマットすればよいPOST
ですか?
解決:
streaming - Big Query へのストリームのインポート時にリクエストに行が存在しない
を使用してインポートデータを大きなクエリにストリーミングしようとしていましたtabledata.insert_all
しかし、私は常に次のエラーメッセージを受け取ります
誰かが同じ問題を抱えていて、それを修正する方法を知っていますか?
ありがとう。
ruby-on-rails - Google Oauth 認証の失敗
Railsアプリで「google-api-ruby-client」gemを使用して、ユーザーにGoogleドライブへのアクセスをリクエストできるようにしようとしています。ユーザーが同意をクリックするアクセス許可の要求ページに正常に移動しています。ユーザーが同意をクリックすると返されるコードをキャプチャするコントローラーにコールバック関数があります。次に、アクセストークンを取得しようとしています。これは私がハングアップしているところです。このエラーが発生しています:
私の現在のコントローラーコードは次のようになります。
正しい方向への助けやナッジは大歓迎です。
ありがとう!
ruby - oauthなしでyoutube APIへの認証済み呼び出しを行う方法は?
YouTube の統計情報をいくつか使用してデータベースにダンプするジョブを作成しています。
oauth をすべてセットアップするのは少し面倒でしたが、認証済みの呼び出しを行うことができました。ただし、ブラウザウィンドウを開いたりアクセスを要求したりせずに、バックグラウンドでこれを実行したいと考えています。
API キーを使用して Google API クライアントを初期化しようとすると、「ArgumentError: Missing access token.」というメッセージが表示されて失敗します。