İlk üyelerin bulunduğu bir alan oluşturma

Bu kılavuzda, Google Chat API'nin Space kaynağındaki setUp() yönteminin Google Chat alanı oluşturmak için nasıl kullanılacağı açıklanmaktadır. Alan oluşturduğunuzda alan oluşturulur ve belirli kullanıcılar bu alana eklenir.

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

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

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

  • Arayan (kimliği doğrulanmış) kullanıcı alana otomatik olarak eklenir. Bu nedenle, istekte kullanıcının üyeliğini belirtmeniz gerekmez.
  • Doğrudan mesaj (DM) oluştururken, iki kullanıcı arasında bir doğrudan mesaj varsa DM döndürülür. Aksi takdirde bir DM oluşturulur.
  • Grup sohbeti oluştururken istekte belirtilen üyeliklerden hiçbiri grup sohbetinize başarıyla eklenemezse (ör. izin sorunu) yalnızca arayan kullanıcıyı içeren boş bir grup sohbeti oluşturulabilir.
  • Konu zinciri içeren alanlar oluşturamaz veya Google Workspace dışından kullanıcı ekleyemezsiniz.
  • İstekte yinelenen üyelikler (arayan kullanıcı dahil) sağlanmış filtrelendiğinden emin olun.

Ön koşullar

Node.js

Python

Java

Apps Komut Dosyası

Alan oluşturma

Alan oluşturmak için isteğinize aşağıdakileri ekleyin:

  • chat.spaces.create veya chat.spaces yetkilendirme kapsamını belirtin.
  • Şunu çağırın: SetUpSpace() yöntemidir.
  • spacedisplayName veya spaceType gibi gerekli tüm alanlarla birlikte Space örneği olarak iletin.
  • memberships öğesini Membership örneklerinin dizisi olarak iletin. Her örnek için:
    • Gerçek bir kullanıcıyı alan üyesi olarak eklemek için users/{user} değerini belirtin. Bu durumda {user}. person için {person_id} People API'den veya bir kullanıcının user bulun. Örneğin, People API kişisi resourceName people/123456789 ise member.name olarak users/123456789 içeren 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. Grup kimliği, Cloud Identity API kullanılarak alınabilir. Örneğin, Cloud Identity API groups/123456789 adlı bir grup döndürüyorsa membership.groupMember.name değerini groups/123456789 olarak ayarlayın. Google Grupları, ancak yalnızca adlandırılmış bir alana eklenmiş olması gerekir.

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

Arayan kullanıcı ile arama uygulaması arasında DM oluşturmak için space.singleUserBotDm tarafından true ile paylaşıldı ve üyelik belirtmeyin. Şunları yapabilirsiniz: bu yöntemi yalnızca arama uygulamasıyla bir DM ayarlamak için kullanın. Görüşmeyi eklemek için veya iki kullanıcı arasındaki mevcut bir DM'nin üyesi olarak uygulamayı görmek için üyelik oluşturabilirsiniz.

Aşağıdaki örnekte, adlandırılmış bir alan ve bu alana iki gerçek kullanıcı (kimliği doğrulanmış kullanıcı ve başka bir kullanıcı) için 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ğıdaki kodu değiştirin:

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

Alana gitmek için alanın URL'sini oluşturmak üzere alanın kaynak kimliğini kullanın. Google Chat yanıtında name alanındaki kaynak kimliğini alabilirsiniz gövde. Örneğin, alanınızın name değeri spaces/1234567 ise gidebilirsiniz alana ekleyin: https://mail.google.com/chat/u/0/#chat/space/1234567.