2014-11-01 53 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库做...