我想知道是否可以在随机计算机上打开jsfiddle并登录并验证并使用驱动器API,而无需一直运行本地服务器?一个人如何设置它?我很抱歉,如果这是一个简单的问题,但我只是因为我到目前为止发现的说明不清楚而丢失了。
编辑:
我还制作了一个python应用程序,使用pydrive I:
然而,除此之外,我有点不确定,特别是:
我知道我很可能需要在开发人员控制台中设置公共API访问权限,但我不完全确定我应该使用哪些Referers。那么有没有一种简单的方法可以做到这一点?
我也知道gspread只能使用客户端的用户名和密码打开google excell电子表格,所以我怀疑我正在寻找的是可能的,但我不确定。
答案 0 :(得分:5)
好的,所以我找到了一个效果很好的解决方案:
{ "access_token": "ya29.AwH-1N_gnstLBuZfOR4W9CCcggKrQpMyKYV4QVEtCiIzHozNU5AfUJoYQzukALfjdiw2iOCUve7JbQ", "token_type": "Bearer", "expires_in": 3600, "provider": "google_drive" }
要使用此功能,您可以执行以下操作:
// This only works because we're set to "No wrap - in <head>"
function ShowDriveFileList() {
var accessToken;
// Initialize OAuth with our key
OAuth.initialize('lmGlb8BaftfF4Y5en_c8XYOSq2A');
// Connect to google drive, and print out file list
OAuth.popup('google_drive').done(function (result) {
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "https://www.googleapis.com/drive/v2/files", false);
xmlHttp.setRequestHeader("Authorization", "Bearer " + result.access_token);
xmlHttp.send(null);
alert(xmlHttp.responseText);
}).fail(function (err) {
alert(err);
});;
}
您可以在http://jsfiddle.net/JMTVz/41/找到。这使用我的oauth.io客户端ID,但您可以将其替换为您的,并且它也可以正常工作。
答案 1 :(得分:1)
您可以使用OAuth Playground执行相同的操作。
请参阅How do I authorise an app (web or installed) without user intervention? (canonical ?)
步骤11将有所不同。您可以使用与在答案中相同的方式将访问令牌粘贴到JS中,而不是将刷新令牌粘贴到您的服务器应用程序(您没有)中。