Javascript 无法在Chrome扩展的后台脚本中使用google身份验证api库
我正在尝试从chrome扩展的后台脚本访问endpoints API。我正在加载库(Javascript 无法在Chrome扩展的后台脚本中使用google身份验证api库,javascript,google-chrome,authentication,google-chrome-extension,Javascript,Google Chrome,Authentication,Google Chrome Extension,我正在尝试从chrome扩展的后台脚本访问endpoints API。我正在加载库(platform.js),该库已作为web\u-accessible\u资源包含在我的manifest.json中 基本上,我获取platform.js文件的主体并评估其内容以创建gapi对象 代码如下所示: $.get(chrome.extension.getURL('/res/lib/js/platform.js'), function(data) { eval(data); // To create
platform.js
),该库已作为web\u-accessible\u资源包含在我的manifest.json
中
基本上,我获取platform.js文件的主体并评估其内容以创建gapi
对象
代码如下所示:
$.get(chrome.extension.getURL('/res/lib/js/platform.js'), function(data) {
eval(data); // To create gapi object
console.log(gapi);
if(typeof gapi !== 'undefined'){
// I should have a auth property in gapi now, but there isnt any
gapi.auth.authorize({client_id: client_id, scope: scopes, immediate:true},
function(token){})
});
}
});
我的问题是gapi对象被创建,但没有名为auth的属性。
需要调用行gapi.auth.authorize…
以使用Google API进行身份验证
我也尝试过使用gapi.load('auth',function(){})
,但没有帮助
当我在普通HTML文件中的脚本标记中加载platform.js时,默认情况下它具有“auth”属性。我不必装它
谁能告诉我有没有解决办法
或者,在不使用chrome.identity的情况下,通过chrome扩展对Google API进行身份验证的最佳方式是什么?@DanielHerr,我想使用一个单独的客户端id来访问我的API,从我的manifest.json中获取。使用gapi似乎是唯一的方法。不太清楚你想要什么,所以你的问题是如何在后台页面加载platform.js
。@haibarai我可以加载platform.js文件,创建了一个gapi
对象,但gapi.auth
是我想要的。@haibarai,当我在普通HTML页面中加载带有标记的platform.js时,gapi对象是使用auth属性创建的。我想知道为什么在chrome扩展中这样做时不会发生这种情况。@DanielHerr,我想使用一个单独的客户端id从manifest.json中访问我的API。使用gapi似乎是唯一的方法。不太清楚你想要什么,所以你的问题是如何在后台页面加载platform.js
。@haibarai我可以加载platform.js文件,创建了一个gapi
对象,但gapi.auth
是我想要的。@haibarai,当我在普通HTML页面中加载带有标记的platform.js时,gapi对象是使用auth属性创建的。我想知道为什么当我在chrome扩展中这样做时,它不会发生。