gpt4 book ai didi

javascript - Google Drive SDK/API gapi 无法在 IIS 服务器上加载身份验证(Javascript)

转载 作者:行者123 更新时间:2023-12-03 08:41:28 25 4
gpt4 key购买 nike

我试图让 Google Drive Picker 使用 Javascript 在我的表单中工作,但我的 gapi 对象不会加载“auth”。

Uncaught TypeError: Cannot read property 'authorize' of undefined

我的代码在我的测试环境(http-server)中工作,但是一旦我在我的工作环境(IIS7服务器)中实现它,我就会返回上述错误。可能值得注意的一件事是,我的测试环境运行一个 .html 文件,而工作环境运行一个 .php 文件,它们最终都呈现为 html,所以我不确定这是否会成为问题。

如果有人可以帮助我告诉我哪里出错了,我将不胜感激!

这是我的代码:

var googlebtn = document.getElementById("GoogleBtn");

function onApiLoad(){

gapi.load('auth',{'callback':onAuthApiLoad});

gapi.load('picker');
}

function onAuthApiLoad(){

window.gapi.auth.authorize({
'client_id':'583082286729',
'scope':['https://www.googleapis.com/auth/drive']
},handleAuthResult);
}
var oauthToken;

function handleAuthResult(authResult){
if(authResult && !authResult.error){
oauthToken = authResult.access_token;
console.log(oauthToken);
createPicker();
}
}

function createPicker(){
var picker = new google.picker.PickerBuilder()
.addView(new google.picker.DocsView())
.setOAuthToken(oauthToken)
.setDeveloperKey('AIzaSyAe3mAw6BvQzkpbTWxns4UFAbATN_1euQM')
.setCallback(pickerCallback)
.build();
picker.setVisible(true);
}

function pickerCallback(data) {

if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
var doc = data[google.picker.Response.DOCUMENTS][0];
var id = doc[google.picker.Document.ID];

}
if(data[google.picker.Response.ACTION] == google.picker.Action.CANCEL){

}

}


googlebtn.addEventListener('click', function(){

onApiLoad();

});

最佳答案

事实证明它没有正确加载 api(我的gapi对象缺少函数的原因),通过添加 <script src="https://apis.google.com/js/client.js?onload=onApiLoad"></script> 来修复在标题中。

关于javascript - Google Drive SDK/API gapi 无法在 IIS 服务器上加载身份验证(Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33036966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com