Bekletmeleri Yönet

Muhafazalar, yasal gereksinimleri veya koruma yükümlülüklerini yerine getirmek amacıyla verileri süresiz olarak saklar. Genellikle, bir konuyla alakalı olabilecek verilerin, söz konusu konu etkin olmadığı sürece silinememesi için bir veya daha fazla kullanıcıya muhafaza uygulanır.

Muhafazaya tabi olan bir kullanıcı, muhafaza edilen verileri silerse söz konusu veriler kullanıcının görünümünden kaldırılır ancak Apps Kasası'nda korunur. Muhafaza devam ettiği sürece Apps Kasası yöneticileri bu verileri arayabilir ve dışa aktarabilir.

Muhafaza edilen öğeler aşağıdaki bileşenlere sahiptir:

  • Hizmet: Saklanacak verilerden sorumlu uygulama. Hizmet, posta, Drive veya Gruplar olarak ayarlanabilir.
  • Kapsam: Muhafaza kapsamındaki varlıklar. Kapsam, bir veya daha fazla kullanıcı hesabı ya da kuruluş birimi (OU) olarak ayarlanabilir.
  • Ek seçenekler (isteğe bağlı): Tanımlanmış kapsamda tutulacak verileri daraltmak için kullanılan belirli ayrıntılar (arama sorguları veya yapılandırma seçenekleri). Seçenekler arasında şunlar bulunur:
    • posta, Gruplar: bekletmeyi daraltmak için arama sorgusu
    • Drive: Askıya alma işlemine ortak Drive'ları dahil etme

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.

Arama sorgusuyla belirli kullanıcı hesaplarında posta için bekletme işlemi oluşturma

Aşağıdaki örnekte, aşağıdakiler için "İlk posta hesabım için bekletme" adlı bir bekletmenin nasıl oluşturulduğu gösterilmektedir:

  • Hizmet: posta
  • Varlık: "kullanıcı1" ve "kullanıcı2" kullanıcı hesapları
  • Ek seçenekler: "to:ceo@company.com" arama sorgusu

AdminSdk'dan kullanıcı hesabı kimliklerini alın. HeldAccount parametresinin hesap kimliğini veya e-postayı kabul edebileceğini unutmayın. Her ikisi de sağlanırsa e-posta kullanılır ve hesap kimliği dikkate alınmaz.

JavaPython
HeldMailQuery mailQuery = new HeldMailQuery().setTerms("to:ceo@company.com");
List accounts = Lists.newArrayList();
accounts.add(new HeldAccount().setAccountId(user1accountId));
accounts.add(new HeldAccount().setEmail(user2Email));
Hold hold = new Hold()
    .setName("My First mail Accounts Hold")
    .setCorpus("MAIL");
    .setQuery(new CorpusQuery().setMailQuery(mailQuery))
    .setAccounts(accounts);
Hold createdHold = client.matters().holds().create(matterId, hold).execute();
  
def create_hold_mail_accounts(service, matter_id, account_id):
    mail_query = {'terms': 'to:ceo@company.com'}
    accounts = [
        {'accountId': user1_account_id},
        {'email': user2_email}
    ]
    wanted_hold = {
        'name': 'My First mail Accounts Hold',
        'corpus': 'MAIL',
        'query': {
            'mailQuery': mail_query
        },
        'accounts': accounts
    }
    return service.matters().holds().create(
        matterId=matter_id, body=wanted_hold).execute()

Bir kuruluş biriminde Drive için bekletme işlemi oluşturma ve ortak Drive içeriğini dahil etme

Aşağıdaki örnekte, aşağıdakiler için "My First Drive OU Hold" adlı bir bekletme işleminin nasıl oluşturulduğu gösterilmektedir:

  • Hizmet: Drive
  • Öğe: "Finans" kuruluş birimi (kuruluş birimi kimliği, orgUnitId alanında yakalanır)
  • Ek seçenekler: Bu kuruluş birimindeki kullanıcıların üyesi olduğu ortak Drive'ları dahil edin

AdminSdk'dan kuruluş birimi kimliklerini alın.

JavaPython
HeldOrgUnit orgUnit = new HeldOrgUnit().setOrgUnitId(orgUnitId);
// Include shared drives content.
HeldDriveQuery driveQuery = new HeldDriveQuery().setIncludeSharedDriveFiles(true);
// Create the hold.
Hold hold = new Hold()
    .setName("My First Drive OU Hold")
    .setCorpus("DRIVE")
    .setQuery(new CorpusQuery().setDriveQuery(driveQuery))
    .setOrgUnit(orgUnit);
Hold createdHold = client.matters().holds().create(matterId, hold).execute();
return createdHold;
def create_hold_drive_org(service, matter_id, org_unit_id):
    drive_query = {'includeSharedDriveFiles': True}
    org_unit = {'orgUnitId': org_unit_id}
    wanted_hold = {
        'name': 'My First Drive OU Hold',
        'corpus': 'DRIVE',
        'orgUnit': org_unit,
        'query': {
            'driveQuery': drive_query
        }
    }
    return service.matters().holds().create(
        matterId=matter_id, body=wanted_hold).execute()

Belirli grup hesaplarında tarih aralığıyla Gruplar için bekletme işlemi oluşturma

