このガイドでは、Postmaster Tools API の v1 と v2 の違いと、v1 アプリケーションを v2 に移行する方法について説明します。
概要
Postmaster Tools API のバージョン 2 では、いくつかの新機能が導入され、メール統計情報を取得するための既存の機能が統合されています。v2 では、次のことが可能になりました。
- 日単位ではなく、期間単位で統計情報を取得します。
- Sender Policy Framework(SPF)、Domainkeys Identified Mail(DKIM)、Domain-based Message Authentication, Reporting and Conformance(DMARC)のコンプライアンス ステータスをクエリします。
- 1 回の API 呼び出しで複数のドメインの統計情報を取得します。
主な変更点は次のとおりです。
trafficStatsリソースがdomainStatsに置き換えられました。domains.trafficStats.getメソッドとdomains.trafficStats.listメソッドが単一のdomains.domainStats.queryメソッドに置き換えられました。- 新しい
domains.getComplianceStatusメソッドを使用して、特定のドメインの SPF、DKIM、DMARC のコンプライアンス ステータスを取得できるようになりました。 - 新しい
domainStats.batchQueryメソッドを使用して、1 回の呼び出しで複数のドメインの統計情報を取得できます。 - v1 で使用されていた「指標」という用語が「統計情報」に変更されました。
v2 に更新
v1 から v2 に移行するには、クライアント ライブラリを最新バージョンに更新し、v2 のリソースとメソッドを使用するようにコードを変更する必要があります。
- Postmaster Tools API クライアント ライブラリをバージョン 2 以降に更新します。
trafficStatsリソースからdomainStatsリソースへのすべての呼び出しを変更します。domains.trafficStats.getまたはdomains.trafficStats.listの呼び出しをdomains.domainStats.queryに置き換え、startDateパラメータとendDateパラメータを指定してクエリの日付範囲を指定します。
メールの統計情報を取得する
v1 では、メール指標は 1 日の場合は domains.trafficStats.get、複数の日の場合は domains.trafficStats.list を使用して取得されていました。v2 では、メールの統計情報は domains.domainStats.query を使用して取得されます。
domains.domainStats.query メソッドを使用すると、startDate と endDate を指定して、日付範囲の統計情報を取得できます。
v1: domains.trafficStats.get
Java
String query = String.format("domains/%s/trafficStats/%s", domainName, date);
TrafficStats trafficStats = service.domains().trafficStats().get(query).execute();
Python
query = 'domains/%s/trafficStats/%s' %(domain_name,date)
traffic_stats = service.domains().trafficStats().get(name=query).execute();
v2: 1 日の domains.domainStats.query
v2 で 1 日の統計情報を取得するには、同じ startDate と endDate を使用して domains.domainStats.query を呼び出します。
Java
Date date = new Date().setYear(2024).setMonth(1).setDay(1);
QueryDomainStatsResponse statsResponse = service.domains().domainStats()
.query("domains/" + domainName)
.setStartDate(date)
.setEndDate(date)
.execute();
Python
date = {'year': 2024, 'month': 1, 'day': 1}
stats = service.domains().domainStats().query(
parent='domains/' + domain_name,
startDate=date,
endDate=date).execute()
v1: domains.trafficStats.list
Java
ListTrafficStatsResponse listTrafficStatsResponse = service.domains().trafficStats().list("domains/" + domainName)
.execute();
Python
query = 'domains/' + domain_name
list_traffic_stats_response = service.domains().trafficStats().list(parent=query).execute();
v2: 期間の domains.domainStats.query
v2 で日付範囲の統計情報を取得するには、startDate と endDate を指定して domains.domainStats.query を呼び出します。
Java
Date startDate = new Date().setYear(2024).setMonth(1).setDay(1);
Date endDate = new Date().setYear(2024).setMonth(1).setDay(7);
QueryDomainStatsResponse statsResponse = service.domains().domainStats()
.query("domains/" + domainName)
.setStartDate(startDate)
.setEndDate(endDate)
.execute();
Python
stats = service.domains().domainStats().query(
parent='domains/' + domain_name,
startDate={'year': 2024, 'month': 1, 'day': 1},
endDate={'year': 2024, 'month': 1, 'day': 7}).execute()
v2 の新機能
v2 では、get と list のトラフィック統計情報を query に統合するだけでなく、次の機能も導入されています。
コンプライアンス ステータスを取得する
domains.getComplianceStatus を使用して、ドメインの Sender Policy Framework(SPF)、DomainKeys Identified Mail(DKIM)、Domain-based Message Authentication, Reporting, and Conformance(DMARC)の準拠ステータスを取得できます。
サンプルコードについては、メールの統計情報を取得するをご覧ください。
バッチクエリのドメイン統計情報
domainStats.batchQuery を使用すると、1 回の呼び出しで複数のドメインの統計情報を取得できます。