Alandan üye çıkarma

Bu kılavuzda, bir alandan üye kaldırmak için Google Chat API'nin Membership kaynağında delete() yönteminin nasıl kullanılacağı (üyelik silme olarak da bilinir) açıklanmaktadır. Bir alandaki tek alan yöneticisi olan alan yöneticileri çıkarılamaz. Bu üyelikleri kaldırmadan önce başka bir kullanıcıyı alan yöneticisi olarak atayın.

Google Workspace yöneticisiyseniz Google Workspace kuruluşunuzdaki herhangi bir alandan kullanıcıları, Google Gruplar'ı veya Chat uygulamalarını kaldırabilirsiniz.

Membership kaynağı, gerçek kullanıcıların veya Google Chat uygulamalarının bir alana davet edilip edilmediğini, alanda yer alıp almadığını ya da alanda bulunmadığını gösterir.

Ön koşullar

Node.js

Kullanıcı olarak bir alanı üyeden kaldırma

Kullanıcı kimlik doğrulaması olan bir alandan kullanıcı, Google grubu veya Chat uygulamasını kaldırmak için isteğinizde aşağıdakileri iletin:

  • chat.memberships yetkilendirme kapsamını belirtin. Yetki veren kullanıcının, kullanıcıyı veya Google Grubu'nu alandan kaldırma izni olmalıdır. Bir Chat uygulamasını kaldırmak için chat.memberships.app yetkilendirme kapsamını belirtin (uygulamalar yalnızca kendi üyeliklerini silebilir, diğer uygulamaların üyeliklerini silemez). En iyi uygulama olarak, uygulamanızın çalışmaya devam etmesine izin veren en kısıtlayıcı kapsamı seçin.
  • DeleteMembership() yöntemini çağırın.
  • Silmek için üyeliğin name öğesini iletin. Üyelik, bir alandaki tek alan yöneticisine aitse bu üyeliği silmeden önce başka bir kullanıcıyı alan yöneticisi olarak atayın.

Kullanıcı kimlik doğrulaması ile üyeliği silme:

Node.js

chat/client-libraries/cloud/delete-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.delete'];

