Kaydedilen sorguları yönet

Kayıtlı sorgu API'si, Google Vault'taki kayıtlı sorguları programatik olarak yönetmenize olanak tanır. Kaydedilmiş bir sorguyu çalıştırarak sorgunun ölçütlerine bağlı olarak aynı sonuçları veya ek olarak daha yeni sonuçları alabilirsiniz. Örneğin, sorgunuz bir bitiş tarihi içeriyorsa sorguyu ilk çalıştırdığınız zamana ait sonuçları alırsınız. Sorgu bir bitiş tarihi içermiyorsa orijinal sonuçlarınızın yanı sıra arama ölçütlerini karşılayan yeni veriler de gösterilir.

Kayıtlı sorgular, sorgu tarafından oluşturulan ileti ve dosyaları korumaz. Yalnızca arama parametrelerini kaydeder. Mesajları ve dosyaları mevcut durumlarında saklamak için arama sonuçlarını dışa aktarmanız gerekir.

Bu API'yi aşağıdaki görevleri gerçekleştiren komut dosyalarında kullanabilirsiniz:

  • Bir konuda kayıtlı sorgu oluşturma
  • Bir konudan kayıtlı sorgu silme
  • Bir konudan kayıtlı sorgu alma
  • Bir konudaki tüm kayıtlı sorguları alma

Apps Kasası kaynaklarıyla çalışmak için hesabın gerekli Apps Kasası ayrıcalıklarına ve konuya erişimi olmalıdır. Bir konuya erişmek için hesabın konuyu oluşturmuş olması, konunun hesapla paylaşılmış olması veya Tüm Konuları Görüntüleme ayrıcalığına sahip olması gerekir.

Kayıtlı arama sorgusu oluşturma

Aşağıdaki örneklerde, e-posta mesajları ve Google Drive'daki dosyalar için nasıl kayıtlı sorgu oluşturulacağı gösterilmektedir:

Posta

Java

public SavedQuery createMailAllDataAccountSavedQuery(String matterId) throws Exception {
    AccountInfo emailsToSearch =
        new AccountInfo().setEmails((ImmutableList.of("email1", "email2")));
    MailOptions mailOptions = new MailOptions().setExcludeDrafts(true);
    String queryTerms = "to:ceo@solarmora.com";
    Query mailQuery =
        new Query()
            .setCorpus("MAIL")
            .setDataScope("ALL_DATA")
            .setSearchMethod("ACCOUNT")
            .setAccountInfo(emailsToSearch)
            .setTerms(queryTerms)
            .setMailOptions(mailOptions);
    SavedQuery savedQuery =
        new SavedQuery()
            .setDisplayName("NEW SAVED QUERY NAME")
            .setQuery(mailQuery);
    return client.matters().savedQueries().create(matterId, savedQuery).execute();
} 

Python

def create_mail_all_data_account_saved_query(self, matter_id):
    emails_to_search = ['email1', 'email2']
    mail_query_options = {'excludeDrafts': True}
    query_terms = 'to:ceo@solarmora.com'
    mail_query = {
        'corpus': 'MAIL',
        'dataScope': 'ALL_DATA',
        'searchMethod': 'ACCOUNT',
        'accountInfo': {
            'emails': emails_to_search
        },
        'terms': query_terms,
        'mailOptions': mail_query_options,
    }
    saved_query = {
        'displayName': 'NEW SAVED QUERY NAME',
        'query': mail_query,
    }
    return self.service.matters().savedQueries().create(
        matterId=matter_id, body=saved_query).execute()

Drive

Java

public SavedQuery createDriveAllDataOUSavedQuery(String matterId) throws Exception {
    OrgUnitInfo ouToSearch = new OrgUnitInfo().setOrgUnitId("ou id retrieved from admin sdk");
    DriveOptions driveQueryOptions = new DriveOptions().setIncludeTeamDrives(true);
    Query driveQuery =
        new Query()
            .setCorpus("DRIVE")
            .setDataScope("ALL_DATA")
            .setSearchMethod("ORG_UNIT")
            .setOrgUnitInfo(ouToSearch)
            .setDriveOptions(driveQueryOptions);
    SavedQuery savedQuery =
        new SavedQuery()
            .setDisplayName("NEW SAVED QUERY NAME")
            .setQuery(driveQuery);
    return client.matters().savedQueries().create(matterId, savedQuery).execute();
  }
} 

Python

def create_drive_all_data_ou_saved_query(self, matter_id):
    ou_to_search = 'ou id retrieved from admin sdk'
    drive_query_options = {'includeTeamDrives': True}
    drive_query = {
        'corpus': 'DRIVE',
        'dataScope': 'ALL_DATA',
        'searchMethod': 'ORG_UNIT',
        'orgUnitInfo': {
            'org_unit_id': ou_to_search,
        },
        'driveOptions': drive_query_options
    }
    saved_query = {
        'displayName': 'NEW SAVED QUERY NAME',
        'query': drive_query,
    }
    return self.service.matters().savedQueries().create(
        matterId=matter_id, body=saved_query).execute()

Kayıtlı arama sorgusunu silme

Aşağıdaki örnekte, kaydedilmiş bir sorgunun nasıl silineceği gösterilmektedir.

Java

public Empty deleteSavedQuery(String matterId, String savedQueryId) throws Exception {
    return client.matters().savedQueries().delete(matterId, savedQueryId).execute();
} 

Python

def delete_saved_query(self, matter_id, saved_query_id):
    empty_response = self.service.matters().savedQueries().delete(
        matterId=matter_id, savedQueryId=saved_query_id).execute()
    return empty_response

Kayıtlı arama sorgusu alma

Aşağıdaki örnekte, kayıtlı bir sorgunun kimliğine göre nasıl alınacağı gösterilmektedir.

Java

public SavedQuery getSavedQuery(String matterId, String savedQueryId) throws Exception {
    return client.matters().savedQueries().get(matterId, savedQueryId).execute();
} 

Python

def get_saved_query(self, matter_id, saved_query_id):
    saved_query = self.service.matters().savedQueries().get(
        matterId=matter_id, savedQueryId=saved_query_id).execute()
    return saved_query

Bir konudaki kayıtlı sorguları listeleme

Aşağıdaki örnekte, bir konunun kayıtlı sorgularının nasıl listeleneceği gösterilmektedir.

Java

public void listSavedQueries(String matterId) throws Exception {
    ListSavedQueriesResponse firstPageResponse =
        client.matters().savedQueries().list(matterId).setPageSize(10).execute();
    String nextPageToken = firstPageResponse.getNextPageToken();
    if (nextPageToken != null) {
      client
          .matters()
          .savedQueries()
          .list(matterId)
          .setPageSize(10)
          .setPageToken(nextPageToken)
          .execute();
    }
} 

Python

def list_saved_queries(self, matter_id):
    first_page_response = self.service.matters().savedQueries().list(
        matterId=matter_id, pageSize=10).execute()
    if 'nextPageToken' in first_page_response:
      self.service.matters().savedQueries().list(
          pageSize=10,
          pageToken=first_page_response['nextPageToken']).execute()