Javascript 无法在Chrome扩展的后台脚本中使用google身份验证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

我正在尝试从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 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扩展中这样做时,它不会发生。