Google 驱动器 SDK/API gapi 无法在 IIS 服务器上加载 auth(Javascript)
Google Drive SDK/API gapi can't load auth on IIS server(Javascript)
我正在尝试使用 Javascript 在我的表单中获取 Google Drive Picker,但我的 gapi 对象不会加载 "auth"。
Uncaught TypeError: Cannot read property 'authorize' of undefined
我的代码在我的测试环境(http 服务器)中工作,但是一旦我在我的工作环境(IIS7 服务器)中实现它,我就返回了上面的错误。可能值得注意的一件事是,我的测试环境运行一个 .html 文件,而工作环境运行一个 .php 文件,它们在结束所以我不确定这是否会成为问题。
如果有人能告诉我哪里出错了,我将不胜感激!
这是我的代码:
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 object 缺少函数的原因),通过在header.
我正在尝试使用 Javascript 在我的表单中获取 Google Drive Picker,但我的 gapi 对象不会加载 "auth"。
Uncaught TypeError: Cannot read property 'authorize' of undefined
我的代码在我的测试环境(http 服务器)中工作,但是一旦我在我的工作环境(IIS7 服务器)中实现它,我就返回了上面的错误。可能值得注意的一件事是,我的测试环境运行一个 .html 文件,而工作环境运行一个 .php 文件,它们在结束所以我不确定这是否会成为问题。
如果有人能告诉我哪里出错了,我将不胜感激!
这是我的代码:
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 object 缺少函数的原因),通过在header.