Google Chat alanı oluşturma ve üye ekleme

Bu kılavuzda, Google Chat API'nin Space kaynağında setUp() yöntemini kullanarak Chat alanı oluşturma ve bu alana üye ekleme açıklanmaktadır.

Space Kaynağı, kullanıcıların ve Chat uygulamalarının mesaj gönderebileceği, dosya paylaşabileceği ve ortak çalışma yapabileceği bir yeri temsil eder. Birkaç tür alan vardır:

  • Doğrudan mesajlar (DM), iki kullanıcı veya bir kullanıcı ile bir Chat uygulaması arasındaki görüşmelerdir.
  • Grup sohbetleri, üç veya daha fazla kullanıcı ile sohbet uygulamaları arasındaki görüşmelerdir.
  • Adlandırılmış alanlar, kullanıcıların mesaj gönderdiği, dosya paylaştığı ve ortak çalıştığı kalıcı yerlerdir.

Aşağıdakilerden herhangi birini yapmak için setUp() yöntemini kullanabilirsiniz:

  • İlk üyeleriyle birlikte adlandırılmış bir alan oluşturun.
  • İki kişi arasında doğrudan mesaj (DM) oluşturma
  • Birden fazla kişi arasında grup mesajı oluşturma

Alan oluştururken aşağıdakileri göz önünde bulundurun:

  • Arayan (kimliği doğrulanmış) kullanıcı otomatik olarak alana eklendiğinden, istekte kullanıcının üyeliğini belirtmeniz gerekmez.
  • Doğrudan mesaj (DM) oluştururken iki kullanıcı arasında DM varsa bu DM döndürülür. Aksi takdirde bir DM oluşturulur.
  • Grup sohbeti oluştururken, istekte belirtilen üyeliklerin hiçbiri grup sohbetine başarıyla eklenmezse (örneğin, izin sorunu nedeniyle) yalnızca arayan kullanıcının bulunduğu boş bir grup sohbeti oluşturulabilir.
  • İş parçacıklı yanıtların bulunduğu alanlar oluşturamaz veya Google Workspace kuruluşunuzun dışından kullanıcılar ekleyemezsiniz.
  • İstekle sağlanan yinelenen üyelikler (arayan kullanıcı dahil), istek hatasına neden olmak yerine filtrelenir.
  • Bir Google Workspace yöneticisi Google Workspace kuruluşunun tamamı için bir Chat uygulaması yüklediğinde, Google Chat yüklenen Chat uygulaması ile kuruluştaki her kullanıcı arasında bir doğrudan mesaj oluşturur. Bu nedenle, doğrudan mesajların programatik olarak ayarlanması gerekmez. Bunun yerine, tüm DM'leri döndürmek için alanları listeleyin veya belirli bir DM hakkında ayrıntılı bilgi edinmek için doğrudan mesaj bulun.

Ön koşullar

Node.js

Python

Java

Apps Komut Dosyası

Alan oluşturma

Alan oluşturmak için isteğinizde aşağıdakileri iletin:

  • chat.spaces.create veya chat.spaces yetkilendirme kapsamını belirtin.
  • SetUpSpace() yöntemini çağırın.
  • space öğesini displayName veya spaceType gibi gerekli tüm alanlarla birlikte Space örneği olarak iletin.
  • memberships öğesini Membership örnekleri dizisi olarak iletin. Her örnek için:
    • users/{user}, bir alanı üyesi olarak eklemek için belirtin. Burada {user}, People API'deki person için {person_id} veya Directory API'deki user kimliğidir. Örneğin, People API'deki kişi resourceName, people/123456789 ise users/123456789'nin member.name olduğu bir üyelik ekleyerek kullanıcıyı alana ekleyebilirsiniz.
    • Bir grubu alan üyesi olarak eklemek için groups/{group} değerini belirtin. Burada {group}, üyelik oluşturmak istediğiniz grup kimliğidir. Grubun kimliği Cloud Identity API kullanılarak alınabilir. Örneğin, Cloud Identity API, adı groups/123456789 olan bir grup döndürürse membership.groupMember.name değerini groups/123456789 olarak ayarlayın. Google Grupları, grup sohbetine veya DM'ye değil, yalnızca adlandırılmış bir alana eklenebilir.

Arayan kullanıcı ile başka bir insan kullanıcı arasında DM oluşturmak için isteğinizde insan kullanıcının üyeliğini belirtin.

