2012-08-03 94 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