如何使用OAuth 2.0客户端ID下载谷歌驱动器文件?
我一直在尝试一段时间,从用户的谷歌驱动器为我的网络应用下载设置文件。我能够使用JavaScript成功上传文件,但现在我无法使google example download代码正常工作以获取文件的内容。这是当前的代码。我能够获得文件的元数据。如何使用OAuth 2.0客户端ID下载谷歌驱动器文件?
function downloadFile(file) {
if (file.downloadUrl) {
var accessToken = gapi.auth.getToken().access_token; <-Error
var xhr = new XMLHttpRequest();
xhr.open('GET', file.downloadUrl);
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
xhr.onload = function() {
console.log(xhr.responseText);
};
xhr.onerror = function() {
console.log("ERROR");
};
xhr.send();
} else {
console.log("No file.downloadUrl");
}
}
控制台错误说“无法读取属性‘的access_token’空的”,我想这可能是因为它需要一个API密钥,但我使用的客户端ID签名的人,是否有办法在不使用API密钥和客户端ID的情况下执行此操作?
您需要有一个API密钥才能与Google的任何API一起使用。 https://developers.google.com/loader/signup
为什么你不想注册一个?
我的意思是我对此不太了解,但我已经与google api进行了交互。我可以使用我的客户端ID将文件上传到用户的云端硬盘。我不认为我需要API密钥和客户端ID。我也不知道如何将两者都集成到我的网络应用程序 – exiledwolf
这是我的错误,你不应该需要一个驱动器的API密钥。由于认证错误,特定的错误更可能发生。我假设你在此之前进行身份验证? –
您可能还想看看导出文件。 https://developers.google.com/drive/v3/reference/files/export –
可能的重复 - http://stackoverflow.com/questions/23654749/google-app-engine-authorization-returning-null。你的请求没有被处理,因为'getToken'为空(这表明应用程序未被正确授权) – adjuremods