Kaydedilen sorguları yönet

Kayıtlı sorgu API'si, Apps Kasası'ndaki kayıtlı sorguları programlı olarak yönetmenize olanak tanır. Sorgunun ölçütlerine bağlı olarak aynı sonuçları veya ek, daha yeni sonuçları almak için kayıtlı bir sorgu çalıştırabilirsiniz. Ö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 verileri alırsınız.

Bu API'yi aşağıdaki komut dosyalarında kullanabilirsiniz:

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

Apps Kasası kaynaklarını kullanabilmek için hesabın gerekli Apps Kasası ayrıcalıklarına sahip olması ve konuya erişimi olması gerekir. Bir konuya erişebilmek için hesabın konuyu oluşturması, konuyu paylaşmış 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 iletileri ve Drive'daki dosyalar için kayıtlı sorguların nasıl oluşturulacağı gösterilmektedir:

Posta

JavaPython
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();
} 
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

JavaPython
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();
  }
} 
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 sorgularını silme

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

JavaPython
public Empty deleteSavedQuery(String matterId, String savedQueryId) throws Exception {
    return client.matters().savedQueries().delete(matterId, savedQueryId).execute();
} 
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ı bir arama sorgusunu alma

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

JavaPython
public SavedQuery getSavedQuery(String matterId, String savedQueryId) throws Exception {
    return client.matters().savedQueries().get(matterId, savedQueryId).execute();
} 
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.

JavaPython
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();
    }
} 
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()