Получить статистику по электронной почте

Вы можете получить статистику электронной почты за определенный диапазон дат для определенного домена.

Для получения информации о том, как улучшить определенные статистические данные, обратитесь к разделу «Предотвращение блокировки писем, отправляемых пользователям Gmail, или их попадания в спам».

Получение статистики за заданный диапазон дат.

Чтобы получить статистику за определенный диапазон дат, вызовите метод domains.domainStats.query() , указав домен и диапазон дат. Ниже приведен пример кода, демонстрирующий получение статистики электронной почты за определенный диапазон дат:

Java

/**
   * Lists domain statistics for a specific date range.
   *
   * @param service Authorized Gmail PostmasterTools API instance.
   * @param domainName The fully qualified domain name.
   * @param startDate The first day of the date range for which to retrieve statistics.
   * @param endDate The last day of the date range for which to retrieve statistics.
   * @param pageSize The number of DomainStats to get per request.
   * @param pageToken The nextPageToken value returned from a previous List request, if any.
   * @return Response message for query domain stats request.
   * @throws IOException
   */
public static QueryDomainStatsResponse queryDomainStats(PostmasterTools service, String domainName,
                                                      Date startDate, Date endDate, int pageSize,
                                                      String pageToken) throws IOException {
  QueryDomainStatsResponse queryDomainStatsResponse = service.domains().domainStats()
          .query("domains/" + domainName)
          .setStartDate(startDate)
          .setEndDate(endDate)
          .setPageSize(pageSize)
          .setPageToken(pageToken)
          .execute();
  System.out.println(queryDomainStatsResponse.toPrettyString());
  return null;
}

Python

"""Queries the domain stats for a domain for a specific date range.

  Args:
  service: Authorized Gmail PostmasterTools API instance.
  domain_name: The fully qualified domain name.
  start_date: The first day of the date range for which to retrieve statistics.
  end_date: The last day of the date range for which to retrieve statistics.
  page_size: The number of DomainStats to get per request.
  page_token: The nextPageToken value returned from a previous List request, if any.

  Returns:
  The domain stats of the domain for this date range.
  """
def query_domain_stats(service, domain_name, start_date, end_date, page_size, page_token):
  """Queries the domain stats for a domain for a specific date range.

    Args:
    service: Authorized Gmail PostmasterTools API instance.
    domain_name: The fully qualified domain name.
  start_date: The first day of the date range for which to retrieve statistics.
    end_date: The last day of the date range for which to retrieve statistics.
    page_size: The number of DomainStats to get per request.
    page_token: The nextPageToken value returned from a previous List request, if any.

    Returns:
    The domain stats of the domain for this date range.
    """
    try:
        query = 'domains/' + domain_name
        query_domain_stats_response = service.domains().domainStats().query(parent=query, startDate=start_date, endDate=endDate, pageSize=page_size, pageToken=page_token).execute();
        print(query_domain_stats_response);
        return query_domain_stats_response;
    except errors.HttpError as err:
        print('An error occurred: %s' % err)

if __name__ == '__main__':
    main()

В случае успеха тело ответа будет содержать постраничный массив значений DomainStats со следующей структурой:

{
  "domainStats": [
    {
      object (DomainStats)
    }
  ],
  "nextPageToken": string
}

Получить информацию о соответствии домена требованиям.

Чтобы получить статус соответствия для домена, вызовите метод domains.getComplianceStatus() с указанием домена. Статус соответствия содержит информацию о соответствии требованиям Sender Policy Framework (SPF), DomainKeys Identified Mail (DKIM) и Domain-based Message Authentication, Reporting, and Conformance (DMARC). Ниже приведен пример кода, демонстрирующий получение статуса соответствия для домена:

Java

/**
   * Gets the compliance status for a domain.
   *
   * @param service Authorized Gmail PostmasterTools API instance.
   * @param domainName The fully qualified domain name.
   * @return The compliance status of the domain.
   * @throws IOException
   */
public static ComplianceStatus getComplianceStatus(PostmasterTools service, String domainName) throws IOException {
  String query = String.format("domains/%s/complianceStatus", domainName);
  ComplianceStatus complianceStatus = service.domains().getComplianceStatus(query).execute();
  System.out.println(complianceStatus.toPrettyString());
  return complianceStatus;
}

Python

"""Gets the compliance status for a domain.

  Args:
  service: Authorized Gmail PostmasterTools API instance.
  domain_name: The fully qualified domain name.

  Returns:
  The compliance status of the domain.
  """
def get_compliance_status(service, domain_name):
    """Gets the compliance status for a domain.

  Args:
    service: Authorized Gmail PostmasterTools API instance.
    domain_name: The fully qualified domain name.

  Returns:
    The compliance status of the domain.
    """
    try:
        query = 'domains/%s/complianceStatus' %(domain_name)
        compliance_status = service.domains().getComplianceStatus(name=query).execute();
        print(compliance_status);
        return compliance_status;
    except errors.HttpError as err:
        print('An error occurred: %s' % err)

В случае успеха тело ответа содержит экземпляр объекта ComplianceStatus .