이 문서에서는 Email Settings API와 Gmail API의 주요 차이점을 설명합니다. 이 가이드를 사용하여 앱을 Gmail API로 이전할 수 있습니다.
요청 승인
Gmail API는 Email Settings 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
프로토콜 변경사항
Email Settings 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에서 라벨을 관리하려면 라벨 리소스를 사용하세요.
이전 설정 | 새 설정 | 참고 |
---|---|---|
labelId | id | |
라벨 | 이름 | |
unreadCount | messagesUnread | |
공개 상태 | labelListVisibility | SHOW 가 이제 labelShow 로 바뀌었습니다.HIDE 가 이제 labelHide 로 바뀌었습니다. |
기타 변경사항:
- 라벨을 업데이트하거나 삭제할 때 Gmail API는 이름 대신 ID로 라벨을 참조합니다.
필터 관리
Gmail API에서 필터를 관리하려면 필터 리소스를 사용하세요.
이전 설정 | 새 설정 | 참고 |
---|---|---|
출처: | criteria.from | |
to | criteria.to | |
제목 | criteria.subject | |
hasTheWord | criteria.query | |
doesNotHaveTheWord | criteria.negatedQuery | |
hasAttachment | criteria.hasAttachment | |
shouldArchive | action.removeLabelIds | INBOX 을 라벨 ID로 사용합니다. |
shouldMarkAsRead | action.removeLabelIds | UNREAD 을 라벨 ID로 사용합니다. |
shouldStar | action.addLabelIds | STARRED 을 라벨 ID로 사용합니다. |
라벨 | action.addLabelIds | 라벨의 ID를 사용하여 추가 |
forwardTo | action.forward | |
shouldTrash | action.addLabelIds | TRASH 을 라벨 ID로 사용합니다. |
neverSpam | action.removeLabelIds | SPAM 을 라벨 ID로 사용합니다. |
기타 변경사항:
- 아직 존재하지 않는 사용자 라벨을 추가하는 경우 labels.create 메서드를 사용하여 명시적으로 만들어야 합니다.
명의 도용 별칭 관리
Gmail API에서 발신자 표시 별칭을 관리하려면 SendAs 리소스를 사용하세요.
이전 설정 | 새 설정 |
---|---|
이름 | displayName |
주소 | sendAsEmail |
replyTo | replyToAddress |
makeDefault | isDefault |
웹 클립 관리
웹 클립 설정은 더 이상 API를 통해 사용할 수 없습니다.
자동 전달 설정 관리
Gmail API에서 자동 전달을 관리하려면 설정 리소스를 사용하세요.
이전 설정 | 새 설정 | 참고 |
---|---|---|
사용 설정 | 사용 설정됨 | |
forwardTo | emailAddress | |
action | disposition | KEEP 는 이제 leaveInInbox 입니다.ARCHIVE 는 이제 archive 입니다.DELETE 는 이제 trash 입니다.MARK_READ 는 이제 markRead 입니다. |
기타 변경사항:
- 전달 주소는 사용하기 전에 만들어지고 확인되어야 합니다.
- 전달 주소는 ForwardingAddresses 리소스를 통해 관리할 수 있습니다.
POP 설정 관리
Gmail API에서 POP 액세스를 관리하려면 설정 리소스를 사용하세요.
이전 설정 | 새 설정 | 참고 |
---|---|---|
사용 설정 | accessWindow | disabled 로 설정하면 사용 중지됨 |
enableFor | accessWindow | ALL_MAIL 가 이제 allMail 로 바뀌었습니다.MAIL_FROM_NOW_ON 가 이제 fromNowOn 로 바뀌었습니다. |
action | disposition | KEEP 는 이제 leaveInInbox 입니다.ARCHIVE 는 이제 archive 입니다.DELETE 는 이제 trash 입니다.MARK_READ 는 이제 markRead 입니다. |
IMAP 설정 관리
Gmail API에서 IMAP 액세스를 관리하려면 설정 리소스를 사용하세요.
이전 설정 | 새 설정 |
---|---|
사용 설정 | 사용 설정됨 |
부재중 자동 답장 설정 관리
Gmail API에서 부재중 자동 답장을 관리하려면 설정 리소스를 사용하세요.
이전 설정 | 새 설정 |
---|---|
contactsOnly | restrictToContacts |
domainOnly | restrictToDomain |
사용 설정 | enableAutoReply |
endDate | endTime |
메시지 | responseBodyHtml responseBodyPlainText |
startDate | startTime |
제목 | responseSubject |
서명 설정 관리
Gmail API에서 이메일 서명을 관리하려면 SendAs 리소스를 사용하세요.
이전 설정 | 새 설정 |
---|---|
서명 | 서명 |
기타 변경사항:
- 이제 별칭별로 서명이 관리됩니다.
언어 설정 관리
Gmail API에서 언어 설정을 관리하려면 Settings 리소스를 사용하세요.
이전 설정 | 새 설정 |
---|---|
language | displayLanguage |
자세한 내용은 언어 설정 관리 가이드를 참고하세요.
위임 설정 관리
Gmail API에서 위임을 관리하려면 위임받은 사용자 리소스를 사용하세요.
이전 설정 | 새 설정 |
---|---|
주소 | delegateEmail |
상태 | 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를 통해 일반 설정을 더 이상 사용할 수 없습니다.