-
Notifications
You must be signed in to change notification settings - Fork 612
/
Copy pathchat_service.create_membership.js
110 lines (100 loc) · 4.61 KB
/
chat_service.create_membership.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ** This file is automatically generated by gapic-generator-typescript. **
// ** https://github.com/googleapis/gapic-generator-typescript **
// ** All changes to this file may be overwritten. **
'use strict';
function main(parent, membership) {
// [START chat_v1_generated_ChatService_CreateMembership_async]
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* Required. The resource name of the space for which to create the
* membership.
* Format: spaces/{space}
*/
// const parent = 'abc123'
/**
* Required. The membership relation to create.
* The `memberType` field must contain a user with the `user.name` and
* `user.type` fields populated. The server will assign a resource name
* and overwrite anything specified.
* When a Chat app creates a membership relation for a human user, it must use
* certain authorization scopes and set specific values for certain fields:
* - When authenticating as a
* user (https://developers.google.com/workspace/chat/authenticate-authorize-chat-user),
* the `chat.memberships` authorization scope is required.
* - When authenticating as an
* app (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app),
* the `chat.app.memberships` authorization scope is required.
* Authenticating as an app is available in Developer
* Preview (https://developers.google.com/workspace/preview).
* - Set `user.type` to `HUMAN`, and set `user.name` with format
* `users/{user}`, where `{user}` can be the email address for the user. For
* users in the same Workspace organization `{user}` can also be the `id` of
* the person (https://developers.google.com/people/api/rest/v1/people) from
* the People API, or the `id` for the user in the Directory API. For example,
* if the People API Person profile ID for `[email protected]` is `123456789`,
* you can add the user to the space by setting the `membership.member.name`
* to `users/[email protected]` or `users/123456789`.
* Inviting users external to the Workspace organization that owns the space
* requires user
* authentication (https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
* When a Chat app creates a membership relation for itself, it must
* authenticate as a
* user (https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
* and use the `chat.memberships.app` scope, set `user.type` to `BOT`, and set
* `user.name` to `users/app`.
*/
// const membership = {}
/**
* Optional. When `true`, the method runs using the user's Google Workspace
* administrator privileges.
* The calling user must be a Google Workspace administrator with the
* manage chat and spaces conversations
* privilege (https://support.google.com/a/answer/13369245).
* Requires the `chat.admin.memberships` OAuth 2.0
* scope (https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).
* Creating app memberships or creating memberships for users outside the
* administrator's Google Workspace organization isn't supported using admin
* access.
*/
// const useAdminAccess = true
// Imports the Chat library
const {ChatServiceClient} = require('@google-apps/chat').v1;
// Instantiates a client
const chatClient = new ChatServiceClient();
async function callCreateMembership() {
// Construct request
const request = {
parent,
membership,
};
// Run request
const response = await chatClient.createMembership(request);
console.log(response);
}
callCreateMembership();
// [END chat_v1_generated_ChatService_CreateMembership_async]
}
process.on('unhandledRejection', err => {
console.error(err.message);
process.exitCode = 1;
});
main(...process.argv.slice(2));