我正在使用谷歌驱动器API,我只是在收到错误时尝试加载库。
function loadDriveApi(){
gapi.client.load('drive','v3',setMeta())
}
这是我从文档中获得的加载函数。这由addlistener调用
<script>document.getElementById('save').addEventListener('click',loadDriveApi())</script>
并且loadDriveApi最终调用此函数。
function setMeta(){
var body={'contentHints.indexableText': document.getElementById('drop')}
var request = gapi.client.drive.files.update({
'fileId': document.getElementById('doc_id').value,
'resource': body
});
request.execute(function(resp){
console.log('Copy ID: ' + resp.id);
})
}
这让我发疯,它可能是一个如此小而愚蠢的东西,最终会成为问题,但如果你有任何建议,我很乐意听到它们。我也是javascript的新手,所以这可能就是为什么
由于
答案 0 :(得分:1)
gapi.client可能为null或未定义。如果是,则不存在任何属性,因此您将收到未定义的属性错误。
确保在调用loadDriveApi()之前已完全加载Google Drive API JavaScript依赖项。
此外,您应该将loadDriveApi函数传递给addEventListener方法,而不是调用loadDriveApi的结果。
例如:
<script>document.getElementById('save').addEventListener('click',loadDriveApi())</script>
应该是
<script>document.getElementById('save').addEventListener('click', loadDriveApi)</script>
同样适用于gapi.client.load函数:
gapi.client.load('drive','v3',setMeta())
应该是
gapi.client.load('drive','v3',setMeta)