2014-11-01 93 views
1

我希望能夠通過HTTP GET請求查詢Gmail API。通過HTTP URL查詢Gmail API

我在查詢Gmail API以從我的INBOX標籤中獲取未讀郵件的郵件數。

API參考:https://developers.google.com/gmail/api/v1/reference/users/labels/get

的API參考示出了以下的HTTP請求,以獲得未讀計數。

GET https://www.googleapis.com/gmail/v1/users/userId/labels/id 

該API參考文件還指出您需要通過OAuth 2.0進行授權。

我設法獲得了在PHP庫中工作的例子來成功查詢API,但沒有足夠的PHP文檔來編寫任何特定的代碼。

但是,API參考列出了所有HTTP調用來訪問API的不同部分,但我無法弄清楚如何在這些HTTP請求中使用OAuth(訪問令牌)?

回答

3

PHP官方客戶端庫附帶像this one幾個例子是向您展示如何使用OAuth進行身份驗證。 API documentation也有關於這個過程的很多信息。

要獲取未讀郵件數,你應該做這樣的事情:

// $googleClient is an authenticated instance of 'Google_Client' 
$gmail = new \Google_Service_Gmail($googleClient); 
$label = $gmail->users_labels->get('me', 'INBOX'); 
$unreadCount = $label->messagesUnread; 

您可能需要在Gmail設置中打開「會話視圖」關閉這個返回一個準確的結果。

+0

你是一位天才先生!缺乏文件很困難,但你已經朝着正確的方向解僱了我! – 2014-11-02 20:47:17

+0

直接查看圖書館的源代碼更容易,它有很多評論並且結構良好 – 2014-11-02 20:54:26

1

在php中訪問Gmail API應與PHP中的其他Google API類似。也許可以查看日曆中的快速入門示例或PHP中的Google Drive API,並從那裏開始工作?

如果您有oauth2訪問令牌,則通常可以將其放入「授權」標頭中。 C.F. https://tools.ietf.org/html/rfc6750#section-2.1 雖然說實話,我認爲這將是一個更容易長期弄清楚如何使用PHP谷歌的API庫做...