相关疑难解决方法(0)

如何通过API向Google云端硬盘添加/创建/插入文件?

需要有关通过api将文件插入谷歌驱动器的帮助.用于此目的的api文档没有清楚地解释如何通过http post请求发送文件的实际主体.

google-api google-api-client google-drive-api

32
推荐指数
3
解决办法
7万
查看次数

是否可以通过JS客户端库为Drive使用授权时正确选择任何可用的Google帐户?

我有一个现有的支持Google Drive的应用程序正在使用Google Java客户端库和服务器流程验证.

如果您没有登录该应用程序并导航到该网址并且您已在该浏览器上登录了多个Google帐户(只有一个个人Google帐户,则其他任何一个都必须是Google商家帐户)OAuth回调优惠选择要使用的Google帐户的选项.

但是,在测试使用JavaScript客户端库的开关时,我无法使用gapi.auth.authorize激活多个帐户选择屏幕.是否可以使用JS库处理多个帐户?

更新:我尝试了immediate参数false.只要我不在弹出窗口中更改帐户,我就可以登录.如果我更改帐户,我会:

https://accounts.google.com/o/oauth2/auth?client_id=433863057149.apps.googleusercontent.com&scope=https://www.googleapis.com/auth/drive.file+https://www.googleapis. COM /认证/ drive.install + HTTPS://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile&immediate=false&redirect_uri=postmessage&origin=https:// drivedrawio. appspot.com&代理= oauth2relay593063763&RESPONSE_TYPE =令牌状态= 701344514&AUTHUSER = 1

在一个新标签中没有任何反应.我制作了一个视频来演示.

更新2:已接受针对需要双重选择多个帐户的JS客户端库的此错误.

google-account oauth-2.0 google-api-client google-drive-api

21
推荐指数
1
解决办法
9885
查看次数

我可以使用Google驱动器进行Chrome扩展(不是应用)

我有一个chrome扩展(不是App),它是来自免费第三方的数据混搭.我不为我的扩展程序维护服务器.

我可以使用Google驱动器使用用户帐户保存用户数据,因此可以由不同的计算机共享吗?

javascript google-chrome-extension google-drive-api

19
推荐指数
3
解决办法
5732
查看次数

Google Drive API javascript

我正在尝试使用Google驱动器列出文件.

使用/sf/answers/789618021/中的答案我发现了一个我无法找到原因的问题.

var clientId = '*********.apps.googleusercontent.com';
var apiKey = '##########';
var scopes = 'https://www.googleapis.com/auth/drive';


function handleClientLoad() {
    gapi.client.setApiKey(apiKey);
    window.setTimeout(checkAuth,1);
}

function checkAuth() {
    gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true},handleAuthResult);
}

function handleAuthResult(authResult) {
    var authorizeButton = document.getElementById('authorize-button');

    if (authResult && !authResult.error) {
        authorizeButton.style.visibility = 'hidden';
        makeApiCall();
    }  
    else {
        authorizeButton.style.visibility = '';
        authorizeButton.onclick = handleAuthClick;
    }
}

function handleAuthClick(event) {
    gapi.auth.authorize({client_id: clientId, scope: [scopes], immediate: false}, handleAuthResult);
    return false;
}

function makeApiCall() {  
    gapi.client.load('drive', 'v2', makeRequest);   
}

function …
Run Code Online (Sandbox Code Playgroud)

javascript google-drive-api

14
推荐指数
2
解决办法
2万
查看次数

轻松将客户端 JS 中生成的内容保存到 Google Drive 中的文件中

如果您想允许用户将您网站上的文件保存到 Google 云端硬盘,这非常简单。只需使用“保存到驱动器”按钮,几行代码即可处理所有事情。伟大的。

我希望我的网站具有这种行为。但是,我想在那里保存用户生成的文本,而不是服务器上的静态文件。我在 JavaScript 变量中有文本,但似乎无法使用简单的“保存到驱动器”按钮。文档指出“数据 URI ...不受支持”,我的测试表明对象 URL类似地不受支持(这个人发现了同样的事情)。

我知道,理论上,应该可以使用 Google Drive API 来做我想做的事情。这个问题这个问题提供了一些关于它如何工作的提示,但这一切看起来都非常复杂(甚至没有人制作一个演示来证明它确实有效,AFAICT)。

