使用PHP的Gmail推送通知
在阅读Gmail API文档时,我注意到该文件指向后端端点URL。其想法是在用户收到新电子邮件时在后端调用process()(避免使用拉取方法) 我创建了一个新的suscription(),并测试了从云平台控制台发布一条新消息。API的工作原理与预期一致。但现在,我不知道如何通知Gmail API开始监视用户收件箱的变化。我们可以在Python中使用使用PHP的Gmail推送通知,php,push-notification,gmail,gmail-api,google-cloud-pubsub,Php,Push Notification,Gmail,Gmail Api,Google Cloud Pubsub,在阅读Gmail API文档时,我注意到该文件指向后端端点URL。其想法是在用户收到新电子邮件时在后端调用process()(避免使用拉取方法) 我创建了一个新的suscription(),并测试了从云平台控制台发布一条新消息。API的工作原理与预期一致。但现在,我不知道如何通知Gmail API开始监视用户收件箱的变化。我们可以在Python中使用watch()和stop(),但是PHP呢 谷歌发现服务API是简单的rest API。您可以将它们与任何能够执行HTTP Post和HTTP Ge
watch()
和stop()
,但是PHP呢
谷歌发现服务API是简单的rest API。您可以将它们与任何能够执行HTTP Post和HTTP Get的语言一起使用 谷歌非常擅长让开发人员更轻松,因此他们创建了许多开源客户端库来帮助开发人员。图书馆就是这样一个图书馆。它为你处理大部分的艰苦工作
我将首先查看教程,然后在您的身份验证流程正常运行后继续学习。使用HTTP POST编写示例:
// Google API
$client = getClient();
// Variables
$user = 'me';
$access_token = $client->getAccessToken()['access_token'];
$topic_name = 'projects/xxxx/topics/xxxx';
// POST request
$ch = curl_init('https://www.googleapis.com/gmail/v1/users/' . $user . '/watch');
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer ' . $access_token,
'Content-Type: application/json'
),
CURLOPT_POSTFIELDS => json_encode(array(
'topicName' => $topic_name,
'labelIds' => ["INBOX"]
))
));
有必要serviceAccount:gmail api-push@system.gserviceaccount.com