Aşağıdaki örnekte, aşağıdakiler için "İlk Grup Beklemem" adlı bir beklemenin nasıl oluşturulduğu gösterilmektedir:

  • Hizmet: Gruplar
  • Öğe: "group1" ve "group2" grup hesapları
  • Ek seçenekler: Yalnızca "startTime" ile "endTime" arasında gönderilme tarihi olan iletileri bekletme

AdminSdk'dan grup hesap kimliklerini alın.

JavaPython
String APRIL_2_2017_GMT = "2017-04-02T00:00:00Z"; // See below for format*.
 
List accounts = Lists.newArrayList();
accounts.add(new HeldAccount().setAccountId(accountId));
accounts.add(new HeldAccount().setAccountId(accountId2));
HeldGroupsQuery groupQuery = new HeldGroupsQuery();
// Restrict by sent date.
groupQuery.setStartTime(APRIL_2_2017_GMT);
groupQuery.setEndTime(APRIL_2_2017_GMT);
// create the hold
Hold hold = new Hold()
    .setName("My First Group Hold")
    .setCorpus("GROUPS")
    .setQuery(new CorpusQuery().setGroupsQuery(groupQuery));
    hold.setAccounts(accounts);
Hold createdHold = client.matters().holds().create(matterId, hold).execute();
 
def create_hold_groups_date_range(service, matter_id, group_account_id):
    groups_query = {
        'startTime': '2017-04-02T00:00:00Z', # See below for format*
        'endTime': '2017-04-02T00:00:00Z'
    }
    accounts = [{'accountId': group_account_id}]
    wanted_hold = {
        'name': 'My First Group Hold',
        'corpus': 'GROUPS',
        'query': {
            'groupsQuery': groups_query
        },
        'accounts': accounts
    }
    return service.matters().holds().create(
        matterId=matter_id, body=wanted_hold).execute()
 
  • Zaman damgası biçimi. Ayrıca, start/endTimes GMT'ye dönüştürülür ve belirtilen tarihin başına yuvarlanır.

Mevcut bekletmeleri sorgulayın ve değiştirin

Aşağıdaki örnekte, mevcut bir bekletme işlemine dahil edilen tüm hesapların nasıl listeleneceği gösterilmektedir:

JavaPython
client.matters().holds().accounts().list(matterId, holdId).execute().getAccounts();
# If no accounts are on hold, ['accounts'] will raise an error.
def list_held_accounts(service, matter_id, hold_id):
    return service.matters().holds().accounts().list(
        matterId=matter_id, holdId=hold_id).execute()['accounts'] 

Aşağıdaki örnekte, mevcut bir bekletme işlemine nasıl hesap ekleneceği ve mevcut bir bekletme işleminden nasıl hesap kaldırılacağı gösterilmektedir:

JavaPython
// Add an account by id.
client
        .matters()
        .holds()
        .accounts()
        .create(matterId, holdId, new HeldAccount().setAccountId(accountId))
        .execute();
// Remove an account by id.
client.matters().holds().accounts().delete(matterId, holdId, accountId).execute();

String email = "email@email.com";
// Add an account by email.
client
        .matters()
        .holds()
        .accounts()
        .create(matterId, holdId, new HeldAccount().setEmail(email))
        .execute();
 
def add_held_account(service, matter_id, hold_id, account_id):
    held_account = {'accountId': account_id}
    return service.matters().holds().accounts().create(
        matterId=matter_id, holdId=hold_id, body=held_account).execute()

def remove_held_account(service, matter_id, hold_id, account_id):
    return service.matters().holds().accounts().delete(
        matterId=matter_id, holdId=hold_id, accountId=account_id).execute()

def add_held_account(service, matter_id, hold_id, email):
    held_account = {'email': email}
    return service.matters().holds().accounts().create(
        matterId=matter_id, holdId=hold_id, body=held_account).execute()
 

Aşağıdaki örnekte, mevcut bir kuruluş birimi bekletmedeki kuruluş biriminin nasıl değiştirileceği gösterilmektedir:

JavaPython
Hold hold = client.matters().holds().get(matterId, holdId).execute();
hold.getOrgUnit().setOrgUnitId(newOrgUnitId);
Hold modifiedHold = client.matters().holds().update(matterId, holdId, hold).execute();
return modifiedHold;
 
def update_hold_ou(service, matter_id, hold_id, org_unit_id):
    current_hold = get_hold(matter_id, hold_id)
    current_hold['orgUnit'] = {'orgUnitId': org_unit_id}
    return service.matters().holds().update(
        matterId=matter_id, holdId=hold_id, body=current_hold).execute() 

Aşağıdaki örnekte, bir konuyla ilgili tüm bekletmelerin nasıl listeleneceği gösterilmektedir:

JavaPython
 
String matterId = "Matter Id";

// List all holds. List holdsList = client.matters().holds().list(matterId).execute().getHolds();

// Paginate on holds. ListHoldsResponse response = client .matters() .holds() .list(matterId) .setPageSize(10) .execute();

String nextPageToken = response.getNextPageToken(); if (nextPageToken != null) { client .matters() .holds() .list(matterId) .setPageSize(10) .setPageToken(nextPageToken) .execute(); }

# This can paginate in the same manner as with matters.
def list_holds(service, matter_id):
    return service.matters().holds().list(matterId=matter_id).execute()