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})
私のOrigin URLはhttps://local.tools
であるローカルURLです
結果:{valid: false}
ここにある例をそのまま使用しています(clientidを21桁のclientidで置き換える場合を除く): https://ga-dev-tools.appspot.com/embed-api/third-party-visualizations/
表示しようとしているアイテムはデモサイトにうまく表示されますが、local.toolsサイトのクライアントエラーに対して無効なオリジンを通過していません。
この例を使用すると、同じコンソールエラーメッセージが表示されました: https://developers.google.com/analytics/devguides/reporting/embed/v1/getting-started
ドキュメントには、2つの重要な手順を見落とさないように記載されています(「手順を進める際に、これら2つの重要な手順を見逃さないことが重要です。AnalyticsAPIを有効にする[&]正しい起点を設定する」)正しい原点を設定します。
私が持っていたクライアントIDが機能していなかったため、新しいプロジェクトと新しいクライアントIDを作成しました。新しいプロジェクトは必要なかったかもしれませんが、私はそれを保持しています(そして使用しています)。
うまくいったのは次のとおりです。
資格情報の作成中に、「JavaScriptの発信元、リダイレクトURI、またはその両方を入力する制限」というセクションが表示されます。ここで、起源を入力できます。
クライアントID(およびシークレット)を保存してコピーします。
新しいOAUTH資格情報を作成し、Originを割り当て、このプロセスに従って新しく生成されたクライアントIDを使用した後、スクリプトが機能しました。
ブラウザのキャッシュをクリアします。 Chromeでこのエラーの取得を開始した後、新しいクライアントIDを作成しましたが、引き続き問題が発生していました。 firefoxを開いて動作したので、Chromeのキャッシュをクリアし、動作を開始しました。
APIが有効になっていない場合、資格情報は機能しません。私の場合、次の手順が必要でした:
キャッシュをクリアしてからハードリロードしてみて、同じエラーが発生しましたが、シークレットブラウザでchromeで実行しようとするとうまくいきました。
私のために-私はちょうどここに行きました:
https://console.developers.google.com/apis/credentials
次に、適切なプロジェクトを選択しました。次に、コンソールエラーメッセージに表示されているのと同じIDの認証情報を選択します。資格情報を編集するとき、ホワイトリストに複数のオリジンを追加できます。
新しいoauth資格情報の作成がうまくいきました
Allow-Control-Allow-Origin:* ブラウザ拡張機能が原因でエラーが発生しました。