1. ホーム
  2. google-api

Google API 認証。クライアントの有効なオリジンではありません

2023-09-13 21:57:21

質問

Google API(gapi)に認証リクエストをすると、checkOriginでfalseが返されます。

クライアントIDなど、自分のアカウントに直接リンクするようなものは削除し、参考までに何のデータかを示す正規表現に置き換えています。

URL https://accounts.google.com/o/oauth2/iframerpc?action=checkOrigin&origin=https%3A%2F%2Flocal.tools&client_id=(\d{21})

私のオリジンURLはローカルURLで、これは https://local.tools

結果は {valid: false}

私はここにある例をそのまま使っています(clientidを私の21桁のclientidに置き換えた以外は)。 https://ga-dev-tools.appspot.com/embed-api/third-party-visualizations/

表示しようとしている項目は、デモ サイトではうまく表示されますが、私の local.tools サイトでは Not valid origin for the client エラーを乗り越えることができません。

どのように解決するのですか?

この例で作業していると、同じコンソールのエラーメッセージが表示されました。 https://developers.google.com/analytics/devguides/reporting/embed/v1/getting-started

ドキュメントには、2 つの重要なステップを見落とさないようにと書かれています ("説明を読み進める中で、次の 2 つの重要なステップを見落とさないようにすることが重要です。 Analytics API を有効にする [&] 正しい起源を設定する") が、正しい起源を設定する場所については明確に記述されていません。

手持ちのクライアント ID が動作しないため、新しいプロジェクトと新しいクライアント ID を作成しました。 新しいプロジェクトは必要なかったかもしれませんが、私はそれを保持 (そして使用) しています。

以下はうまくいったものです。

クレデンシャルの作成中に、"Restrictions というセクションが表示されます。 JavaScript のオリジン、リダイレクト URI、またはその両方を入力してください" と表示されます。 ここで、オリジンを入力します。

クライアント ID (および秘密) を保存してコピーします。

私のスクリプトは、新しい OAUTH クレデンシャルを作成し、オリジンを割り当て、このプロセスに従って新しく生成されたクライアント ID を使用した後に動作しました。