Javascript 如何在没有本地服务器的情况下设置Google Drive客户端ID进行访问?
我想知道是否有可能,比如说,在一台随机计算机上打开一个应用程序,登录、验证并使用驱动器API,而不必让本地服务器一直运行?那么,人们究竟是如何着手建立这一机制的呢?如果这是一个简单的问题,我很抱歉,但我只是有点不知所措,因为到目前为止我发现的说明还不清楚 编辑: 到目前为止,我有以下几点:Javascript 如何在没有本地服务器的情况下设置Google Drive客户端ID进行访问?,javascript,google-drive-api,Javascript,Google Drive Api,我想知道是否有可能,比如说,在一台随机计算机上打开一个应用程序,登录、验证并使用驱动器API,而不必让本地服务器一直运行?那么,人们究竟是如何着手建立这一机制的呢?如果这是一个简单的问题,我很抱歉,但我只是有点不知所措,因为到目前为止我发现的说明还不清楚 编辑: 到目前为止,我有以下几点: 通过创建项目 在那里打开该项目,导航到API&auth下的API,并确保启用了驱动API 进入凭据,并单击“创建新的客户端ID” 选定的“Web应用程序” 将授权的javascript源代码设置为 删除重定
- 选定的“Web应用程序”
- 将授权的javascript源代码设置为
- 删除重定向URI中的任何内容并将其保留为空,然后按“创建客户端ID”
- 这不能通过在浏览器中简单地打开来运行,所以我必须托管一个本地服务器
- 我在命令行中导航到该目录,然后键入“python-msimplehttpserver 4567”(不带引号),这托管了一个本地服务器
- 在我的web浏览器中打开,在将新创建的客户机ID复制到他们要求的文件中之后,所有这些示例都可以正常工作
- 如何在web应用程序中使用driveapi而不必设置本地服务器,比如只需在jsfiddle中运行代码,并通过使用客户机ID通过我的项目发送请求,以及
- 如果设置了本地服务器,网络上的任何人都可以访问该服务器,那么如何修改上述步骤以允许任何客户端打开该服务器的网页以使用google drive API
我还知道,只能使用客户端的用户名和密码打开google Excel电子表格,所以我怀疑我正在寻找的是可能的,但我不确定。好的,所以我找到了一个非常有效的解决方案:
- 转到Google开发者控制台
- 与前面一样,导航到API和Auth下的凭据
- 单击“创建新的客户端ID”
- 选择Web应用程序
- 在“重定向URI”下,放置“”和“”(不带引号,在单独的行上)
- 在“Javascript源代码”下放置“”和“”
- 按“创建客户端ID”
// 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);
});;
}
//这只起作用,因为我们设置为“No wrap-in”
函数ShowDriveFileList(){
var-accessToken;
//用我们的密钥初始化OAuth
OAuth.initialize('lmglb8aftff4y5en_c8XYOSq2A');
//连接到谷歌硬盘,打印出文件列表
OAuth.popup('google_drive').done(函数(结果){
var xmlHttp=null;
xmlHttp=新的XMLHttpRequest();
open(“GET”https://www.googleapis.com/drive/v2/files“,假);
setRequestHeader(“授权”、“承载者”+结果.access_令牌);
xmlHttp.send(空);
警报(xmlHttp.responseText);
}).失败(功能(错误){
警惕(err);
});;
}
你可以在网站上找到。这使用了我的oauth.io客户端id,但是你可以用你的替换它,它也应该可以工作。好的,所以我找到了一个非常有效的解决方案:
- 转到Google开发者控制台
- 与前面一样,导航到API和Auth下的凭据
- 单击“创建新的客户端ID”
-
// 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); });; }