2012-08-03 30 views
1

“使用文件和文件夹”部分中的谷歌驱动器sdk文档说明了有关帖子标题的内容。它是:Google Drive SDK jsonRequest标题含义

POST https://www.googleapis.com/drive/v2/files 
Authorization: Bearer {ACCESS_TOKEN} 
Content-Type: application/json 

这是什么意思?头文件是否真的存在于jsonRequest中?这篇文章应该放在哪里?我们是否应该先输入标题,然后将json请求和json字符串一起放入服务器?或者,将ACCESS_TOKEN和其他信息与网址一起发布为get,如下所示?

​​

我知道你需要给一个访问令牌或一个API密钥,但是这是去哪里?这是在url字符串上进行,还是在post值或jsonRequest中进行?

我读过json.org中的jsonRequest,但仍然无法得到它。我是否需要考虑我的内容类型,内容长度和内容编码的真正含义?如果有的话,所有这些信息应该放在哪里?

有时,答案只是盯着我的脸,在我知道之前,我已经错过了这一点。那么,有人能给我一些启示吗?

回答

1

标头是HTTP请求的标准部分。 http请求的标准是头字段和请求方法。

POST https://www.googleapis.com/drive/v2/files

在这个例子请求方法是一个POST,它将该数据发送到谷歌驱动API服务器。这意味着,Google Drive API将接受POST请求。

Authorization: Bearer {ACCESS_TOKEN}

的授权,在此情况下,是一个ACCESS_TOKEN这是API_KEY。该服务器也可能会收到一个GET请求。服务器会在进程执行前检查用户是否获得授权:创建,删除,更新或获取文件(取决于Http Request json数据的发送方式)。

Content-Type: application/json

内容类型告诉将要发送的HTTP请求的MIME类型是一个JSON字符串服务器。 Mime类型可能已经是服务器的标准,这意味着你甚至不必将它放在代码中的任何地方,因为它假定你将发送一个json字符串,并且一旦你做了POST就会收到它。否则,它会给出错误。内容类型字段将始终收到Mime类型。 (有关MIME类型的列表,请参阅http://en.wikipedia.org/wiki/MIME_type。)

由于HTTP标头是标准,因此您需要知道Google Drive API服务器使用的标准类型。然后,跟随标题字段的放置位置。例如,ACCESS_TOKEN作为GET位于url字符串中,json字符串位于POST中。 (关于HTTP Header的列表,你也可以从http://en.wikipedia.org/wiki/List_of_HTTP_header_fields得到一个参考。)

+0

我只是觉得自从找到答案以后我需要详细说明答案(或者可能还挺)。但感谢Claudio更改标签,并感谢Alain给我的想法。 – 2012-08-15 20:43:22

1

Google Drive API是使用HTTP请求作为通信机制的RESTFul API。 Authorization标头是需要根据请求发送以进行授权的HTTP标头。 JSON仅用作资源表示。

但是,Drive API还支持将OAuth 2.0访问令牌作为?access_token=查询参数传递,这对您而言可能更加方便。

如果您使用的是受支持的客户端库之一,所有这些都是通过抽象类来处理的。

+0

那么,这是否意味着标题应该放在url字符串中?并且该帖子只会组成一个json文件?如果你只是要使用一个非客户端库,你会从头开始做所有事情,这是如何工作的? – 2012-08-06 22:51:58

+0

你是如何构建HTTP请求的? HTTP标头是标准的一部分,只需在请求行后面设置即可(请参阅[RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html))。 – Alain 2012-08-07 20:04:48

+0

纠正我,如果我错了,但我只是有这个疯狂的概念:我尝试构造一个带参数的url字符串。然后把它放在锚链接上。我发现它没有使用表单就提交了HTTP GET。我使用HTTP POST在同一页面上传递了相同的值。所以,我在想,如果我可以用参数构造一个字符串,发送一个帖子,我可以发送一个“get”和一个“post”的请求。但当然,这很棘手。这可能是关于这一切的。 – 2012-08-08 20:41:38