通过HTTP URL查询Gmail API

时间:2014-11-01 18:40:05

标签: php http oauth google-api-php-client gmail-api

我希望能够通过HTTP GET请求查询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参考列出了访问API不同部分的所有HTTP调用,但我无法弄清楚如何在这些HTTP请求中使用OAuth(访问令牌)?

2 个答案:

答案 0 :(得分: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设置中关闭以返回准确的结果。

答案 1 :(得分:1)

在php中访问Gmail API应该类似于php中的其他Google API。也许从PHP中的日历或Google Drive API查看快速入门示例并从那里开始工作?

如果您拥有oauth2访问令牌,您通常可以将其放入"授权"头。 C.F. https://tools.ietf.org/html/rfc6750#section-2.1 老实说,我认为长期以来要弄清楚如何使用PHP Google API库来实现这一目标......