我希望能够通过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(访问令牌)?
答案 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库来实现这一目标......