谷歌客户端.js Oauth2拒绝显示iFrame

Google client.js Oauth2 refused to display iFrame

本文关键字:显示 iFrame 拒绝 Oauth2 客户端 js 谷歌      更新时间:2023-09-26

>背景:我正在使用 Google 客户端.js访问我创建的云端点项目。当代码执行并返回应显示身份验证确认的 iFrame 时,我收到错误

拒绝显示"..."因为它将"X帧选项"设置为"SAMEORIGIN"。

我知道这是一项安全功能,可以防止恶意旁加载内容,但我似乎无法弄清楚我哪里出错了。

var CLIENT_ID = "this is my id";
var SCOPES = "https://www.googleapis.com/auth/userinfo.email";
function init() {
    var apisToLoad;
    var loadCallback = function() {
        if (--apisToLoad == 0) {
            signin(true, userAuthed);
        }
    };
    apisToLoad = 2; // must match number of calls to gapi.client.load()
    apiRoot = '//' + window.location.host + '/_ah/api';
    gapi.client.load('business', 'v1', loadCallback, apiRoot);
    gapi.client.load('oauth2', 'v2', loadCallback);
}
signin = function(mode, callback) {
    gapi.auth.authorize({client_id: CLIENT_ID,
            scope: SCOPES, immediate: mode},
        callback);
};
function userAuthed() {
    var request =
        gapi.client.oauth2.userinfo.get().execute(function(resp) {
            if (!resp.code) {
                // User is signed in, call my Endpoint
                gapi.client.business.retrieve().execute(function(resp) {
                    console.log(resp);
                });
            }
        });
}

原来我使用了错误的 api 密钥。如果遇到此问题,请使用正确的 api 密钥。