3

Gmail API 문서를 읽으면 백엔드 엔드 포인트 URL에 Gmail API provides a way to push notification이 있다는 것을 알았습니다. 아이디어는 사용자가 새로운 이메일을받을 때 우리의 백엔드에서 process()를 호출하는 것입니다 (당기는 방법을 피함).PHP를 사용하는 Gmail 푸시 알림

새로운 서술문 (Cloud Pub/Sub API)을 만들었으며 Cloud Platform 콘솔에서 새 메시지를 게시하는 테스트를 마쳤습니다. API는 예상대로 작동합니다. 하지만 이제 사용자의받은 편지함의 변경 사항을보기 위해 Gmail API에 알리는 방법을 모르겠습니다. 우리는 파이썬에서 watch()stop()을 사용할 수 있지만 PHP는 어떻게해야할까요?

enter image description here

답변

2

구글 검색 서비스 API는 간단한 휴식 API를이다. HTTP Post 및 HTTP Get을 수행 할 수있는 언어로 사용할 수 있습니다.

Google은 개발자를 위해 더 쉬운 도구를 만드는 데 매우 유용하므로 개발자를 돕기 위해 수많은 오픈 소스 클라이언트 라이브러리를 만들었습니다. Google APIs PHP Client library은 그러한 라이브러리 중 하나입니다. 그것은 당신을위한 노력의 대부분을 처리합니다.

먼저 PHP Quickstart 튜토리얼을 확인한 다음 인증 흐름이 작동 한 후에 User.watch으로 이동하십시오. HTTP POST를 사용하여

0

코드 예제 :

// 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"] 
    )) 
)); 

그것은 neccesary to grant publish privilegesserviceAccount:[email protected]에있어.

enter image description here