我不想处理用户登录、会话、API 密钥、授权、权限、让用户在 Google Drive 中“安装”我的应用程序等。我只想要一个按钮,有人可以按下来存储来自 JS 的一些文本新文档中的变量。“保存到驱动器”按钮的具体工作原理。这是否可行?

这不仅关系到我的复杂性,也关系到我的用户的复杂性。我想为他们提供一个非常简单、独立的功能。我不希望我的应用程序与 Google 云端硬盘紧密相连。

javascript google-drive-api

8
推荐指数
1
解决办法
3007
查看次数

将文件从 Chrome 扩展程序保存到 Google Drive

我创建了一个 chrome 扩展来学习英语,它构建了一个带有源/翻译等的字典。

现在,我想将此“文件”(我将/将使用字典条目构建一个“文件”)发送到 Google Drive 并在我的 Android 应用程序中使用此文件。

但是我不想将此文件保存在我的个人 Drive 帐户中,而是保存在当前用户的 Drive 中,即使用 chrome 扩展程序的用户(当然,如果该用户有 Drive 帐户)。

在我找到的所有示例中,他们为“我的”帐户定义了 OAuth(“我的”= 中的 chrome 开发人员manifest.json,因此,静态)。

有没有办法保存在用户的驱动器中?

google-chrome-extension google-drive-api

6
推荐指数
1
解决办法
1858
查看次数

使用 JavaScript 的 Google Drive:处理文件内容

两个月前,在使用 JavaScript 授权 Google Drive中,
@Nivco写了一篇关于“处理文件内容”的文章,非常诱人:

我们还可以改进文件内容服务器,使其支持 XHR 请求。

那么,“我们”在哪里可以找到有关此功能的新闻或路线图、信息



实际上,这个问题是一个答复...(对另一个问题

javascript google-drive-api

2
推荐指数
1
解决办法
3350
查看次数

如何设置Google Drive Client ID以便在没有本地服务器的情况下进行访问?

我想知道是否可以在随机计算机上打开一个jsfiddle并登录并验证并使用驱动器API,而无需一直运行本地服务器?一个人如何设置它?我很抱歉,如果这是一个简单的问题,但我只是因为我到目前为止发现的说明不清楚而丢失了.

编辑:

到目前为止,我有,从以下这里这里:

  1. 通过Google Developers Console创建了一个项目.
  2. 在那里打开那个项目,导航到API和auth下的API,并确保启用了Drive API
  3. 进入凭据,然后点击"创建新的客户端ID"
    • 选择"Web应用程序"
    • 将授权的javascript原点设置为http:// localhost:4567
    • 删除重定向URI中的任何内容并将其留空,然后按"创建客户端ID".
  4. 取一个像这样,这样或者这样的样本,并将它存储在一个名为index.html的本地文件中.
    • 这不会只是在一个浏览器中打开,所以我必须托管一个本地服务器
    • 我在命令行中导航到该目录,然后键入"python -m SimpleHTTPServer 4567"(不带引号)并托管本地服务器
    • 在我的web浏览器中打开http:// localhost:4567,并且在将新创建的客户端ID复制到他们要求的这些文件中之后,所有这些示例都正常工作.

我也做了一个python应用程序,使用pydrive I:

  1. 单击"创建新客户端ID",然后单击"已安装的应用程序"和"其他",然后单击"创建客户端ID".
  2. 接下来,我转到旧的Google API控制台,点击API Access,找到客户端ID,然后点击下载JSON.
  3. 我把这个client_secrets.json放在我的python应用程序旁边,这允许pydrive成功进行身份验证,我可以使用该客户端ID访问和修改我的google驱动器文件.虽然我在将应用程序提供给另一个人之前当然删除了这个client_secrets.json,并向他们展示了如何执行此过程.

但是,除此之外,我有点不确定,特别是:

  • 如何在Web应用程序中使用驱动器api而无需设置本地服务器,例如只需在jsfiddle中运行代码并通过使用客户端ID通过我的项目发送请求,以及
  • 如果设置的本地服务器可以被网络上的任何人访问,那么如何修改上述步骤以允许任何客户端打开该服务器的网页以使用google drive API?

我知道我很可能需要在开发人员控制台中设置公共API访问权限,但我不完全确定我应该使用哪些Referers.那么有一种简单的方法可以做到这一点吗?

我也知道gspread只能使用客户端的用户名和密码打开google excell电子表格,所以我怀疑我正在寻找的是可能的,但我不确定.

javascript google-drive-api

1
推荐指数
1
解决办法
369
查看次数