【发布时间】:2015-08-29 17:06:44
【问题描述】:
我想创建一个命令行工具来下载文件并将其上传到我的 Google Drive。我不想使用 Google 已经提供 api 调用的任何语言(Java、php、javascript、C# 等)。
我将使用 Haskell,但这与问题无关。
我现在要做的是形成一个上传文件的 POST 请求。我现在的要求是这样的:
POST /upload/drive/v2/files?uploadType=media HTTP/1.1
Host: www.googleapis.com
Content-Type: */*
Content-Length: 5
Authorization: Bearer AIzaSy......jH683-FRO9GI
Cache-Control: no-cache
test1
我得到了这样的回应:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Invalid Credentials"
}
}
在Authorization: 旁边,我放置了我从 Google 开发者控制台创建的 API 密钥。
我想我必须做不止一个请求才能完成这项工作。首先,我必须获取一个授权码,然后使用该代码获取一个授权令牌,然后将该令牌用于我的发布请求。
我怎样才能做到这一点?谁能给我一个简短的例子?
【问题讨论】:
-
没有短示例,只有长示例,它们在 Google 文档中。在尝试与云端硬盘对话之前,您需要了解并实施 OAuth
-
@pinoyyid 在谷歌文档中,我发现仅适用于 Java、C#、Javascript 等的示例...
-
搜索 Google Oauth,你会看到其余 api 的片段。例如 https://developers.google.com/identity/protocols/OAuth2WebServer?hl=en。请记住,在您知道足够的 OAuth 以获取访问令牌之前,请勿靠近 Google Drive。
标签: rest google-drive-api google-oauth