[Oauth2] Google 메일 알림 구독 개발 콘솔 설정 방법
- 기타/Oauth2
- 2025. 5. 23.
구글은 email이나 calenar에 대한 알림을 구독 하려면
Pub/Sub을 이용해야 한다.
https://console.cloud.google.com/cloudpubsub
위 URL에 접속해서 Topics에 들어간다음 Topic을 만들고

구독을 추가 하면된다. 전송유형은 push로 해서 알림을 받을 endpoint를 기입해주면 된다.

그리고 소스에서는 구글 sdk를 이용해서 WatchRequest()에 그 위에서만든 토픽 이름을 이용해서 watchRequest 객체를 만들고
val resourceList = listOf("INBOX")
/**
* Gmail watch 요청은 Cloud Pub/Sub 이용하여 푸시 알림을 전달
*/
val watchRequest = WatchRequest().apply {
topicName = properties.subscriptionTopic
labelIds = resourceList // Only monitor INBOX emails
labelFilterAction = "include"
}
구독을 API를 신청하면된다.
val watchResponse = gmailService.users().watch("me", watchRequest).execute()
[에러해결]
Topic의 Publisher 권한이 없으면 Gmail Watch 요청 시 다음 에러가 발생한다.
{
"code": 403,
"message": "User not authorized to perform this action.",
"errors": [
{
"reason": "forbidden",
"message": "Error sending test message to Cloud PubSub..."
}
]
}
User not authorized to perform this action.","status":"PERMISSION_DENIED"
해결하려면 아래 Permission을 추가해줘야 한다.

IAM 에서 계정을 추가후에 위에 ADD Principal 에서 넣어주면 된다.

gmail-api-push@system.gserviceaccount.com
publisher 설정 필수 !!!
'기타 > Oauth2' 카테고리의 다른 글
| [Oauth2] Slack api 사용 콘솔 설정및 이벤트 구독 설정 (0) | 2025.05.26 |
|---|---|
| [Oauth2] Apple 로그인 console 세팅과 email, name 받는법 (0) | 2025.05.24 |
| [Oauth2] Microsoft 로그인과 API 사용하기 위한 console 세팅 (5) | 2025.05.20 |