任何人都可以使用JavaScript将文件上传到我的Google云端硬盘公共文件夹

时间:2016-08-12 09:59:33

标签: javascript api file-upload google-drive-api httprequest

我是Google API新手。我的目标是允许网站用户将文件上传到我们的公共Google云端硬盘文件夹。我应该在客户端这样做。

我知道它并不安全,但团队正在推动我在前端做这件事。

我已经阅读并尝试了不同的解决方案(也来自StackOverflow的答案),没有任何效果。

我还检查了Google云端硬盘API文档:https://developers.google.com/drive/v3/web/manage-uploads

请求应该如下:

POST /upload/drive/v3/files?uploadType=media HTTP/1.1
Host: www.googleapis.com
Content-Type: image/jpeg
Content-Length: number_of_bytes_in_file
Authorization: Bearer your_auth_token

JPEG data

我尝试在JavaScript中创建一个简单的HTTP POST请求,但无法设置Host标头(不安全的标头错误)。

your_auth_tokenclient secret吗?

任何想法我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

您需要创建一个Google应用,以便在您的请求标题中获取您的auth_token标记,并且这应该可以正常工作。

授权如何运作 在高级别,所有应用程序都遵循相同的基本授权模式:

  1. 在Google API控制台中注册应用程序。
  2. 请求用户授予对其Google帐户中数据的访问权限。
  3. 如果用户同意,您的应用程序会请求并接收 凭证
  4. 访问云端硬盘API。
  5. 刷新凭据(如有必要)。
  6. 创建新身份验证

    1. 在“凭据”页面中,单击“创建凭据”> OAuth客户端 用于创建OAuth 2.0凭据或创建凭据的ID> 用于创建服务帐户的服务帐户密钥。
    2. 如果您创建了OAuth客户端ID,请选择您的应用程序 类型。填写表单并单击“创建”。
    3. 客户端密钥存储在此处:

      https://console.developers.google.com/flows/enableapi?apiid=drive&safe=vss&credential=client_key

      其他文档

      https://developers.google.com/drive/v2/web/about-auth

答案 1 :(得分:-2)

可以做到。 Digital inspiration的家伙构建了Javascript以将文件上传到Google云端硬盘。他们收取200美元的来源。