Alandan üye çıkarma

Bu kılavuzda, Google Chat API'nin Membership kaynağındaki delete() yönteminin, üyeleri alandan kaldırmak (üyeliği silmek) için nasıl kullanılacağı açıklanmaktadır. Bir alandaki tek alan yöneticisi olan kullanıcılar kaldırı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ı'nı veya Chat uygulamalarını kaldırabilirsiniz.

Membership resource bir kullanıcının veya Google Chat uygulamasının bir alana davet edilip edilmediğini, alanda bulunup bulunmadığını ya da alanda bulunmadığını gösterir.

Ön koşullar

Node.js

Bir üyeyi kullanıcı olarak alandan 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. Yetkilendiren kullanıcının, kullanıcıyı veya Google grubunu 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ışmasına izin veren en kısıtlayıcı kapsamı seçin.
  • DeleteMembership() yöntemini çağırın.
  • Silinecek üyeliğin name kimliğini 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 silmek için:

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() yöntemini çağırarak veya alanın URL'sinden alabilirsiniz.
  • MEMBER_NAME: Üyenin name kimliği. Kimliği ListMemberships() yöntemini çağırarak alabilirsiniz.

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

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

Chat uygulaması olarak bir üyeyi alandan kaldırma

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

Bir kullanıcıyı, Google Grubu'nu veya Chat uygulamasını uygulama kimlik doğrulaması olan bir alandan kaldırmak için isteğinizde aşağıdakileri iletin:

  • chat.app.membershipsYetkilendirme kapsamını belirtin. Alan yöneticisinin üyeliğini silme yalnızca Chat uygulamaları tarafından oluşturulan alanlarda desteklenir.
  • delete yöntemini membership kaynağında çağırın.
  • Silinecek üyeliğin name kimliğini 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.

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

Uygulama kimlik doğrulaması ile üyeliği silmek için:

Python

  1. Çalışma dizininizde chat_membership_delete_app.py adlı bir dosya oluşturun.
  2. chat_membership_delete_app.py'ya 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)
    
        # 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. Koddaki aşağıdaki yerleri değiştirin:

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

    python3 chat_membership_delete_app.py

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

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

Google Workspace yöneticisi olarak kullanıcıları veya Google Grupları'nı bir alandan kaldırma

Google Workspace yöneticisiyseniz kullanıcıları, Google Grupları'nı 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ıyla yöntemi çağırın ve yöntemin yönetici ayrıcalıkları kullanılarak çağrılmasını destekleyen bir yetkilendirme kapsamı belirtin.
  • İsteğinizde useAdminAccess sorgu parametresini true olarak belirtin.

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

Sınırlamalar ve dikkat edilmesi gereken noktalar

  • Uygulama kimlik doğrulaması ile bir Chat uygulaması kullanıcıları kaldırabilir ancak Google Grupları'nı veya Chat uygulamalarını kaldıramaz.