이 문서에서는 Email Settings API와 Gmail API의 주요 차이점을 설명합니다. 이 가이드를 사용하여 앱을 Gmail API로 이전할 수 있습니다.
요청 승인
Email Settings API와 마찬가지로 Gmail API는 OAuth 2.0 프로토콜을 사용하여 요청을 승인합니다. 한 가지 중요한 차이점은 Gmail API 권한이 전체 도메인이 아닌 개별 사용자에게 범위가 지정된다는 것입니다. 즉, 도메인 관리자 계정을 승인해도 도메인의 다른 사용자의 메일을 이전할 수는 없습니다. 대신 관리 콘솔에서 허용 목록에 추가된 도메인 전체 권한이 있는 표준 서비스 계정을 사용하여 적절한 인증 토큰을 생성해야 합니다.
이메일 설정 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 리소스를 사용하세요.
이전 설정 | 새 설정 | 참고 |
---|---|---|
labelId | id | |
라벨 | 이름 | |
unreadCount | messagesUnread | |
공개 상태 | labelListVisibility | SHOW 가 이제 labelShow 로 바뀌었습니다. HIDE 가 이제 labelHide 로 바뀌었습니다. |
기타 변경사항:
- 라벨을 업데이트하거나 삭제할 때 Gmail API는 이름 대신 ID로 라벨을 참조합니다.
필터 관리
Gmail API에서 필터를 관리하려면 Filters 리소스를 사용하세요.
이전 설정 | 새 설정 | 참고 |
---|---|---|
소스: | 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에서 자동 전달을 관리하려면 Settings 리소스를 사용하세요.
이전 설정 | 새 설정 | 참고 |
---|---|---|
사용 설정 | 사용 설정됨 | |
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에서 부재중 자동응답을 관리하려면 Settings 리소스를 사용하세요.
이전 설정 | 새 설정 |
---|---|
contactsOnly | restrictToContacts |
domainOnly | restrictToDomain |
사용 설정 | enableAutoReply |
endDate | endTime |
메시지 | responseBodyHtml responseBodyPlainText |
startDate | startTime |
제목 | responseSubject |
서명 설정 관리
Gmail API에서 이메일 서명을 관리하려면 SendAs 리소스를 사용하세요.
이전 설정 | 새 설정 |
---|---|
서명 | 서명 |
기타 변경사항:
- 이제 서명이 별칭별로 관리됩니다.
언어 설정 관리
Gmail API에서 언어 설정을 관리하려면 Settings 리소스를 사용하세요.
이전 설정 | 새 설정 |
---|---|
language | displayLanguage |
자세한 내용은 언어 설정 관리 가이드를 참고하세요.
위임 설정 관리
Gmail API에서 위임을 관리하려면 Delegates 리소스를 사용하세요.
이전 설정 | 새 설정 |
---|---|
주소 | delegateEmail |
상태 | verificationStatus |
기타 변경사항:
- 일반
- delegates.create를 비롯한 위임 방법을 사용하려면 위임자 사용자가 Gmail을 사용 설정해야 합니다. 즉, 예를 들어 위임자 사용자는에서 정지될 수 없습니다.
- 이메일 별칭은 새 메서드의 위임 이메일 입력으로 사용할 수 없습니다. 위임된 사용자는 기본 이메일 주소로 참조해야 합니다.
- delegates.create
- 이제 이 메서드를 사용하여 동일한 조직에 속한 여러 도메인 간에 위임 관계를 만들 수 있습니다.
- 이제 이 메서드를 사용하여 다음 로그인 시 비밀번호 변경이 필요한 사용자를 처리할 수 있습니다.
- 이 메서드는 성공할 경우 빈 응답 본문이 아닌 응답 본문에 Users.settings.delegates 리소스를 반환합니다.
- 위임자 또는 위임된 사용자 중 한 명이 사용 중지된 경우 (예: 에서 정지됨) 이 메서드는 HTTP 500 오류 대신 HTTP 4XX 오류와 함께 실패합니다.
- delegates.delete
- 이제 이 메서드를 사용하여
accepted
또는expired
인 위임자뿐만 아니라 모든 verificationStatus를 가진 위임자를 삭제할 수 있습니다.
- 이제 이 메서드를 사용하여
- delegates.get
- 이 메서드는 필요에 따라 delegates.list 메서드보다 선호될 수 있는 새로운 메서드입니다.
일반 설정 관리
API를 통해 일반 설정을 더 이상 사용할 수 없습니다.