1
我在Google API的$ .ajax请求中收到404错误。 我有这些代码,在浏览器上使用javascript在Google API上发送发布请求
var asyncLoad = require('react-async-loader');
var CLIENT_ID = '<SOME_ID>';
var DISCOVERY_DOCS = ["https://www.googleapis.com/discovery/v1/apis/drive/v3/rest"];
var SCOPES = 'https://www.googleapis.com/auth/drive';
const mapScriptToProps = state => ({
gapi: {
globalPath: 'gapi',
url: 'https://apis.google.com/js/api.js'
}
});
@asyncLoad(mapScriptToProps)
...
我用异步加载器的反应的bundle.js之前得到的谷歌API。 然后我得到属性中的gapi。这是我提交表单的下一个代码。
submitForm(e){
e.preventDefault();
var data = this.refs.file.files[0];
var self = this;
var formData = new FormData();
formData.append('data', data);
$.ajax({
url: "https://www.googleapis.com/upload/drive/v3?uploadType=media&access_token="+encodeURIComponent(self.state.token),
type: "POST",
processData: false,
data: formData,
beforeSend: function (xhr) {
/* Authorization header */
xhr.setRequestHeader("Authorization", "Bearer " + self.state.token);
xhr.setRequestHeader('X-Upload-Content-Length', data.size);
xhr.setRequestHeader("Content-Type", "image/jpeg");
xhr.setRequestHeader('X-Upload-Content-Type', "image/jpeg");
},
success: function(data){
if(typeof data === "string") data = JSON.parse(data);
console.log(data);
if(data.success){
console.log("done");
}else {
console.log("error");
}
}
});
}
所以在这里,我呼吁submitForm功能按钮被点击上传时。我也有文件输入ref="file"
。这在客户端(浏览器)端运行。我得到了404错误。
我想在这里做的是上传图片文件到谷歌驱动器。我该如何做到这一点?任何解决我的问题?