이 문서에서는 Email Settings API와 Gmail API의 주요 차이점을 설명합니다. 이 가이드를 사용하여 앱을 Gmail API로 이전할 수 있습니다.
요청 승인
Email Settings API와 마찬가지로 Gmail API는 OAuth 2.0 프로토콜을 사용하여 요청을 승인합니다. 한 가지 주요 차이점은 Gmail API 권한의 범위가 전체 도메인이 아닌 개별 사용자로 지정된다는 점입니다. 즉, 도메인 관리자 계정을 승인해도 도메인 내 다른 사용자의 메일을 마이그레이션할 수 없습니다. 대신 관리 콘솔에서 허용 목록에 포함된 도메인 전체 권한이 있는 표준 서비스 계정을 사용하여 적절한 인증 토큰을 생성해야 합니다.
Email Settings API에서 다음 범위를 사용했습니다.
https://apps-apis.google.com/a/feeds/emailsettings/2.0/
Gmail API에서 이에 상응하는 범위는 다음과 같습니다.
https://www.googleapis.com/auth/gmail.settings.basic
https://www.googleapis.com/auth/gmail.settings.sharing
프로토콜 변경사항
이메일 설정 API는 XML 기반 GDATA 프로토콜을 사용합니다. Gmail API는 JSON을 사용합니다. 설정은 대부분 키-값 쌍으로 구성되므로 페이로드는 버전 간에 개념적으로 유사합니다.
라벨 만들기의 예:
Email Settings API
POST https://apps-apis.google.com/a/feeds/emailsettings/2.0/{domain name}/{username}/label
<?xml version="1.0" encoding="utf-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name="label" value="status updates" />
</atom:entry>
Gmail API
POST https://www.googleapis.com/gmail/v1/users/{username}/labels
{
"name": "status updates"
}
프로토콜을 직접 구현하는 대신 제공된 클라이언트 라이브러리를 사용하세요.
라벨 관리
Gmail API에서 라벨을 관리하려면 Labels 리소스를 사용합니다.
이전 설정 | 새 설정 | Notes |
---|---|---|
labelId | id | |
라벨 | 이름 | |
unreadCount | messagesUnread | |
공개 상태 | labelListVisibility | SHOW 는 이제 labelShow HIDE 은 이제 labelHide 입니다. |
기타 변경사항:
- 라벨을 업데이트하거나 삭제할 때 Gmail API는 이름 대신 ID를 기준으로 라벨을 참조합니다.
필터 관리
Gmail API에서 필터를 관리하려면 필터 리소스를 사용합니다.
이전 설정 | 새 설정 | Notes |
---|---|---|
from | criteria.from | |
to | criteria.to | |
subject | criteria.subject | |
hasTheWord | criteria.query | |
doesNotHaveTheWord | criteria.negatedQuery | |
hasAttachment | criteria.hasAttachment | |
shouldArchive | action.removeLabelIds | 라벨 ID로 INBOX 사용 |
shouldMarkAsRead | action.removeLabelIds | 라벨 ID로 UNREAD 사용 |
shouldStar | action.addLabelIds | 라벨 ID로 STARRED 사용 |
라벨 | action.addLabelIds | 추가할 라벨의 ID를 사용합니다. |
forwardTo | action.forward | |
shouldTrash | action.addLabelIds | 라벨 ID로 TRASH 사용 |
neverSpam | action.removeLabelIds | 라벨 ID로 SPAM 사용 |
기타 변경사항:
- 사용자 라벨 추가가 아직 없는 경우 labels.create 메서드를 사용하여 명시적으로 만들어야 합니다.
보내기 별칭 관리
Gmail API에서 보내기 별칭을 관리하려면 SendAs 리소스를 사용합니다.
이전 설정 | 새 설정 |
---|---|
이름 | displayName |
주소 | sendAsEmail |
replyTo | replyToAddress |
makeDefault | isDefault |
웹 클립 관리
웹 클립 설정은 더 이상 API를 통해 사용할 수 없습니다.
자동 전달 설정 관리
Gmail API에서 자동 전달을 관리하려면 설정 리소스를 사용합니다.
이전 설정 | 새 설정 | Notes |
---|---|---|
enable | 사용 설정됨 | |
forwardTo | emailAddress | |
작업 | disposition | KEEP 는 이제 leaveInInbox ARCHIVE 는 이제 archive DELETE 는 이제 trash MARK_READ 는 이제 markRead 입니다. |
기타 변경사항:
- 전달 주소는 사용하기 전에 만들고 확인해야 합니다.
- 전달 주소는 ForwardingAddresses 리소스를 통해 관리할 수 있습니다.
POP 설정 관리
Gmail API에서 POP 액세스를 관리하려면 설정 리소스를 사용합니다.
이전 설정 | 새 설정 | Notes |
---|---|---|
enable | accessWindow | disabled 로 설정하면 사용 중지됨 |
enableFor | accessWindow | ALL_MAIL 는 이제 allMail MAIL_FROM_NOW_ON 은 이제 fromNowOn 입니다. |
작업 | disposition | KEEP 는 이제 leaveInInbox ARCHIVE 는 이제 archive DELETE 는 이제 trash MARK_READ 는 이제 markRead 입니다. |
IMAP 설정 관리
Gmail API에서 IMAP 액세스를 관리하려면 설정 리소스를 사용합니다.
이전 설정 | 새 설정 |
---|---|
enable | 사용 설정됨 |
부재중 자동 답장 설정 관리
Gmail API에서 부재중 자동 답장을 관리하려면 설정 리소스를 사용합니다.
이전 설정 | 새 설정 |
---|---|
contactsOnly | restrictToContacts |
domainOnly | restrictToDomain |
enable | enableAutoReply |
endDate | endTime |
메시지 | ResponseBodyHTML responseBodyPlainText |
startDate | startTime |
subject | responseSubject |
서명 설정 관리
Gmail API에서 이메일 서명을 관리하려면 SendAs 리소스를 사용합니다.
이전 설정 | 새 설정 |
---|---|
서명 | 서명 |
기타 변경사항:
- 이제 서명이 별칭별로 관리됩니다.
언어 설정 관리
Gmail API에서 언어 설정을 관리하려면 설정 리소스를 사용합니다.
이전 설정 | 새 설정 |
---|---|
language | displayLanguage |
자세한 내용은 언어 설정 관리 가이드를 참조하세요.
위임 설정 관리
Gmail API에서 위임을 관리하려면 위임 리소스를 사용합니다.
이전 설정 | 새 설정 |
---|---|
주소 | delegateEmail |
status | verificationStatus |
기타 변경사항:
- 일반
- 위임 방법(delegates.create 포함)을 사용하려면 Gmail에서 위임자 사용자가 사용 설정되어 있어야 합니다. 즉, 예를 들어 위임자 사용자는Google Workspace에서 정지될 수 있습니다.
- 이메일 별칭은 새 메서드에 대한 위임 이메일 입력으로 사용할 수 없습니다. 위임 사용자는 기본 이메일 주소로 추천되어야 합니다.
- delegates.create
- 이제 이 메서드를 사용하여 동일한 조직에 속한 여러 도메인에 Google Workspace대리인 관계를 만들 수 있습니다.
- 이제 다음 로그인 시 비밀번호를 변경해야 하는 사용자에게 이 방법을 사용할 수 있습니다.
- 요청이 성공하면 이 메서드는 응답 본문에서 빈 응답 본문이 아닌 Users.settings.Delegates 리소스를 반환합니다.
- 위임자 또는 위임 사용자 중 하나가 사용 중지되면 (예: Google Workspace에서 정지됨) 이 메서드는 HTTP 500 오류 대신 HTTP 4XX 오류와 함께 실패합니다.
- delegates.delete
- 이 메서드는 이제
accepted
또는expired
인 대리자뿐만 아니라 모든 verificationStatus를 포함하는 대리자를 삭제하는 데 사용할 수 있습니다.
- 이 메서드는 이제
- delegates.get
- 새로운 메서드로, 필요에 따라 delegates.list 메서드보다 더 유용할 수 있습니다.
일반 설정 관리
일반 설정은 더 이상 API를 통해 사용할 수 없습니다.