// This sample shows how to delete a space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    name: 'spaces/SPACE_NAME'
  };

  // Make the request
  const response = await chatClient.deleteSpace(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Bu örneği çalıştırmak için aşağıdakileri değiştirin:

  • SPACE_NAME: Alanın name kimliği. Kimliği, ListSpaces() metodunu çağırarak veya alanın URL'sinden alabilirsiniz.
  • MEMBER_NAME: Üyenin name bilgilerinden alınan kimlik. ListMemberships() yöntemini çağırarak kimliği edinebilirsiniz.

Başarılı olursa yanıt gövdesi, 'state': 'NOT_A_MEMBER' ile üyeliği geri döndürerek üyenin artık alanda olmadığını belirtir.

{
    "name": "spaces/SPACE_NAME/members/MEMBER_NAME",
    "state": "NOT_A_MEMBER"
}

Alandan bir üyeyi Chat uygulaması olarak çıkarma

Uygulama kimlik doğrulaması için tek seferlik yönetici onayı gerekir.

Uygulama kimlik doğrulaması olan bir alandan kullanıcı, Google grubu veya Chat uygulamasını kaldırmak için isteğinizde aşağıdakileri iletin:

  • chat.app.memberships Yetkilendirme kapsamını belirtin. Alan yöneticisinin üyeliğini silme işlemi yalnızca Chat uygulamaları tarafından oluşturulan alanlarda desteklenir.
  • membership kaynağında delete yöntemini çağırın.
  • Silmek için üyeliğin name öğesini iletin. Üyelik, alandaki tek alan yöneticisine aitse bu üyeliği silmeden önce başka bir kullanıcıyı alan yöneticisi olarak atayın.

API anahtarı oluşturma

Geliştirici Önizlemesi API yöntemini çağırmak için API keşif belgesinin herkese açık olmayan bir geliştirici önizleme sürümünü kullanmanız gerekir. İsteğin kimliğini doğrulamak için bir API anahtarı göndermeniz gerekir.

API anahtarını oluşturmak için uygulamanızın Google Cloud projesini açıp aşağıdakileri yapın:

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik bilgilerine git

  2. Kimlik bilgileri oluştur > API anahtarı'nı tıklayın.
  3. Yeni API anahtarınız görüntülenir.
    • API anahtarınızı uygulamanızın kodunda kullanmak için Kopyala'yı seçin. API anahtarını, projenizin kimlik bilgilerinin "API anahtarları" bölümünde de bulabilirsiniz.
    • Gelişmiş ayarları güncellemek ve API anahtarınızın kullanımını sınırlamak için Anahtarı kısıtla'yı tıklayın. Daha ayrıntılı bilgi için API anahtarı kısıtlamaları uygulama başlıklı makaleyi inceleyin.

Chat API'yi çağıran bir komut dosyası yazma

Uygulama kimlik doğrulaması ile üyeliği silme

Python

  1. Çalışma dizininizde chat_membership_delete_app.py adlı bir dosya oluşturun.
  2. chat_membership_delete_app.py dosyasına aşağıdaki kodu ekleyin:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then deletes the specified membership.
        '''
    
        # Specify service account details.
        creds = (
            service_account.Credentials.from_service_account_file('credentials.json')
            .with_scopes(SCOPES)
        )
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY')
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().members().delete(
    
            # The membership to delete.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBER with a membership name.
            # Obtain the membership name from the memberships resource of
            # Chat API. To delete a Chat app's membership, replace MEMBER
            # with app; an alias for the app calling the API.
            name='spaces/SPACE/members/MEMBER'
    
        ).execute()
    
        # Print Chat API's response in your command line interface.
        # When deleting a membership, the response body is empty.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Kodda aşağıdakileri değiştirin:

    • API_KEY: Chat API için hizmet uç noktasını oluşturmak üzere oluşturduğunuz API anahtarı.

    • SPACE: Chat API'deki spaces.list yönteminden veya bir alanın URL'sinden alabileceğiniz bir alan adı.

    • MEMBER: Bir üyelik adı. Bu bilgiyi Chat API'deki spaces.members.list yönteminden edinebilirsiniz. Bir uygulamanın üyeliğini silmek için MEMBER değerini app ile değiştirin.

  4. Çalışma dizininizde örneği derleyip çalıştırın:

    python3 chat_membership_delete_app.py

İşlem başarılı olursa yanıt metni, üyeliğin 'state': 'NOT_A_MEMBER' ile döndürülmesini sağlar. Bu, üyenin artık alanda olmadığını gösterir.

{
    "name": "spaces/SPACE/members/MEMBER",
    "state": "NOT_A_MEMBER"
}

Sınırlamalar ve dikkat edilmesi gereken noktalar

Bir alandan Google Workspace yöneticisi sıfatını alan kullanıcıları veya Google Gruplarını kaldırma

Google Workspace yöneticisiyseniz kullanıcıları, Google Gruplar'ı veya Chat uygulamalarını Google Workspace kuruluşunuzdaki herhangi bir alandan kaldırmak için DeleteMembership() yöntemini çağırabilirsiniz.

Bu yöntemi Google Workspace yöneticisi olarak çağırmak için aşağıdakileri yapın:

  • Kullanıcı kimlik doğrulamasını kullanarak yöntemi çağırın ve yönetici ayrıcalıkları kullanarak yöntemin çağrılmasını destekleyen bir yetkilendirme kapsamı belirtin.
  • İsteğinizde useAdminAccess ile true arasındaki sorgu parametresini belirtin.

Daha fazla bilgi ve örnek için Google Chat alanlarını Google Workspace yöneticisi olarak yönetme başlıklı makaleyi inceleyin.