Arayan kullanıcı ile arayan uygulama arasında DM oluşturmak için space.singleUserBotDm değerini true olarak ayarlayın ve üyelik belirtmeyin. Bu yöntemi yalnızca arama uygulamasıyla DM oluşturmak için kullanabilirsiniz. Arama uygulamasını bir alanın üyesi olarak veya iki kullanıcı arasındaki mevcut bir DM'ye eklemek için üye oluşturma başlıklı makaleyi inceleyin.

Aşağıdaki örnekte, adlandırılmış bir alan oluşturulur ve iki gerçek kullanıcı (kimliği doğrulanmış kullanıcı ve başka bir kullanıcı) için alanda bir üyelik oluşturulur.

Node.js

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

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

// This sample shows how to set up a named space with one initial member
// with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    space: {
      spaceType: 'SPACE',
      // Replace DISPLAY_NAME here.
      displayName: 'DISPLAY_NAME'
    },
    memberships: [{
      member: {
        // Replace USER_NAME here.
        name: 'users/USER_NAME',
        type: 'HUMAN'
      }
    }]
  };

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

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

main().catch(console.error);

Python

chat/client-libraries/cloud/set_up_space_user_cred.py
from authentication_utils import create_client_with_user_credentials
from google.apps import chat_v1 as google_chat

SCOPES = ["https://www.googleapis.com/auth/chat.spaces.create"]

def set_up_space_with_user_cred():
    # Create a client
    client = create_client_with_user_credentials(SCOPES)

    # Initialize request argument(s)
    request = google_chat.SetUpSpaceRequest(
        space = {
            "space_type": 'SPACE',
            # Replace DISPLAY_NAME here.
            "display_name": 'DISPLAY_NAME'
        },
        memberships = [{
            "member": {
                # Replace USER_NAME here.
                "name": 'users/USER_NAME',
                "type_": 'HUMAN'
            }
        }]
    )

    # Make the request
    response = client.set_up_space(request)

    # Handle the response
    print(response)

set_up_space_with_user_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/SetUpSpaceUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.Membership;
import com.google.chat.v1.SetUpSpaceRequest;
import com.google.chat.v1.Space;
import com.google.chat.v1.User;

// This sample shows how to set up a named space with one initial member with
// user credential.
public class SetUpSpaceUserCred {

  private static final String SCOPE =
    "https://www.googleapis.com/auth/chat.spaces.create";

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithUserCredentials(
          ImmutableList.of(SCOPE))) {
      SetUpSpaceRequest.Builder request = SetUpSpaceRequest.newBuilder()
        .setSpace(Space.newBuilder()
          .setSpaceType(Space.SpaceType.SPACE)
          // Replace DISPLAY_NAME here.
          .setDisplayName("DISPLAY_NAME"))
        .addAllMemberships(ImmutableList.of(Membership.newBuilder()
          .setMember(User.newBuilder()
            // Replace USER_NAME here.
            .setName("users/USER_NAME")
            .setType(User.Type.HUMAN)).build()));
      Space response = chatServiceClient.setUpSpace(request.build());

      System.out.println(JsonFormat.printer().print(response));
    }
  }
}

Apps Komut Dosyası

chat/advanced-service/Main.gs
/**
 * This sample shows how to set up a named space with one initial member with
 * user credential.
 * 
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.spaces.create'
 * referenced in the manifest file (appsscript.json).
 */
function setUpSpaceUserCred() {
  // Initialize request argument(s)
  const space = {
    spaceType: 'SPACE',
    // TODO(developer): Replace DISPLAY_NAME here
    displayName: 'DISPLAY_NAME'
  };
  const memberships = [{
    member: {
      // TODO(developer): Replace USER_NAME here
      name: 'users/USER_NAME',
      // User type for the membership
      type: 'HUMAN'
    }
  }];

  // Make the request
  const response = Chat.Spaces.setup({ space: space, memberships: memberships });

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

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

  • DISPLAY_NAME: Yeni alanın görünen adı.
  • USER_NAME: Üyelik eklemek istediğiniz diğer kullanıcının kimliği.

Alana gitmek için alanın URL'sini oluştururken alanın kaynak kimliğini kullanın. Kaynak kimliğini, Google Chat yanıt gövdesindeki name alanından alabilirsiniz. Örneğin, alanınızın name değeri spaces/1234567 ise aşağıdaki URL'yi kullanarak alana gidebilirsiniz: https://mail.google.com/chat/u/0/#chat/space/1234567.